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

> List the phone numbers in your workspace with their IDs, provider, attached agent, spam flag and pool, to choose the caller number for calls and campaigns.

# Get Workspace Numbers

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>;

Each number's `id` is the `from_number_id` that [individual calls](/api-reference/calling/individual-calls/initiate-individual-call) take as caller ID.

Numbers appear here once they are bought or imported in the dashboard ([Buy and import numbers](/documentation/inventory/phone-numbers/buy-or-import-a-number)).

The list is not paged: every matching number comes back in one response, newest first. Filter it with `telephony_account_id` (a connected telephony account's ID, or `ringg` for numbers provided by Ringg, including the shared test numbers) and `inbound_enabled` (`true` or `false`).

## Fields to check

<ResponseField name="agent" type="object">
  The agent the number is attached to (`id`, `agent_display_name`); inbound calls to the number reach that agent.
</ResponseField>

<ResponseField name="is_test_number" type="boolean">
  A shared Ringg [test number](/documentation/inventory/phone-numbers/overview#test-numbers): for testing only, not for live calls or number pools.
</ResponseField>

<ResponseField name="is_spam" type="boolean">
  The number has been flagged as spam; `spam_message` says why. Pick another number, or let a [number pool](/documentation/inventory/phone-numbers/number-pools) skip it.
</ResponseField>

<ResponseField name="number_pool_id" type="string">
  The [number pool](/documentation/inventory/phone-numbers/number-pools) the number belongs to, if any.
</ResponseField>

<ResponseField name="provider" type="string">
  The telephony provider behind the number; `ringg` for numbers on Ringg's own account.
</ResponseField>

<ResponseField name="owner" type="string">
  `ringg` for a number on Ringg's account, `customer` for one on your own telephony account.
</ResponseField>

<ResponseField name="is_relay" type="boolean">
  `true` for a [WhatsApp Relay](/documentation/deploy/whatsapp/relay-overview) number.
</ResponseField>

<RelatedTopics items={[["Phone numbers", "/documentation/inventory/phone-numbers/overview"]]} />


## OpenAPI

````yaml get /workspace/numbers
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/numbers:
    get:
      tags:
        - workspace
      summary: Get Workspace Numbers
      description: >-
        Retrieves every phone number in your workspace, newest first. The list
        is not paged.
      operationId: getWorkspaceNumbers
      parameters:
        - name: X-API-KEY
          in: header
          description: (Required) Your Ringg AI API key.
          required: true
          schema:
            type: string
            example: rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        - name: telephony_account_id
          in: query
          required: false
          description: >-
            (Optional) A connected telephony account's ID to list only its
            numbers, or `ringg` for numbers provided by Ringg, including the
            shared test numbers. Leave it out for every number.
          schema:
            type: string
            example: ringg
        - name: inbound_enabled
          in: query
          required: false
          description: >-
            (Optional) `true` for numbers that can receive inbound calls,
            `false` for the rest.
          schema:
            type: boolean
      responses:
        '200':
          description: 'Successful Response: A list of available phone numbers.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace_numbers:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 00000000-0000-4000-8000-000000000109
                        number:
                          type: string
                          example: '+919876540001'
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-12-16T13:03:29.947147+00:00'
                        call_count:
                          type: integer
                          example: 0
                        agent:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: string
                              example: 00000000-0000-4000-8000-0000000000a1
                            agent_display_name:
                              type: string
                              example: Sales Assistant
                        is_inbound_enabled:
                          type: boolean
                          example: true
                        is_test_number:
                          type: boolean
                          example: false
                        is_relay:
                          type: boolean
                          description: '`true` for a WhatsApp Relay number.'
                          example: false
                        tags:
                          type: array
                          items:
                            type: string
                          example: []
                        is_spam:
                          type: boolean
                          example: false
                        spam_message:
                          type: string
                          nullable: true
                          example: null
                        provider:
                          type: string
                          nullable: true
                          example: ringg
                          description: >-
                            Telephony provider; `ringg` for numbers on Ringg's
                            own account.
                        display_name:
                          type: string
                          nullable: true
                          example: Sales Line
                        owner:
                          type: string
                          enum:
                            - ringg
                            - customer
                          description: >-
                            `ringg` for a number on Ringg's account, `customer`
                            for one on your own telephony account.
                          example: ringg
                        is_custom_number:
                          type: boolean
                          example: false
                        telephony_id:
                          type: string
                          nullable: true
                          example: 00000000-0000-4000-8000-000000000113
                        number_pool_id:
                          type: string
                          nullable: true
                          example: 00000000-0000-4000-8000-000000000113
        '400':
          description: Bad Request - `telephony_account_id` is not a UUID or `ringg`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: 'Invalid telephony_account_id: abc'
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid credentials
        '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.