openapi: 3.1.0 info: title: Capy automations projects API version: 1.0.0 servers: - url: https://capy.ai/api security: - bearerAuth: [] tags: - name: projects paths: /v1/projects: get: operationId: listProjects summary: List projects description: List projects available to the API token. tags: - projects security: - bearerAuth: [] parameters: - name: limit in: query required: false schema: default: 20 type: integer minimum: 1 maximum: 100 - name: cursor in: query required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListProjectsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' '500': $ref: '#/components/responses/InternalError' /v1/projects/{projectId}: get: operationId: getProject summary: Get project description: Get a single project. tags: - projects security: - bearerAuth: [] parameters: - name: projectId in: path required: true description: Project ID. schema: type: string example: proj_123 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Project' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' '500': $ref: '#/components/responses/InternalError' components: responses: InternalError: description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' ValidationError: description: Validation error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: Project: $schema: https://json-schema.org/draft/2020-12/schema type: object properties: id: type: string name: type: string description: anyOf: - type: string - type: 'null' taskCode: type: string repos: type: array items: type: object properties: repoFullName: type: string branch: type: string required: - repoFullName - branch additionalProperties: false createdAt: type: string updatedAt: type: string required: - id - name - description - taskCode - repos - createdAt - updatedAt additionalProperties: false ListProjectsResponse: $schema: https://json-schema.org/draft/2020-12/schema type: object properties: items: type: array items: type: object properties: id: type: string name: type: string description: anyOf: - type: string - type: 'null' taskCode: type: string repos: type: array items: type: object properties: repoFullName: type: string branch: type: string required: - repoFullName - branch additionalProperties: false createdAt: type: string updatedAt: type: string required: - id - name - description - taskCode - repos - createdAt - updatedAt additionalProperties: false nextCursor: anyOf: - type: string - type: 'null' hasMore: type: boolean required: - items - nextCursor - hasMore additionalProperties: false ErrorResponse: $schema: https://json-schema.org/draft/2020-12/schema type: object properties: error: type: object properties: code: type: string message: type: string details: {} required: - code - message additionalProperties: false required: - error additionalProperties: false securitySchemes: bearerAuth: type: http scheme: bearer description: API token (capy_xxxx). Generate at capy.ai/settings/tokens