Palo Alto Networks Repositories API

The Repositories API from Palo Alto Networks — 6 operation(s) for repositories.

OpenAPI Specification

palo-alto-networks-repositories-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palo Alto Networks Repositories API
  version: '1.0'
  description: 'Operations tagged Repositories across 2 of this provider''s published API definitions: palo-alto-code-repositories-openapi.json, palo-alto-code-repositoryimportancescore-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.prismacloud.io
tags:
- name: Repositories
paths:
  /code/api/v1/repositories:
    get:
      description: 'Retrieve a list of integrated repositories.

        each repository item includes: id, repoName, source, owner, isPublic, creationDate'
      operationId: getRepositories
      parameters:
      - in: query
        name: errorsCount
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                  - creationDate: '2022-02-21T12:37:56.188Z'
                    defaultBranch: master
                    description: description
                    errors: null
                    id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
                    isPublic: false
                    lastScanDate: null
                    owner: yourname
                    repository: foo
                    runs: 0
                    source: Github
                  - creationDate: '2022-02-21T09:26:22.848Z'
                    defaultBranch: master
                    errors: 343
                    id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
                    isPublic: false
                    lastScanDate: '2022-02-21T09:26:43.945Z'
                    owner: yourname
                    repository: terragoat
                    runs: 2
                    source: Github
              schema:
                items:
                  $ref: '#/components/schemas/RepositoriesResponse'
                type: array
          description: repositories for customer
        '422':
          description: Request arguments validation error
        '500':
          description: Could not fetch Repositories for customer
      security:
      - CustomAuthorizer: []
      summary: List Repository List
      tags:
      - Repositories
      x-bc-required-permissions:
      - CCSProjects_READ
      - CCSDevelopmentPipelinesCodeReviews_READ
      - CCSDevelopmentPipelinesProjects_READ
      - CCSSupplyChain_READ
      x-codeSamples:
      - lang: Python + Requests
        source: 'import requests


          url = "http://undefinedundefined/code/api/v1/repositories"


          querystring = {"errorsCount":"SOME_STRING_VALUE"}


          headers = {"authorization": "REPLACE_KEY_VALUE"}


          response = requests.request("GET", url, headers=headers, params=querystring)


          print(response.text)'
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'http://undefinedundefined/code/api/v1/repositories?errorsCount=SOME_STRING_VALUE' \\\n  --header 'authorization: REPLACE_KEY_VALUE'"
    post:
      description: "Onboard a list of repositories for a given integration\nParameters:\n\n| Name | Required                | Type          | In   | Description                                                                                                                                   |\n|------|-------------------------|---------------|------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| id   | id or type are required | string        | body | ID of the integration to update                                                                                                               |\n| type | id or type are required | string        | body | Type of the integration to update <br/> enum (github, githubEnterprise, gitlab, gitlabEnterprise, bitbucket, bitbucketEnterprise, azureRepos) |\n| data | yes                     | array<string> | body | List of repositories to update the integration                                                                                                |\n\nIn case both id and type provided only id will take into consideration\n\nexample1:\n```json\n{\n\"id\": \"123123-123123-123123-123123\",\n\"data\": [\"orevron/terragoat\", \"orevron/platform\"]\n}\n```\nexample2:\n```json\n{\n\"type\": \"github\",\n\"data\": [\"orevron/terragoat\", \"orevron/platform\"]\n}\n```\nresponse:\nexample1:\n```json\n{ \"success\": true }\n```\nexample2:\n```json\n{\n    \"success\": false,\n    \"integrations\": [\n            { \"id\": \"123-123-123\", \"created\": \"2022-01-16T17:09:14.167Z\", \"updateBy\": \"oevron@paloaltonetworks.com\" },\n            { \"id\": \"321-321-321\", \"created\": \"2022-01-12T17:10:14.167Z\", \"updateBy\": \"oevron@paloaltonetworks.com\" }\n    ]\n}\n```\nexample3:\n```json\n{ \"success\": false, \"message\": \"ID or type of integration must be provided\"}\n```\nstatus code 206 when more than one integration found for provided type\nstatus code 404 when integration is not found within the customer integrations\nstatus code 422 when both id and type not provided\nstatus code 500 when something went wrong with the server"
      operationId: updateRepositories
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateRepositoriesBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateRepoResponse'
          description: Repositories Updated Successfully
        '422':
          description: Request arguments validation error
      security:
      - CustomAuthorizer: []
      summary: Integrate Multiple Repositories
      tags:
      - Repositories
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"http://undefinedundefined/code/api/v1/repositories\"\n\npayload = {\n    \"data\": [\"string\"],\n    \"id\": \"string\",\n    \"type\": \"github\"\n}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url http://undefinedundefined/code/api/v1/repositories \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"data\":[\"string\"],\"id\":\"string\",\"type\":\"github\"}'"
  /code/api/v1/repositories/branches:
    get:
      description: 'Get a list with all the repositories branches for the requesting customer

        The returned branches are branches that has at list one CICD runs

        each branches item includes: name, creationDate, CICD status'
      operationId: getBranches
      parameters:
      - in: query
        name: repoOwner
        required: true
        schema:
          type: string
      - in: query
        name: repoName
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                    branches:
                    - creationDate: '2021-07-13T14:22:53.964Z'
                      defaultBranch: false
                      name: some_branch
                    - creationDate: null
                      defaultBranch: true
                      name: master
                    source: Gitlab
              schema:
                $ref: '#/components/schemas/BranchesResponse'
          description: repository branches
        '400':
          description: Could not get branches, check GET query params
        '422':
          description: Request arguments validation error
        '500':
          description: Could not fetch Repositories for customer
      security:
      - CustomAuthorizer: []
      summary: Get Repository Branches with CICD Runs
      tags:
      - Repositories
      x-codeSamples:
      - lang: Python + Requests
        source: 'import requests


          url = "http://undefinedundefined/code/api/v1/repositories/branches"


          querystring = {"repoOwner":"SOME_STRING_VALUE","repoName":"SOME_STRING_VALUE"}


          headers = {"authorization": "REPLACE_KEY_VALUE"}


          response = requests.request("GET", url, headers=headers, params=querystring)


          print(response.text)'
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'http://undefinedundefined/code/api/v1/repositories/branches?repoOwner=SOME_STRING_VALUE&repoName=SOME_STRING_VALUE' \\\n  --header 'authorization: REPLACE_KEY_VALUE'"
  /code/api/v1/repositories/query:
    post:
      description: Get a mapping between repository ids provided to the corresponding repositories names
      operationId: getQueryRepositories
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryRepositoriesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                  - id: 17758008-49b2-46ad-9795-f5f6efb8492f
                    repository: aws-cloud
                  - id: 16df32d8-48ff-4dbd-8a6b-782fdfa6dbb3
                    repository: CountTrees
              schema:
                anyOf:
                - items:
                    $ref: '#/components/schemas/RepoIdToRepoName'
                  type: array
                - type: string
          description: repositories mapping
        '422':
          description: Request arguments validation error
        '500':
          description: Could not fetch query Repositories for customer
      security:
      - CustomAuthorizer: []
      summary: Get Repository Name to UUID Mapping of Requested UUIDs
      tags:
      - Repositories
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"http://undefinedundefined/code/api/v1/repositories/query\"\n\npayload = {\"repositoriesIds\": [\"string\"]}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url http://undefinedundefined/code/api/v1/repositories/query \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"repositoriesIds\":[\"string\"]}'"
  /code/api/v1/repositories/search:
    get:
      description: 'Get a list with all the repositories of customer

        Use filter params to search among the various repositories'
      operationId: searchRepositories
      parameters:
      - in: query
        name: id
        required: false
        schema:
          type: string
      - in: query
        name: selected
        required: false
        schema:
          type: boolean
      - in: query
        name: source
        required: false
        schema:
          type: string
      - in: query
        name: repoOwner
        required: false
        schema:
          type: string
      - in: query
        name: repoName
        required: false
        schema:
          type: string
      - in: query
        name: limit
        required: false
        schema:
          format: int32
          maximum: 100
          minimum: 1
          type: integer
      - in: query
        name: offset
        required: false
        schema:
          format: int32
          minimum: 0
          type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                Example 1:
                  value:
                    data:
                    - creationDate: '2021-11-02T10:19:56.643Z'
                      customerName: mock_customer
                      defaultBranch: main
                      id: aaaaaaaa-bbbbbbbb-ccccccc-ddddddd
                      isPublic: false
                      lastScanDate: '2021-11-02T10:19:56.643Z'
                      owner: repo_owner
                      repository: repo_name
                      selected: true
                      source: Github
                      url: https://github.com/repo_owner/repo_name
                    hasNext: true
              schema:
                $ref: '#/components/schemas/GetRepositorySearchResponse'
          description: repositories search
        '422':
          description: Request arguments validation error
      security:
      - CustomAuthorizer: []
      summary: Search Repositories
      tags:
      - Repositories
      x-codeSamples:
      - lang: Python + Requests
        source: 'import requests


          url = "http://undefinedundefined/code/api/v1/repositories/search"


          querystring = {"id":"SOME_STRING_VALUE","selected":"SOME_BOOLEAN_VALUE","source":"SOME_STRING_VALUE","repoOwner":"SOME_STRING_VALUE","repoName":"SOME_STRING_VALUE","limit":"SOME_INTEGER_VALUE","offset":"SOME_INTEGER_VALUE"}


          headers = {"authorization": "REPLACE_KEY_VALUE"}


          response = requests.request("GET", url, headers=headers, params=querystring)


          print(response.text)'
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'http://undefinedundefined/code/api/v1/repositories/search?id=SOME_STRING_VALUE&selected=SOME_BOOLEAN_VALUE&source=SOME_STRING_VALUE&repoOwner=SOME_STRING_VALUE&repoName=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE' \\\n  --header 'authorization: REPLACE_KEY_VALUE'"
  /code/api/v1/vcs-repository/repositories:
    post:
      description: Get repositories page
      operationId: getVCSRepositoryPage
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepoRequestBody'
        description: the body includes filters page configuration.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - items:
                    $ref: '#/components/schemas/RepoInfo'
                  type: array
                - items:
                    $ref: '#/components/schemas/RdsRepoInfo'
                  type: array
          description: repositories
        '422':
          description: Request arguments validation error
      security:
      - CustomAuthorizer: []
      summary: Get Repositories Page
      tags:
      - Repositories
      x-codeSamples:
      - lang: Python + Requests
        source: "import requests\n\nurl = \"http://undefinedundefined/code/api/v1/vcs-repository/repositories\"\n\npayload = {\n    \"filters\": {\n        \"archived\": [\"string\"],\n        \"casIds\": [\"string\"],\n        \"ciFiles\": [\"string\"],\n        \"customerName\": \"string\",\n        \"ids\": [\"string\"],\n        \"images\": [\"string\"],\n        \"issues\": [\"string\"],\n        \"lastUpdated\": \"2019-08-24T14:15:22Z\",\n        \"name\": \"string\",\n        \"pipelines\": [\"string\"],\n        \"privacyLevels\": [\"public\"],\n        \"providers\": [\"string\"],\n        \"riskFactors\": [\"isInternetExpose\"],\n        \"technologies\": [\"string\"],\n        \"workspaceIds\": [\"string\"]\n    },\n    \"orderBy\": {\n        \"fieldName\": \"string\",\n        \"isAsc\": True,\n        \"type\": \"string\"\n    },\n    \"pageConfig\": {\n        \"page\": 0,\n        \"pageSize\": 0\n    }\n}\nheaders = {\n    \"content-type\": \"application/json\",\n    \"authorization\": \"REPLACE_KEY_VALUE\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url http://undefinedundefined/code/api/v1/vcs-repository/repositories \\\n  --header 'authorization: REPLACE_KEY_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"filters\":{\"archived\":[\"string\"],\"casIds\":[\"string\"],\"ciFiles\":[\"string\"],\"customerName\":\"string\",\"ids\":[\"string\"],\"images\":[\"string\"],\"issues\":[\"string\"],\"lastUpdated\":\"2019-08-24T14:15:22Z\",\"name\":\"string\",\"pipelines\":[\"string\"],\"privacyLevels\":[\"public\"],\"providers\":[\"string\"],\"riskFactors\":[\"isInternetExpose\"],\"technologies\":[\"string\"],\"workspaceIds\":[\"string\"]},\"orderBy\":{\"fieldName\":\"string\",\"isAsc\":true,\"type\":\"string\"},\"pageConfig\":{\"page\":0,\"pageSize\":0}}'"
  /api/v1/vcs-repository/repositories:
    get:
      operationId: getVCSRepository
      responses:
        '200':
          description: repositories
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RepoInfo'
                type: array
      description: Get all repositories and their metadata (Technologies, pipelines, contributors, etc..)
      summary: Get repositories (repositories page)
      tags:
      - Repositories
      security:
      - CustomAuthorizer: []
      parameters:
      - description: Get repositories connected to CI pipelines
        in: query
        name: include_pipelines
        required: false
        schema:
          type: boolean
      - description: Get repositories with deployed images
        in: query
        name: include_docker_images
        required: false
        schema:
          type: boolean
      - description: order by repositories
        in: query
        name: order_by
        required: false
        schema:
          type: string
      - description: requested page
        in: query
        name: page
        required: false
        schema:
          format: double
          type: number
      - description: page size
        in: query
        name: page_size
        required: false
        schema:
          format: double
          type: number
      - description: Get repositories by name
        in: query
        name: name
        required: false
        schema:
          type: string
      - description: Get repositories by repository ID
        in: query
        name: ids
        required: false
        schema:
          type: array
          items:
            type: string
      - description: Get repositories by provider
        in: query
        name: providers
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/RepositoryProvider'
      - description: Get repositories by technologies
        in: query
        name: technologies
        required: false
        schema:
          type: array
          items:
            type: string
      - description: Get repositories by CI type
        in: query
        name: ci_files
        required: false
        schema:
          type: array
          items:
            type: string
      - description: Get repositories by private or public
        in: query
        name: privacy_levels
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/RepositoryPrivacyLabel'
      - description: Get repositories by workspace/integration ID
        in: query
        name: workspace_id
        required: false
        schema:
          type: string
      - description: filter by last updated repositories
        in: query
        name: last_updated
        required: false
        schema:
          format: date-time
          type: string
      - description: filter ignored repos
        in: query
        name: should_filter_ignored_repos
        required: false
        schema:
          type: boolean
      x-bc-lambda-name: vcs-repository-api
      x-bc-permitted-roles: owner,admin,member,developer,auditor
    post:
      operationId: getVCSRepositoryPage
      responses:
        '200':
          description: repositories
          content:
            application/json:
              schema:
                anyOf:
                - items:
                    $ref: '#/components/schemas/RepoInfo'
                  type: array
                - items:
                    $ref: '#/components/schemas/RdsRepoInfo_2'
                  type: array
      description: Get repositories page
      summary: get repositories page
      tags:
      - Repositories
      security:
      - CustomAuthorizer: []
      parameters: []
      requestBody:
        description: the body includes filters page configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepoRequestBody_2'
      x-bc-lambda-name: vcs-repository-api
      x-bc-permitted-roles: owner,admin,member,developer,auditor
      x-bc-docs-scope: standalone,prisma
    servers:
    - url: https://api.prismacloud.io
