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

> ## Agent Instructions
> To search or read these docs, connect the Ringg docs MCP server at https://docs.ringg.ai/mcp (no key needed; tools search_ringg_ai and query_docs_filesystem_ringg_ai) instead of browsing pages one by one. Setup for each client: https://docs.ringg.ai/resources/mcp-server/docs-mcp-server/mcp-for-ai-assistants.md
> The dashboard labels agents "Assistants"; these docs say "agent". Both mean the same object, identified by agent_id.
> API base URL: https://prod-api.ringg.ai/ca/api/v0. Send the workspace API key in the X-API-KEY header, from server-side code only.
> Placing a call dials a real phone number and spends credits. Confirm the number with the user before calling.
> To act on a Ringg workspace (place calls, edit agents, read transcripts), use the separate Ringg workspace MCP server at https://mcp.ringg.ai/mcp: https://docs.ringg.ai/resources/mcp-server/workspace-mcp-server/overview.md

> Create a Ringg Space under your primary workspace with one API call; it starts with no balance, concurrency or API key until you allocate to it.

# Create Ringg Space

export const RelatedTopics = ({items}) => <div className="not-prose mt-12">
    <div className="text-sm font-medium text-gray-500 dark:text-zinc-400 mb-3">Related topics</div>
    <div className="flex flex-col gap-2.5">
      {items.map(([title, href]) => <a key={href} href={href} className="flex items-center gap-2.5 text-sm text-gray-700 hover:text-gray-950 dark:text-zinc-300 dark:hover:text-white">
          <Icon icon="file-text" size={16} color="currentColor" />
          {title}
        </a>)}
    </div>
  </div>;

Use it for a client, brand or team that needs its own agents, numbers and call history. The Ringg Space's default agents and telephony are set up for it, and its currency, account type and billing plan are copied from the primary.

## Notes

* Store the returned `sub_workspace.id`; every allocation call needs it.
* The first Ringg Space you create turns the primary into a family in individual billing mode. Contact Ringg support if the family should use common billing instead.
* Every member of the primary automatically gets access to the new Ringg Space.

## Errors

* `400`: `Sub-workspaces cannot have their own sub-workspaces.` — the key belongs to a Ringg Space that has Ringg Spaces enabled.
* `401`: Invalid or missing API key.
* `403`: `Sub-workspaces are not enabled for this workspace.` — Ringg Spaces are not enabled on the primary, or the key belongs to a Ringg Space.
* `422`: Missing or blank `name`, or a name longer than 100 characters.

## After creation

Give the Ringg Space capacity with [Allocate Concurrency](/api-reference/account/ringg-spaces/allocate-concurrency) and, in an individual family, a [credit limit](/api-reference/account/ringg-spaces/reallocate-credit-limits) or [balance](/api-reference/account/ringg-spaces/reallocate-credit-balances). The response never contains an API key: generate one in the dashboard ([Ringg Spaces](/documentation/manage-account/ringg-spaces/ringg-spaces-by-api#manage-the-family-by-api)), then [create an agent](/api-reference/agents/create-agent) with that key.

<RelatedTopics items={[["Ringg Spaces API overview", "/documentation/manage-account/ringg-spaces/ringg-spaces-by-api#manage-the-family-by-api"]]} />


## OpenAPI

````yaml post /workspace/sub
openapi: 3.0.0
info:
  title: Ringg AI API Documentation
  description: >-
    The Ringg AI REST API. Base URL https://prod-api.ringg.ai/ca/api/v0; send
    your workspace API key in the X-API-KEY header from server-side code only.
    Requests and responses are JSON.
  version: 2.0.0
  contact:
    name: Ringg AI support
    email: admin@ringg.ai
    url: https://docs.ringg.ai
servers:
  - url: https://prod-api.ringg.ai/ca/api/v0
security: []
tags:
  - name: workspace
    description: Endpoints for managing your workspace.
  - name: agent
    description: Endpoints for managing agents.
  - name: calling
    description: Endpoints for making and managing calls.
  - name: campaign
    description: Endpoints for managing campaigns.
  - name: analytics
    description: Endpoints for accessing call analytics and performance metrics.
  - name: termination
    description: Endpoints for terminating active calls using different methods.
  - name: knowledgebase
    description: Endpoints for managing knowledge bases.
paths:
  /workspace/sub:
    post:
      tags:
        - workspace
      summary: Create Ringg Space
      description: >-
        Creates a new Ringg Space under the primary workspace that owns the API
        key. The Ringg Space is a full workspace (own agents, numbers,
        campaigns, call history, members) that starts with zero balance or
        credit limit and zero concurrency; allocate to it afterwards. Every
        member of the primary is given inherited access to it. The first Ringg
        Space turns the primary into a family in individual billing mode.
      operationId: createSubWorkspace
      parameters:
        - name: X-API-KEY
          in: header
          description: >-
            (Required) The API key of the PRIMARY workspace. A Ringg Space's own
            key is refused (403, or 400 if Ringg Spaces are enabled on it).
          required: true
          schema:
            type: string
            example: rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    (Required) Display name of the new Ringg Space, 1-100
                    characters. Surrounding whitespace is trimmed.
                  example: Mumbai Collections
            example:
              name: Mumbai Collections
      responses:
        '200':
          description: 'Successful Response: The new Ringg Space.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sub-workspace Mumbai Collections created successfully
                  sub_workspace:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 00000000-0000-4000-8000-000000000101
                      name:
                        type: string
                        example: Mumbai Collections
                      parent_workspace_id:
                        type: string
                        example: 00000000-0000-4000-8000-000000000107
                      created_at:
                        type: string
                        format: date-time
                        example: '2026-09-18T06:41:12.884312+00:00'
                      concurrency:
                        type: integer
                        example: 0
                      limit_concurrency:
                        type: integer
                        example: 0
              example:
                message: Sub-workspace Mumbai Collections created successfully
                sub_workspace:
                  id: 00000000-0000-4000-8000-000000000101
                  name: Mumbai Collections
                  parent_workspace_id: 00000000-0000-4000-8000-000000000107
                  created_at: '2026-09-18T06:41:12.884312+00:00'
                  concurrency: 0
                  limit_concurrency: 0
        '400':
          description: >-
            Bad Request - The name is blank, or the API key belongs to a Ringg
            Space that has Ringg Spaces enabled (no nesting).
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sub-workspaces cannot have their own sub-workspaces.
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid credentials
        '403':
          description: >-
            Forbidden - Ringg Spaces are not enabled for this workspace (also
            what a Ringg Space's own key gets), or the caller is not an active
            member of the primary.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sub-workspaces are not enabled for this workspace.
        '500':
          description: Internal Server Error - Something went wrong on our end.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: An unexpected error occurred. Please try again later.

````

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