{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Repository",
  "description": "Repository schema from Palo Alto Networks Prisma Cloud Code Security API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/json-schema/prisma-cloud-code-security-api-repository-schema.json",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique repository identifier in Prisma Cloud."
    },
    "name": {
      "type": "string",
      "description": "Repository name."
    },
    "owner": {
      "type": "string",
      "description": "Repository owner or organization name."
    },
    "fullName": {
      "type": "string",
      "description": "Full repository name in owner/repo format."
    },
    "sourceType": {
      "type": "string",
      "enum": [
        "Github",
        "Gitlab",
        "Bitbucket",
        "AzureRepos",
        "githubEnterprise",
        "gitlabEnterprise",
        "bitbucketEnterprise"
      ],
      "description": "VCS provider type."
    },
    "defaultBranch": {
      "type": "string",
      "description": "Default branch of the repository."
    },
    "url": {
      "type": "string",
      "description": "URL to the repository in the VCS provider."
    },
    "isPublic": {
      "type": "boolean",
      "description": "Whether the repository is publicly accessible."
    },
    "lastScanDate": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp of the most recent scan."
    },
    "lastScanStatus": {
      "type": "string",
      "enum": [
        "completed",
        "running",
        "failed",
        "pending"
      ],
      "description": "Status of the most recent scan."
    },
    "errorCounts": {
      "type": "object",
      "description": "Count of open errors by severity.",
      "properties": {
        "critical": {
          "type": "integer"
        },
        "high": {
          "type": "integer"
        },
        "medium": {
          "type": "integer"
        },
        "low": {
          "type": "integer"
        },
        "info": {
          "type": "integer"
        }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the repository was connected."
    }
  }
}
