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

# Create network

> Creates a network and its three copilots (`dev`, `staging`, `prod`) in one call, all three with the configuration sent: the roster (`agents`), `workflows`, `handoff_prompt`, `followup_instructions`, `system_agents` and `sdk_ui` — the same keys `PATCH /v1/copilots/{id}` takes. References are checked against the organization (an unknown agent or workflow fails naming it). From here on the dev copilot is the one edited and `POST /v1/copilots/{id}/deploy` promotes it, as for a network made in the Studio. Names are not unique: an app that provisions idempotently matches on `name` in `GET /v1/networks` first.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/networks
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/networks:
    post:
      tags:
        - Networks
      summary: Create network
      description: >-
        Creates a network and its three copilots (`dev`, `staging`, `prod`) in
        one call, all three with the configuration sent: the roster (`agents`),
        `workflows`, `handoff_prompt`, `followup_instructions`, `system_agents`
        and `sdk_ui` — the same keys `PATCH /v1/copilots/{id}` takes. References
        are checked against the organization (an unknown agent or workflow fails
        naming it). From here on the dev copilot is the one edited and `POST
        /v1/copilots/{id}/deploy` promotes it, as for a network made in the
        Studio. Names are not unique: an app that provisions idempotently
        matches on `name` in `GET /v1/networks` first.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  example: Front office
                description:
                  type: string
                  nullable: true
                  example: What the front desk talks to
                agents:
                  type: array
                  description: >-
                    The roster, in routing order: `[{ agentId }]`. Every agent
                    must be the org's.
                  items:
                    type: object
                    properties:
                      agentId:
                        type: string
                  example:
                    - agentId: 6f1c0f4e-2b7a-4a51-9a2f-0c9d1b3e5a10
                workflows:
                  type: array
                  description: 'Workflows the network exposes: `[{ workflowId }]`.'
                  items:
                    type: object
                    properties:
                      workflowId:
                        type: string
                  example:
                    - workflowId: 4c2f9e18-7a63-4d05-b1e8-93a7c0f2d641
                sdk_ui:
                  type:
                    - object
                    - 'null'
                  description: Chat-widget configuration.
                  example:
                    theme: light
                    title: Front office
                handoff_prompt:
                  type: string
                  nullable: true
                  description: The routing prompt the handoff classifier runs.
                followup_instructions:
                  type: array
                  nullable: true
                  items:
                    type: object
                  description: Follow-up guidance as prompt blocks.
                system_agents:
                  type:
                    - object
                    - 'null'
                  description: >-
                    Overrides of the code-defined agents (dashboard / handoff /
                    followup), e.g. `dashboard.templates_tool` naming the tool
                    that serves dashboard templates.
                  example:
                    dashboard:
                      templates_tool: list_dashboard_templates
      responses:
        '201':
          description: The network with its three copilots
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: The network id, as shown in the Studio.
                  name:
                    type: string
                    nullable: true
                  description:
                    type: string
                    nullable: true
                  created_at:
                    type: string
                    format: date-time
                  copilots:
                    type: array
                    description: >-
                      One entry per environment of this network (at most one
                      copilot per environment).
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            The copilot id: what chat, mint and deploy calls
                            name.
                        environment:
                          type: string
                          enum:
                            - dev
                            - staging
                            - prod
                        created_at:
                          type: string
                          format: date-time
                          nullable: true
                        updated_at:
                          type: string
                          format: date-time
                          nullable: true
              example:
                id: 12
                name: Guest manager
                description: The network guests talk to
                created_at: '2026-10-01T09:00:00Z'
                copilots:
                  - id: a5e91c07-3f24-4b68-9d15-8c72e0b4a396
                    environment: prod
                    created_at: '2026-10-01T09:05:00Z'
                    updated_at: '2026-10-20T12:00:00Z'
                  - id: 6f1c0f4e-2b7a-4a51-9a2f-0c9d1b3e5a10
                    environment: dev
                    created_at: '2026-10-01T09:00:00Z'
                    updated_at: '2026-10-24T08:30:00Z'
        '400':
          description: >-
            Invalid body, or an agent / workflow / prompt block not in this
            organization
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Organization API key, generated in studio.sidenet.ai. Backend only —
        never in a browser.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.