components:
  schemas:
    SeverityIssues:
      properties:
        CRITICAL:
          anyOf:
          - format: double
            type: number
          - $ref: '#/components/schemas/SecurityModule'
        HIGH:
          anyOf:
          - format: double
            type: number
          - $ref: '#/components/schemas/SecurityModule'
        INFO:
          anyOf:
          - format: double
            type: number
          - $ref: '#/components/schemas/SecurityModule'
        LOW:
          anyOf:
          - format: double
            type: number
          - $ref: '#/components/schemas/SecurityModule'
        MEDIUM:
          anyOf:
          - format: double
            type: number
          - $ref: '#/components/schemas/SecurityModule'
      type: object
    Contributor:
      properties:
        contributionsCounts:
          description: Number of contributions
          format: double
          type: number
        id:
          type: string
        lastPush:
          format: double
          type: number
        name:
          description: Contributor name
          type: string
        permission:
          description: Contributor permission
          type: string
      required:
      - contributionsCounts
      - name
      - id
      type: object
    IVCSRepository:
      additionalProperties: false
      properties:
        casId:
          type: string
        ciFiles:
          description: CI files path
          items:
            type: string
          type: array
        customerName:
          description: Customer Prisma ID
          type: string
        defaultBranch:
          description: Default branch
          type: string
        defaultGithubActionsWorkflowPermission:
          enum:
          - read
          - write
          type: string
        failedCustomerPRs:
          format: double
          type: number
        fullName:
          description: Repository full name
          type: string
        hasCoderOwner:
          description: Repository contains code owner file (True/False)
          type: boolean
        id:
          description: VCS repository ID
          type: string
        isAllGithubActionsAllowed:
          type: boolean
        isArchived:
          description: Archived repository (True/False)
          type: boolean
        isForkingAllowed:
          description: Is forking allowed in the repository
          type: boolean
        isGithubActionsEnabled:
          description: Is Github Actions enabled in the repository
          type: boolean
        isRequiresCommitSignatures:
          type: boolean
        isRequiresStatusChecks:
          type: boolean
        isRestrictsPushes:
          type: boolean
        lastUpdated:
          description: VCS Repository last update time
          type: string
        name:
          description: VCS Repository short name
          type: string
        openFixPRs:
          format: double
          type: number
        originId:
          type: string
        privacyLevel:
          $ref: '#/components/schemas/RepositoryPrivacyLabel'
        provider:
          $ref: '#/components/schemas/RepositoryProvider'
        repositorySize:
          description: VCS Repository size
          format: double
          type: number
        sessionId:
          type: string
        totalCommitsCount:
          description: Total commits count
          format: double
          type: number
        totalContributorsCount:
          description: Total contributors count
          format: double
          type: number
        totalCustomerPRs:
          format: double
          type: number
        type:
          enum:
          - VCSRepository
          type: string
        url:
          description: VCS Repository URL
          type: string
        workspaceId:
          description: VCS workspace/integration ID
          type: string
        workspaceName:
          description: VCS workspace/integration name
          type: string
      required:
      - id
      - customerName
      - type
      - failedCustomerPRs
      - totalCustomerPRs
      - ciFiles
      - url
      - casId
      type: object
    QueryRepositoriesRequest:
      additionalProperties: false
      properties:
        repositoriesIds:
          items:
            type: string
          type: array
      required:
      - repositoriesIds
      type: object
    RepoInfo:
      allOf:
      - $ref: '#/components/schemas/IVCSRepository'
      - properties:
          categorizedTechnologies:
            $ref: '#/components/schemas/Technologies'
          ciInstances:
            additionalProperties:
              $ref: '#/components/schemas/ICiInstanceInfo'
            properties: {}
            type: object
          contributors:
            items:
              $ref: '#/components/schemas/Contributor'
            type: array
          contributorsCount:
            format: double
            type: number
          dockerImages:
            items:
              $ref: '#/components/schemas/DockerImage'
            type: array
          issues:
            $ref: '#/components/schemas/Issues'
          weeklyCommitOnPrs:
            items:
              $ref: '#/components/schemas/WeeklyCommitOnPR'
            type: array
        required:
        - weeklyCommitOnPrs
        - issues
        type: object
    BranchesResponse:
      additionalProperties: false
      properties:
        branches:
          items:
            $ref: '#/components/schemas/Branch'
          type: array
        source:
          type: string
      required:
      - source
      - branches
      type: object
    Technologies:
      properties:
        CICD:
          $ref: '#/components/schemas/Technology'
        Configuration:
          $ref: '#/components/schemas/Technology'
        Data:
          $ref: '#/components/schemas/Technology'
        Devops:
          $ref: '#/components/schemas/Technology'
        Documentation:
          $ref: '#/components/schemas/Technology'
        License:
          $ref: '#/components/schemas/Technology'
        Markup:
          $ref: '#/components/schemas/Technology'
        PackageManager:
          $ref: '#/components/schemas/Technology'
        Programming:
          $ref: '#/components/schemas/Technology'
        Prose:
          $ref: '#/components/schemas/Technology'
        Unknown:
          $ref: '#/components/schemas/Technology'
      type: object
    integrationResponse:
      additionalProperties: false
      properties:
        created:
          type: string
        id:
          type: string
        updatedBy:
          type: string
      required:
      - id
      - created
      - updatedBy
      type: object
    Branch:
      additionalProperties: false
      properties:
        creationDate:
          type:
          - string
          - 'null'
        defaultBranch:
          type: boolean
        name:
          type: string
      required:
      - name
      - creationDate
      - defaultBranch
      type: object
    WeeklyCommitOnPrs:
      properties:
        branchName:
          type: string
        currWeeklyCommits:
          format: double
          type: number
        prevWeeklyCommits:
          format: double
          type: number
      required:
      - prevWeeklyCommits
      - currWeeklyCommits
      - branchName
      type: object
    RepositoryPrivacyLabel:
      enum:
      - public
      - private
      - internal
      type:
      - string
      - 'null'
    Issues:
      allOf:
      - $ref: '#/components/schemas/SeverityIssues'
      - properties:
          moduleName:
            $ref: '#/components/schemas/SecurityModule'
        type: object
    Repository:
      additionalProperties: false
      properties:
        creationDate:
          type: string
        customerName:
          type: string
        defaultBranch:
          type: string
        id:
          type: string
        isPublic:
          type: boolean
        lastScanDate:
          type: string
        owner:
          type: string
        repository:
          type: string
        selected:
          type: boolean
        source:
          type: string
        url:
          type: string
      required:
      - id
      - repository
      - source
      - customerName
      - owner
      - selected
      type: object
    ICiInstanceInfo:
      additionalProperties: false
      properties:
        ciType:
          $ref: '#/components/schemas/CIType'
          description: CI pipeline type
        customerName:
          description: Customer Prisma ID
          type: string
        id:
          type: string
        name:
          description: CI pipeline name
          type: string
        pipelines:
          items:
            $ref: '#/components/schemas/PipelineInfo'
          type: array
      required:
      - ciType
      - customerName
      - id
      - name
      - pipelines
      type: object
    Pagination:
      properties:
        page:
          format: double
          type: number
        pageSize:
          format: double
          type: number
      required:
      - pageSize
      - page
      type: object
    ModuleIssues:
      properties:
        CICD:
          allOf:
          - $ref: '#/components/schemas/SeverityIssues'
          - properties:
              TOTAL:
                format: double
                type: number
            required:
            - TOTAL
            type: object
        IAC:
          allOf:
          - $ref: '#/components/schemas/SeverityIssues'
          - properties:
              TOTAL:
                format: double
                type: number
            required:
            - TOTAL
            type: object
        SCA:
          allOf:
          - $ref: '#/components/schemas/SeverityIssues'
          - properties:
              TOTAL:
                format: double
                type: number
            required:
            - TOTAL
            type: object
        SECRETS:
          allOf:
          - $ref: '#/components/schemas/SeverityIssues'
          - properties:
              TOTAL:
                format: double
                type: number
            required:
            - TOTAL
            type: object
      type: object
    RepoRequestBody:
      properties:
        filters:
          $ref: '#/components/schemas/RepoRequestFilters'
        orderBy:
          $ref: '#/components/schemas/OrderBy'
        pageConfig:
          $ref: '#/components/schemas/Pagination'
      type: object
    CiInstancesHash:
      additionalProperties:
        $ref: '#/components/schemas/ICiInstanceInfo'
      properties: {}
      type: object
    RiskFactorsType:
      enum:
      - isInternetExpose
      - isRepositoryDeployed
      type: string
    WeeklyCommitOnPR:
      properties:
        branchName:
          type: string
        currWeeklyCommits:
          format: double
          type: number
        prevWeeklyCommits:
          format: double
          type: number
      required:
      - prevWeeklyCommits
      - currWeeklyCommits
      - branchName
      type: object
    RepoRequestFilters:
      properties:
        archived:
          description: An array with length of 1 containing either ‘true’ or ‘false’, filter between archived and not archived repositories
          items:
            type: string
          type: array
        casIds:
          items:
      

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-repositories-api-openapi.yml