openapi: 3.1.0 info: title: Amika API — v0beta1 API keys Secrets API version: 0beta1 tags: - name: Secrets paths: /secrets: get: tags: - Secrets summary: List secrets visible to the caller security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: Secrets visible to the caller (user-scope + org-scope). content: application/json: schema: $ref: '#/components/schemas/ListSecretsResponse' '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: - Secrets summary: Create a generic secret security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSecretRequest' responses: '201': description: Created secret summary. content: application/json: schema: $ref: '#/components/schemas/SecretSummary' '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 /secrets/{id}: put: tags: - Secrets summary: Update a generic secret security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSecretRequest' responses: '200': description: Updated secret summary. content: application/json: schema: $ref: '#/components/schemas/SecretSummary' '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: - Secrets summary: Delete a generic secret security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Deleted. '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 /secrets/claude: get: tags: - Secrets summary: List Claude credentials security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: Claude credential summaries. content: application/json: schema: $ref: '#/components/schemas/ListCredentialsResponse' '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: - Secrets summary: Create a Claude credential security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCredentialRequest' responses: '201': description: Created Claude credential. content: application/json: schema: $ref: '#/components/schemas/SecretSummary' '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 '409': 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 /secrets/claude/{id}: delete: tags: - Secrets summary: Delete a Claude credential security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Deleted. '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 /secrets/claude/{id}/reveal: post: tags: - Secrets summary: Reveal a Claude credential value security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Credential value. content: application/json: schema: $ref: '#/components/schemas/RevealSecretResponse' '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 /secrets/codex: get: tags: - Secrets summary: List Codex credentials security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: Codex credential summaries. content: application/json: schema: $ref: '#/components/schemas/ListCredentialsResponse' '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: - Secrets summary: Create a Codex credential security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCodexCredentialRequest' responses: '201': description: Created Codex credential. content: application/json: schema: $ref: '#/components/schemas/SecretSummary' '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 '409': 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 /secrets/codex/{id}: delete: tags: - Secrets summary: Delete a Codex credential security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '204': description: Deleted. '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 /secrets/codex/{id}/reveal: post: tags: - Secrets summary: Reveal a Codex credential value security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Credential value. content: application/json: schema: $ref: '#/components/schemas/RevealSecretResponse' '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 /secrets/opencode: get: tags: - Secrets summary: Read OpenCode credential status security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: OpenCode credential status. content: application/json: schema: $ref: '#/components/schemas/OpencodeStatus' '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: - Secrets summary: Save OpenCode credentials security: - bearerAuth: [] - cookieAuth: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertOpencodeRequest' responses: '201': description: Saved. content: application/json: schema: $ref: '#/components/schemas/SecretSummary' '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 delete: tags: - Secrets summary: Delete OpenCode credentials security: - bearerAuth: [] - cookieAuth: [] responses: '204': description: Deleted. '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 /secrets/opencode/reveal: post: tags: - Secrets summary: Reveal OpenCode credentials security: - bearerAuth: [] - cookieAuth: [] responses: '200': description: Credentials. content: application/json: schema: $ref: '#/components/schemas/RevealSecretResponse' '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 /secrets/{id}/reveal: post: tags: - Secrets summary: Reveal a generic secret value security: - bearerAuth: [] - cookieAuth: [] parameters: - schema: type: string minLength: 1 required: true name: id in: path responses: '200': description: Secret value. content: application/json: schema: $ref: '#/components/schemas/RevealSecretResponse' '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: SecretSummary: type: object properties: id: type: string org_id: type: string user_id: type: string name: type: string description: type: string nullable: true scope: type: string enum: - user - org 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 - name - description - scope - created_at - updated_at UpsertOpencodeRequest: type: object properties: password: type: string passwordEnabled: type: boolean required: - password - passwordEnabled ListSecretsResponse: type: array items: $ref: '#/components/schemas/SecretSummary' UpdateSecretRequest: type: object properties: name: type: string minLength: 1 value: type: string minLength: 1 scope: type: string enum: - user - org description: type: string nullable: true ListCredentialsResponse: type: array items: type: object properties: id: type: string name: type: string type: type: string enum: - oauth - api_key scope: type: string enum: - user - org required: - id - name - type - scope RevealSecretResponse: type: object properties: value: type: string required: - value CreateCredentialRequest: type: object properties: name: type: string minLength: 1 value: type: string minLength: 1 type: type: string enum: - oauth - api_key scope: type: string enum: - user - org required: - name - value - type CreateCodexCredentialRequest: type: object properties: name: type: string minLength: 1 value: type: string minLength: 1 type: type: string enum: - oauth - api_key scope: type: string enum: - user - org required: - name - value - type CreateSecretRequest: type: object properties: name: type: string minLength: 1 value: type: string minLength: 1 scope: type: string enum: - user - org description: type: string nullable: true required: - name - value OpencodeStatus: type: object properties: configured: type: boolean secretId: type: string nullable: true passwordEnabled: type: boolean required: - configured