> ## 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 network

> Returns the network'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 network read. name/description come from the agents and workflows themselves; resolution to a concrete version happens automatically at chat time. `variables` is the {{placeholders}} the network's agents consume, as a nested object mirroring the dot paths — `{{instance.store_count}}` comes back as `{"instance":{"store_count":null}}`. Each leaf is the default the prompt renders when you omit that variable, or null when it has none (an unsupplied value leaves a literal {{placeholder}} in the prompt), so the nulls are the ones you actually need to fill in. Send the same object back as the chat body's `variables`: leaves left null are ignored, so an unfilled one costs nothing. Discovered from each agent's ACTIVE version — the one chat runs — and only from agents composed of prompt blocks; agents on the legacy single prompt string are not template-rendered and contribute nothing. Server builtins (now.*) are excluded: you cannot supply those.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/copilots/{id}
openapi: 3.1.0
info:
  title: Sidenet API
  version: 1.0.0
  description: >-
    Sidenet HTTP endpoints exposed by the Sidenet Studio. All routes require an
    api key that can be generated through the studio in studio.sidenet.ai.
servers:
  - url: https://api.sidenet.ai
security:
  - bearerAuth: []
paths:
  /v1/copilots/{id}:
    get:
      tags:
        - Networks
      summary: Get network
      description: >-
        Returns the network'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 network read. name/description come from the agents and workflows
        themselves; resolution to a concrete version happens automatically at
        chat time. `variables` is the {{placeholders}} the network's agents
        consume, as a nested object mirroring the dot paths —
        `{{instance.store_count}}` comes back as
        `{"instance":{"store_count":null}}`. Each leaf is the default the prompt
        renders when you omit that variable, or null when it has none (an
        unsupplied value leaves a literal {{placeholder}} in the prompt), so the
        nulls are the ones you actually need to fill in. Send the same object
        back as the chat body's `variables`: leaves left null are ignored, so an
        unfilled one costs nothing. Discovered from each agent's ACTIVE version
        — the one chat runs — and only from agents composed of prompt blocks;
        agents on the legacy single prompt string are not template-rendered and
        contribute nothing. Server builtins (now.*) are excluded: you cannot
        supply those.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            example: a5e91c07-3f24-4b68-9d15-8c72e0b4a396
      responses:
        '200':
          description: >-
            The network, its members enriched with names, and everything a chat
            client needs to open a session against it
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  agents:
                    type: array
                    description: Attached agents, in routing order.
                    items:
                      type: object
                      properties:
                        agentId:
                          type: string
                          format: uuid
                        name:
                          type: string
                          nullable: true
                        description:
                          type: string
                          nullable: true
                  workflows:
                    type: array
                    items:
                      type: object
                      properties:
                        workflowId:
                          type: string
                          format: uuid
                        name:
                          type: string
                          nullable: true
                        description:
                          type: string
                          nullable: true
                  sdk_ui:
                    type: object
                    nullable: true
                    description: Chat-widget configuration.
                  handoff_prompt:
                    type: string
                    nullable: true
                  followup_instructions:
                    type: array
                    nullable: true
                    items:
                      type: object
                  runtimeAuthProviders:
                    type: array
                    description: >-
                      Providers whose credentials the caller supplies per
                      request. Key the chat body's `runtimeAuth` map by
                      `providerId` — provider names change, ids do not.
                    items:
                      type: object
                      properties:
                        providerId:
                          type: string
                          format: uuid
                        providerName:
                          type: string
                        authType:
                          type: string
                        authFields:
                          type: array
                          description: The credential keys to send.
                          items:
                            type: string
                        optionalFields:
                          type: array
                          description: >-
                            Extra accepted keys, e.g. `base_url` to point at
                            staging.
                          items:
                            type: string
                  variables:
                    type: object
                    description: >-
                      The `{{placeholders}}` this network's agents consume,
                      nested to mirror the dot paths. Each leaf is the default
                      it renders without a value, or null when it has none — the
                      nulls are the ones to fill in.
              example:
                id: a5e91c07-3f24-4b68-9d15-8c72e0b4a396
                agents:
                  - agentId: 6f1c0f4e-2b7a-4a51-9a2f-0c9d1b3e5a10
                    name: Support agent
                    description: Answers billing and account questions
                workflows:
                  - workflowId: 4c2f9e18-7a63-4d05-b1e8-93a7c0f2d641
                    name: Refund triage
                    description: Classifies a refund request and fetches the order
                sdk_ui:
                  theme: light
                  title: Acme support
                handoff_prompt: Route billing questions to the support agent.
                followup_instructions: null
                runtimeAuthProviders:
                  - providerId: 8d3b1a75-6c02-4e59-b84f-27a9d5e10c63
                    providerName: Acme CRM
                    authType: bearer
                    authFields:
                      - token
                    optionalFields:
                      - base_url
                variables:
                  locale: English
                  instance:
                    store_count: null
        '404':
          description: Not found
      security:
        - bearerAuth: []
        - sessionToken: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Organization API key, generated in studio.sidenet.ai. Backend only —
        never in a browser.
    sessionToken:
      type: http
      scheme: bearer
      description: >-
        Session token (`snat_…`) minted by POST /v1/token. Carries the
        organization and the end user; safe in a browser.

````