openapi: 3.2.0 info: title: TSOA Cider Repository API version: 1.0.0 description: Build swagger-compliant REST APIs using TypeScript and Node license: name: MIT contact: name: unknown servers: - url: https://api.prismacloud.io tags: - name: ciderRepository paths: /api/v1/vcs-repository/repositories/count: post: operationId: getVCSRepositoryCount responses: '200': description: repositories content: application/json: schema: type: number format: double description: Get repositories count summary: get the requested repositories count tags: - ciderRepository security: - CustomAuthorizer: [] parameters: [] requestBody: description: the body includes filters page configuration. required: true content: application/json: schema: $ref: '#/components/schemas/RepoRequestBody' x-bc-lambda-name: vcs-repository-api x-bc-permitted-roles: owner,admin,member,developer,auditor x-endpoint-service-level: l2 /api/v1/vcs-repository/filter-data: get: operationId: inCiderFilterData responses: '200': description: filter content: application/json: schema: $ref: '#/components/schemas/RepositoriesPageFiltersData' description: Get repositories filter data summary: get all the relevant filters fields for repository tags: - ciderRepository security: - CustomAuthorizer: [] parameters: [] x-bc-lambda-name: vcs-repository-api x-bc-permitted-roles: owner,admin,member,developer,auditor x-endpoint-service-level: l3 /api/v1/vcs-repository/filters/repositories: get: operationId: reposFilter responses: '200': description: filter content: application/json: schema: $ref: '#/components/schemas/RepositoriesFiltersReturn' description: Get vcs repositories. summary: Get all vcs repositories that exist in the db tags: - ciderRepository security: - CustomAuthorizer: [] parameters: - description: string to look for in repository full name. in: query name: search_term required: true schema: type: string - description: how many items to skip. in: query name: skip required: false schema: default: 0 format: double type: number - description: how many items to return. in: query name: limit required: false schema: default: 100 format: double type: number x-bc-lambda-name: vcs-repository-api x-bc-permitted-roles: owner,admin,member,developer,auditor x-endpoint-service-level: l2 components: schemas: RepositoriesPageFiltersData: properties: providers: items: $ref: '#/components/schemas/FilterData' type: array pipelines: items: $ref: '#/components/schemas/FilterData' type: array technologies: items: $ref: '#/components/schemas/FilterData' type: array workspaces: items: $ref: '#/components/schemas/FilterData' type: array repositories: items: allOf: - $ref: '#/components/schemas/FilterData' - properties: workspaceId: type: string fullName: type: string provider: type: string casId: type: string required: - workspaceId - fullName - provider - casId type: object type: array type: object Pagination: properties: pageSize: type: number format: double page: type: number format: double required: - pageSize - page type: object VCSRepositoriesExternalFilters: properties: appIds: items: type: string type: array importanceScore: items: $ref: '#/components/schemas/RepoImportanceScore' type: array owners: items: type: string type: array description: Array of repository owners, filter all repositories owned by specified owners images: items: type: string type: array archived: items: type: string type: array description: An array with length of 1 containing either ‘true’ or ‘false’, filter between archived and not archived repositories issues: items: type: string type: array description: 'Issues enum: [`IAC`, `SCA`, `SECRETS`, `CICD`, `SAST`] Filter repositories containing issues of the requested type' pipelines: items: type: string type: array description: Get all repositories linked to the specified pipelines lastUpdated: type: string format: date-time riskFactors: items: $ref: '#/components/schemas/RiskFactorsType' type: array workspaceIds: items: type: string type: array privacyLevels: items: $ref: '#/components/schemas/RepositoryPrivacyLabel' type: array description: CI files path technologies: items: type: string type: array description: Get repositories that make use of the specified technologies providers: items: $ref: '#/components/schemas/RepositoryProvider' type: array ids: items: type: string type: array description: VCS repository IDs name: type: string description: Search repositories by free text type: object RepoRequestBody: properties: orderBy: $ref: '#/components/schemas/OrderBy' pageConfig: $ref: '#/components/schemas/Pagination' filters: $ref: '#/components/schemas/VCSRepositoriesExternalFilters' type: object RepoData: properties: isOnPrem: type: boolean fullName: type: string casId: type: string name: type: string id: type: string required: - fullName - casId - name - id type: object RiskFactorsType: enum: - isInternetExpose - isRepositoryDeployed type: string RepoImportanceScore: enum: - HIGH - MEDIUM - LOW type: string RepositoriesFiltersReturn: properties: totalCount: type: number format: double data: items: $ref: '#/components/schemas/RepoData' type: array required: - totalCount - data type: object RepositoryProvider: type: string FilterData: properties: name: type: string id: type: string required: - name - id type: object RepositoryPrivacyLabel: type: - string - 'null' enum: - public - private - internal OrderBy: properties: isAsc: type: boolean type: type: string fieldName: type: string required: - isAsc - type - fieldName type: object