Replicas Credentials API

Manage coding-agent credentials for an organization or the authenticated user

OpenAPI Specification

replicas-credentials-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Replica Analytics Credentials API
  version: 2.0.0
  description: The Replica API allows you to programmatically manage cloud workspaces for AI agents. Use this API to manage environments (the org-scoped primitive workspaces are created from — including variables, files, skills, MCPs, warm hooks, start hooks, and warm pools), create and manage replicas, send messages, manage chats, stream events, read connected repositories and repository sets, and configure automations.
servers:
- url: https://api.tryreplicas.com
  description: Production API
security:
- apiKey: []
tags:
- name: Credentials
  description: Manage coding-agent credentials for an organization or the authenticated user
paths:
  /v1/opencode-go/credentials:
    get:
      operationId: getOpenCodeGoOrganizationCredentials
      summary: Get organization OpenCode Go credential status
      tags:
      - Credentials
      responses:
        '200':
          description: Credential status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      operationId: setOpenCodeGoOrganizationCredentials
      summary: Set the organization OpenCode Go API key
      tags:
      - Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCredentialRequest'
      responses:
        '200':
          description: Credential stored
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialUploadResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      operationId: deleteOpenCodeGoOrganizationCredentials
      summary: Delete the organization OpenCode Go API key
      tags:
      - Credentials
      responses:
        '200':
          description: Credential deletion result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialDeleteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /v1/opencode-go/user/credentials:
    get:
      operationId: getOpenCodeGoUserCredentials
      summary: Get personal OpenCode Go credential status
      tags:
      - Credentials
      responses:
        '200':
          description: Credential status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      operationId: setOpenCodeGoUserCredentials
      summary: Set the authenticated user's OpenCode Go API key
      tags:
      - Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCredentialRequest'
      responses:
        '200':
          description: Credential stored
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialUploadResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      operationId: deleteOpenCodeGoUserCredentials
      summary: Delete the authenticated user's OpenCode Go API key
      tags:
      - Credentials
      responses:
        '200':
          description: Credential deletion result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyCredentialDeleteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ApiKeyCredentialDeleteResponse:
      type: object
      properties:
        success:
          type: boolean
      required:
      - success
    ApiKeyCredentialUploadResponse:
      type: object
      properties:
        success:
          type: boolean
        credentialId:
          type: string
          format: uuid
      required:
      - success
      - credentialId
    ApiKeyCredentialStatus:
      type: object
      properties:
        hasCredentials:
          type: boolean
        credentialId:
          type: string
          format: uuid
        apiKey:
          type: string
        lastFetchedAt:
          type: string
          format: date-time
      required:
      - hasCredentials
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        details:
          type:
          - string
          - 'null'
          description: Additional error details
      required:
      - error
    ApiKeyCredentialRequest:
      type: object
      properties:
        api_key:
          type: string
          minLength: 1
      required:
      - api_key
  responses:
    Forbidden:
      description: Forbidden - The authenticated account cannot access this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - Missing or invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: API key authentication. Obtain your API key from the Replicas dashboard under Organization → Settings → API Keys.
    engineSecret:
      type: http
      scheme: bearer
      description: Workspace engine secret used by agent-mode workspace requests.
    workspaceId:
      type: apiKey
      in: header
      name: X-Workspace-Id
      description: Workspace ID used with the engine secret for agent-mode workspace requests.