Snyk · Schema

DryRunJobResponseAttributes

Attributes for a dry run job response

SecurityDevSecOpsVulnerability ManagementApplication SecuritySoftware Composition AnalysisSASTContainer SecurityIaC

Properties

Name Type Description
completed_at string When the job completed processing (only present when status is completed or failed)
error_message string Error message if the job failed (only present when status is failed)
policy object
result object
started_at string When the job started processing (only present when status is running, completed, or failed)
status string The current status of the dry run job
View JSON Schema on GitHub

JSON Schema

snyk-dry-run-job-response-attributes-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/snyk/main/json-schema/snyk-dry-run-job-response-attributes-schema.json",
  "title": "DryRunJobResponseAttributes",
  "description": "Attributes for a dry run job response",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/snyk-containerregistryimportpolicy-api-openapi.yml#/components/schemas/DryRunJobResponseAttributes",
  "properties": {
    "completed_at": {
      "description": "When the job completed processing (only present when status is completed or failed)",
      "format": "date-time",
      "type": "string"
    },
    "error_message": {
      "description": "Error message if the job failed (only present when status is failed)",
      "type": "string"
    },
    "policy": {
      "$ref": "#/$defs/ContainerRegistryPolicy"
    },
    "result": {
      "$ref": "#/$defs/DryRunPolicyResult"
    },
    "started_at": {
      "description": "When the job started processing (only present when status is running, completed, or failed)",
      "format": "date-time",
      "type": "string"
    },
    "status": {
      "description": "The current status of the dry run job",
      "enum": [
        "pending",
        "running",
        "completed",
        "failed"
      ],
      "type": "string"
    }
  },
  "required": [
    "status",
    "policy"
  ],
  "type": "object",
  "$defs": {
    "ContainerRegistryPolicy": {
      "description": "A policy",
      "properties": {
        "delete_images": {
          "description": "Delete images no longer matching the policy. False by default.",
          "type": "boolean"
        },
        "import_policy": {
          "$ref": "#/$defs/PolicyComponent"
        },
        "name": {
          "type": "string"
        },
        "schedule_frequency_hours": {
          "description": "The frequency of the import policy in hours.",
          "minimum": 2,
          "type": "integer"
        }
      },
      "required": [
        "name",
        "import_policy"
      ],
      "type": "object"
    },
    "DryRunPolicyResult": {
      "description": "The results of a dry run policy execution",
      "properties": {
        "images_to_delete": {
          "description": "List of images grouped by repositories that would be deleted based on the policy rules (only populated when delete_images is enabled)",
          "items": {
            "$ref": "#/$defs/RepositoryGroup"
          },
          "type": "array"
        },
        "images_to_import": {
          "description": "List of images grouped by repositories that would be imported based on the policy rules",
          "items": {
            "$ref": "#/$defs/RepositoryGroup"
          },
          "type": "array"
        },
        "total_images_processed": {
          "description": "Total number of images that were evaluated during the policy test, including both matching and non-matching images",
          "type": "integer"
        }
      },
      "required": [
        "images_to_import",
        "images_to_delete",
        "total_images_processed"
      ],
      "type": "object"
    },
    "ImageTag": {
      "description": "A tag within a repository",
      "properties": {
        "observed_at": {
          "description": "When the image was first observed",
          "format": "date-time",
          "type": "string"
        },
        "tag": {
          "description": "The tag name",
          "type": "string"
        }
      },
      "required": [
        "tag"
      ],
      "type": "object"
    },
    "PolicyComponent": {
      "description": "A component policy, an overall policy is made up of one or more component policies combined in various ways.",
      "properties": {
        "name": {
          "type": "string"
        },
        "policy": {
          "type": "object"
        },
        "sub_policies": {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "type"
      ],
      "type": "object"
    },
    "RepositoryGroup": {
      "description": "A repository with its matching tags grouped together",
      "properties": {
        "repository": {
          "description": "The repository name",
          "type": "string"
        },
        "tags": {
          "items": {
            "$ref": "#/$defs/ImageTag"
          },
          "type": "array"
        }
      },
      "required": [
        "repository",
        "tags"
      ],
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/snyk-dry-run-job-response-attributes"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.