> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sidenet.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a copilot (agents, workflows, sdk_ui, runtime auth providers)

> Returns the copilot's attached agents and workflows enriched with their name + description, plus sdk_ui and the org’s runtime auth providers. Each runtimeAuthProviders entry carries providerId, providerName, authType, authFields (the credential keys to send in the chat runtimeAuth map) and optionalFields (extra accepted keys, e.g. base_url to override the stored provider URL per request for staging vs prod). Key runtimeAuth by providerId — provider names can change. This is the single copilot read (replaces GET /v1/copilot-config). name/description come from the agents/workflows tables; resolution to a concrete version happens internally at chat time.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/copilots/{id}
openapi: 3.1.0
info:
  title: Sidenet API
  version: 1.0.0
  description: >-
    Custom HTTP endpoints exposed by the Sidenet Mastra server. All routes
    require a bearer token and resolve org context from the API key (or the
    `X-Organization-Id` header). This reference is generated from the live route
    definitions in `src/mastra/routes`.
servers:
  - url: ''
security:
  - bearerAuth: []
paths:
  /v1/copilots/{id}:
    servers:
      - url: /
    get:
      tags:
        - Copilots
      summary: Get a copilot (agents, workflows, sdk_ui, runtime auth providers)
      description: >-
        Returns the copilot's attached agents and workflows enriched with their
        name + description, plus sdk_ui and the org’s runtime auth providers.
        Each runtimeAuthProviders entry carries providerId, providerName,
        authType, authFields (the credential keys to send in the chat
        runtimeAuth map) and optionalFields (extra accepted keys, e.g. base_url
        to override the stored provider URL per request for staging vs prod).
        Key runtimeAuth by providerId — provider names can change. This is the
        single copilot read (replaces GET /v1/copilot-config). name/description
        come from the agents/workflows tables; resolution to a concrete version
        happens internally at chat time.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: X-Organization-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            Organization to scope the request to. Optional when authenticating
            with an org API key (the org is taken from the key; if sent, it must
            match). Required when authenticating with the trusted key.
        - name: X-User-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            End-user identity for the request; user-scoped data (threads,
            memory) resolves to `{orgId}_{userId}`. Required by endpoints that
            read or write user-scoped resources. A `userId` query param (or body
            field, where documented) is accepted as a fallback.
      responses:
        '200':
          description: OK
        '404':
          description: Not found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Org API key (scopes the request to its organization) or the shared
        trusted key (requires `X-Organization-Id` on every request).

````