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

# List agents in the API key workspace

> Returns the agents visible to the authenticated workspace API key. This route is non-streaming and shares the public API group rate limit of 600 requests per minute per key.



## OpenAPI

````yaml https://app.communicate.so/api/v1/openapi.json get /agents
openapi: 3.1.0
info:
  title: Communicate Public REST API
  version: 1.0.0
  summary: >-
    Workspace-scoped agent listing and chat operations with least-privilege
    OAuth scopes.
  description: >-
    Canonical external schema for the non-streaming public REST API. Exchange a
    workspace API-key client ID and secret for a short-lived OAuth access token,
    or use the `ck_` key directly for backward compatibility. `requestId` is
    optional but, when supplied, becomes the idempotency key for retries of the
    same chat input.
servers:
  - url: https://app.communicate.so/api/v1
    description: Canonical external base URL served through the Next.js /api/v1 rewrite.
security:
  - oauth2: []
  - bearerAuth: []
paths:
  /agents:
    get:
      tags:
        - Agents
      summary: List agents in the API key workspace
      description: >-
        Returns the agents visible to the authenticated workspace API key. This
        route is non-streaming and shares the public API group rate limit of 600
        requests per minute per key.
      operationId: listAgents
      responses:
        '200':
          description: Workspace agents
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentSummary'
        '401':
          description: Missing or invalid API key
          headers:
            WWW-Authenticate:
              schema:
                type: string
              description: Bearer challenge describing the API-key authentication failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Credential does not grant `agents:read`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: API key rate limit exceeded
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected server failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - agents:read
        - bearerAuth: []
components:
  headers:
    RateLimitLimit:
      description: Maximum requests allowed in the active one-minute window.
      schema:
        type: integer
        minimum: 1
    RateLimitRemaining:
      description: Requests remaining in the active one-minute window.
      schema:
        type: integer
        minimum: 0
    RateLimitReset:
      description: Seconds until the active rate-limit window resets.
      schema:
        type: integer
        minimum: 1
  schemas:
    AgentSummary:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - status
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - active
            - inactive
            - draft
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
        - code
      properties:
        error:
          type: string
        code:
          type: string
        reason:
          type: string
        details:
          type: array
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - message
              - path
            properties:
              code:
                type: string
              message:
                type: string
              path:
                type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth 2.0 client-credentials tokens bounded by the source API key scope
        ceiling.
      flows:
        clientCredentials:
          tokenUrl: https://app.communicate.so/api/v1/oauth/token
          scopes:
            agents:read: List agents in the authenticated workspace.
            chat:write: Create chat turns with an agent in the authenticated workspace.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: Workspace API key token with the `ck_` prefix.

````