{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the artifact.",
      "minLength": 1,
      "maxLength": 256
    },
    "digest": {
      "type": "string",
      "description": "The digest of the artifact (algorithm:hex-encoded-digest).",
      "minLength": 71,
      "maxLength": 71,
      "pattern": "^sha256:[a-f0-9]{64}$"
    },
    "version": {
      "type": "string",
      "description": "The artifact version.",
      "minLength": 1,
      "maxLength": 100,
      "x-multi-segment": true
    },
    "artifact_url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://",
      "description": "The URL where the artifact is stored."
    },
    "path": {
      "type": "string",
      "format": "uri",
      "description": "The path of the artifact."
    },
    "registry_url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://",
      "description": "The base URL of the artifact registry.",
      "minLength": 1
    },
    "repository": {
      "type": "string",
      "description": "The repository name within the registry."
    },
    "status": {
      "type": "string",
      "description": "The status of the artifact (e.g., active, inactive).",
      "enum": [
        "active",
        "eol",
        "deleted"
      ],
      "default": "active"
    },
    "github_repository": {
      "type": "string",
      "description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.\n\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter.",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9.\\-_]+$"
    }
  },
  "required": [
    "name",
    "digest",
    "registry_url"
  ],
  "$schema": "https://json-schema.org/draft/2019-09/schema"
}