openapi: 3.1.0 info: title: Amika API — v0beta1 API keys Repositories API version: 0beta1 tags: - name: Repositories paths: /repositories: get: tags: - Repositories summary: List the org's repositories security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: Array of repositories. content: application/json: schema: $ref: '#/components/schemas/ListRepositoriesResponse' '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message post: tags: - Repositories summary: Create or update a repository security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRepositoryRequest' responses: '201': description: Created or upserted repository. content: application/json: schema: $ref: '#/components/schemas/Repository' '400': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message /repositories/{id}: get: tags: - Repositories summary: Read a single repository security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Repository. content: application/json: schema: $ref: '#/components/schemas/Repository' '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message /repositories/{id}/image: delete: tags: - Repositories summary: Clear repository image config security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Cleared. '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message /repositories/{id}/integrations: get: tags: - Repositories summary: List a repository's MCP integrations security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Integrations. content: application/json: schema: $ref: '#/components/schemas/RepoIntegrationsResponse' '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message put: tags: - Repositories summary: Replace a repository's MCP integrations security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertIntegrationsRequest' responses: '200': description: Updated integrations. content: application/json: schema: $ref: '#/components/schemas/RepoIntegrationsResponse' '400': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message /repositories/{id}/workflow: get: tags: - Repositories summary: Read a repository's workflow security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Workflow (or null when none configured). content: application/json: schema: $ref: '#/components/schemas/WorkflowResponse' '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message put: tags: - Repositories summary: Replace a repository's workflow security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertWorkflowRequest' responses: '200': description: Updated workflow. content: application/json: schema: $ref: '#/components/schemas/WorkflowResponse' '400': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message delete: tags: - Repositories summary: Clear a repository's workflow security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Cleared. '401': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '403': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message '404': description: Error headers: x-trace-id: description: Per-request trace id for correlating responses with logs. schema: type: string content: application/json: schema: type: object properties: type: type: string enum: - error error_code: type: string message: type: string details: type: array items: nullable: true trace_id: type: string required: - type - error_code - message components: schemas: WorkflowResponse: type: object properties: workflow: type: object nullable: true properties: default_agent: type: string nullable: true start_step: type: string steps: type: array items: type: object properties: name: type: string body: type: string on_success: type: string nullable: true on_failure: type: string nullable: true required: - name - body - on_success - on_failure created_at: anyOf: - type: string - type: string format: date-time updated_at: anyOf: - type: string - type: string format: date-time required: - default_agent - start_step - steps - created_at - updated_at required: - workflow RepoIntegrationsResponse: type: array items: type: object properties: id: type: string repository_id: type: string org_id: type: string name: type: string mcp_server_type: type: string mcp_server_url: type: string created_at: anyOf: - type: string - type: string format: date-time updated_at: anyOf: - type: string - type: string format: date-time required: - id - repository_id - org_id - name - mcp_server_type - mcp_server_url - created_at - updated_at CreateRepositoryRequest: type: object properties: repo_url: type: string minLength: 1 setup_script: type: string start_script: type: string sandbox_preset: type: string nullable: true sandbox_size: type: string nullable: true default_snapshot: type: string nullable: true required: - repo_url ListRepositoriesResponse: type: array items: $ref: '#/components/schemas/Repository' UpsertWorkflowRequest: type: object properties: default_agent: type: string nullable: true enum: - claude - codex - null start_step: type: string pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_-]{0,63}$ steps: type: array items: type: object properties: name: type: string pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_-]{0,63}$ body: type: string minLength: 1 on_success: type: string nullable: true pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_-]{0,63}$ on_failure: type: string nullable: true pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_-]{0,63}$ required: - name - body minItems: 1 required: - start_step - steps UpsertIntegrationsRequest: type: object properties: integrations: type: array items: oneOf: - type: object properties: name: type: string minLength: 1 mcp_server_type: type: string enum: - http mcp_server_url: type: string format: uri required: - name - mcp_server_type - mcp_server_url - type: object properties: name: type: string enum: - playwright mcp_server_type: type: string enum: - stdio mcp_server_url: type: string default: '' required: - name - mcp_server_type required: - integrations Repository: type: object properties: id: type: string org_id: type: string user_id: type: string nullable: true repo_url: type: string setup_script: type: string nullable: true start_script: type: string nullable: true sandbox_preset: type: string nullable: true sandbox_size: type: string nullable: true default_snapshot: type: string nullable: true created_at: anyOf: - type: string - type: string format: date-time updated_at: anyOf: - type: string - type: string format: date-time required: - id - org_id - user_id - repo_url - setup_script - start_script - sandbox_preset - sandbox_size - default_snapshot - created_at - updated_at additionalProperties: nullable: true