> ## 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 agents in your workspace with their IDs, display names and types, so your backend can pick the agent_id that calls and campaigns need.

# List Agents

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

## Notes

* Without `limit`, every agent is returned. `search` filters by name.

* Each agent lists its `versions` (`version_id`, `version_slug`, `is_archived`). Prompt, voice and other settings are not included; use [Get agent](/api-reference/agents/get-assistant-by-id).

* An agent's ID does not change when the agent is edited, so look it up once during setup and store it rather than fetching it before every [call](/api-reference/calling/individual-calls/initiate-individual-call) or [campaign](/api-reference/calling/campaigns/upload-campaign-contact-list).

* For one agent's full configuration, call [Get agent](/api-reference/agents/get-assistant-by-id).

<RelatedTopics items={[["Agents overview", "/documentation/build-agents/agents/agent-types"]]} />


## OpenAPI

````yaml get /agent/all
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:
  /agent/all:
    get:
      tags:
        - agent
      summary: List Agents
      description: >-
        Retrieves the agents in your workspace. Without `limit`, every agent is
        returned.
      operationId: getAssistants
      parameters:
        - name: X-API-KEY
          in: header
          description: (Required) Your Ringg AI API key.
          required: true
          schema:
            type: string
            example: rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        - name: search
          in: query
          description: Filter agents by name.
          schema:
            type: string
            example: EMI
        - name: limit
          in: query
          description: Number of agents to return. Leave it out to get every agent.
          schema:
            type: integer
            minimum: 1
            example: 50
        - name: offset
          in: query
          description: 'Number of items to skip (default: 0).'
          schema:
            type: integer
            default: 0
            minimum: 0
            example: 0
      responses:
        '200':
          description: 'Successful Response: A list of agents.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      agents:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              example: 00000000-0000-4000-8000-0000000000a1
                            agent_display_name:
                              type: string
                              example: EMI reminder
                            agent_type:
                              type: string
                              enum:
                                - inbound
                                - outbound
                                - outbound_inbound
                                - whatsapp
                              example: outbound
                            orchestration_mode:
                              type: string
                              description: >-
                                `single_node` for a single-prompt agent,
                                `multi_node` for a multi-prompt agent.
                              example: single_node
                            created_at:
                              type: string
                              format: date-time
                              example: '2026-04-15T10:30:00.000000+00:00'
                            updated_at:
                              type: string
                              format: date-time
                              example: '2026-04-16T09:12:00.000000+00:00'
                            template_name:
                              type: string
                              nullable: true
                            template_label:
                              type: string
                              nullable: true
                            template_icon:
                              type: string
                              nullable: true
                            template_source:
                              type: string
                              nullable: true
                            template_type:
                              type: string
                              nullable: true
                              example: outbound
                            versions:
                              type: array
                              items:
                                type: object
                                properties:
                                  version_id:
                                    type: string
                                    example: 00000000-0000-4000-8000-0000000000d1
                                  version_slug:
                                    type: string
                                    example: v1
                                  is_archived:
                                    type: boolean
                                    example: false
                            voice_avatar:
                              type: string
                              nullable: true
                            call_frequency_cap:
                              type: object
                              nullable: true
                              description: The agent's call limit, if set.
                      workspace_call_frequency_cap:
                        type: object
                        nullable: true
                        description: The workspace's call limit, if set.
        '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.