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

# List Assistants

> List all assistants for the authenticated user with pagination

This endpoint allows you to retrieve all AI assistants belonging to the authenticated user.

### Query Parameters

<ParamField query="per_page" type="integer">
  Number of assistants per page (1-100, default: 10)
</ParamField>

<ParamField query="page" type="integer">
  Page number (default: 1)
</ParamField>

### Response Fields

<ResponseField name="data" type="array">
  Array of assistants

  <Expandable title="Assistant Properties">
    <ResponseField name="id" type="integer">
      The unique identifier of the assistant
    </ResponseField>

    <ResponseField name="user_id" type="integer">
      The ID of the user who owns this assistant
    </ResponseField>

    <ResponseField name="phone_number_id" type="integer">
      The ID of the phone number assigned to the assistant
    </ResponseField>

    <ResponseField name="engine_id" type="integer">
      Engine ID
    </ResponseField>

    <ResponseField name="synthesizer_id" type="integer">
      Synthesizer ID
    </ResponseField>

    <ResponseField name="transcriber_id" type="integer">
      Transcriber ID
    </ResponseField>

    <ResponseField name="voice_id" type="integer">
      The ID of the voice used by the assistant
    </ResponseField>

    <ResponseField name="instance_id" type="integer">
      The instance ID for the assistant
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the assistant
    </ResponseField>

    <ResponseField name="variables" type="object">
      Custom variables for the assistant
    </ResponseField>

    <ResponseField name="post_call_evaluation" type="boolean">
      Whether post-call evaluation is enabled
    </ResponseField>

    <ResponseField name="fillers" type="integer">
      Whether filler audio is enabled (1 = enabled, 0 = disabled)
    </ResponseField>

    <ResponseField name="post_call_schema" type="array">
      Schema definition for post-call data extraction
    </ResponseField>

    <ResponseField name="tools" type="array">
      Array of built-in tools configured on the assistant. Each item has `type` (tool identifier) and `data` (tool-specific settings). This response shape differs from the flat object used in [Create](/en/api-reference/assistants/create) and [Update](/en/api-reference/assistants/update) requests.

      <Expandable title="Response item shape">
        * `type` — e.g. `end_call`, `call_transfer`, `warm_call_transfer`, `dtmf_input`, `collect_keypad`, `calendar_integration`, `assistant_transfer`
        * `data` — object with the tool’s configuration fields (same names as in the request body, nested under `data` instead of top-level)
      </Expandable>
    </ResponseField>

    <ResponseField name="is_webhook_active" type="boolean">
      Whether webhook notifications are enabled
    </ResponseField>

    <ResponseField name="webhook_url" type="string">
      The webhook URL for post-call notifications
    </ResponseField>

    <ResponseField name="inbound_webhook_url" type="string">
      The webhook URL for inbound call notifications
    </ResponseField>

    <ResponseField name="language" type="string">
      Language
    </ResponseField>

    <ResponseField name="type" type="string">
      The type of assistant (inbound or outbound)
    </ResponseField>

    <ResponseField name="status" type="string">
      The current status of the assistant (active or inactive)
    </ResponseField>

    <ResponseField name="max_duration" type="integer">
      Maximum call duration in seconds
    </ResponseField>

    <ResponseField name="record" type="boolean">
      Whether calls should be recorded
    </ResponseField>

    <ResponseField name="initial_message" type="string">
      The first message the assistant will speak
    </ResponseField>

    <ResponseField name="system_prompt" type="string">
      The system prompt that defines the assistant's behavior
    </ResponseField>

    <ResponseField name="flows_platform_id" type="integer">
      ID for Flows platform integration
    </ResponseField>

    <ResponseField name="timezone" type="string">
      The timezone setting for the assistant
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Date and time when the assistant was created
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Date and time of the last update to the assistant
    </ResponseField>

    <ResponseField name="max_silence_duration" type="integer">
      Maximum silence duration in seconds before re-engagement
    </ResponseField>

    <ResponseField name="reengagement_interval" type="integer">
      Re-engagement interval in seconds
    </ResponseField>

    <ResponseField name="deleted_at" type="string">
      Soft deletion timestamp (null if not deleted)
    </ResponseField>

    <ResponseField name="end_call_on_voicemail" type="integer">
      Whether the call should end upon voicemail detection (1 = yes, 0 = no)
    </ResponseField>

    <ResponseField name="llm_temperature" type="string">
      LLM temperature setting as a string
    </ResponseField>

    <ResponseField name="voice_stability" type="string">
      Voice stability setting as a string
    </ResponseField>

    <ResponseField name="voice_similarity" type="string">
      Voice similarity setting as a string
    </ResponseField>

    <ResponseField name="allow_interruptions" type="boolean">
      Whether interruptions by the caller are allowed
    </ResponseField>

    <ResponseField name="enable_noise_cancellation" type="boolean">
      Whether noise cancellation is enabled
    </ResponseField>

    <ResponseField name="endpoint_sensitivity" type="number">
      Endpoint sensitivity level
    </ResponseField>

    <ResponseField name="speech_speed" type="string">
      Speech speed multiplier as a string
    </ResponseField>

    <ResponseField name="endpoint_type" type="string">
      Voice activity detection type (vad or ai)
    </ResponseField>

    <ResponseField name="wait_for_customer" type="boolean">
      Whether to wait for the first customer speech input
    </ResponseField>

    <ResponseField name="mode" type="string">
      The engine mode (pipeline or multimodal)
    </ResponseField>

    <ResponseField name="language_id" type="integer">
      The ID of the language used by the assistant
    </ResponseField>

    <ResponseField name="transcriber_provider_id" type="integer">
      ID of the transcriber provider
    </ResponseField>

    <ResponseField name="synthesizer_provider_id" type="integer">
      ID of the synthesizer provider
    </ResponseField>

    <ResponseField name="llm_model_id" type="integer">
      ID of the LLM model used
    </ResponseField>

    <ResponseField name="multimodal_model_id" type="integer">
      ID of the multimodal model used
    </ResponseField>

    <ResponseField name="ambient_sound" type="string">
      Ambient sound setting
    </ResponseField>

    <ResponseField name="uuid" type="string">
      Unique UUID for the assistant
    </ResponseField>

    <ResponseField name="send_webhook_only_on_completed" type="boolean">
      Whether webhooks are sent only for completed calls
    </ResponseField>

    <ResponseField name="include_recording_in_webhook" type="boolean">
      Whether recording URL should be included in webhook payload
    </ResponseField>

    <ResponseField name="interrupt_sensitivity" type="number">
      Interruption sensitivity level
    </ResponseField>

    <ResponseField name="filler_config" type="object">
      Configuration for filler audio responses
    </ResponseField>

    <ResponseField name="knowledgebase_id" type="integer">
      ID of the associated knowledge base
    </ResponseField>

    <ResponseField name="knowledgebase_mode" type="string">
      Knowledge base mode setting
    </ResponseField>

    <ResponseField name="min_interrupt_words" type="integer">
      Minimum number of words before interruption is allowed
    </ResponseField>

    <ResponseField name="ambient_sound_volume" type="string">
      Ambient sound volume as a string
    </ResponseField>

    <ResponseField name="widget_settings" type="object">
      Settings for web widget integration
    </ResponseField>

    <ResponseField name="ringing_time" type="integer">
      Ring time in seconds before ending the call
    </ResponseField>

    <ResponseField name="max_initial_silence_duration" type="integer">
      Maximum initial silence duration in seconds
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="current_page" type="integer">
  The current page number
</ResponseField>

<ResponseField name="per_page" type="integer">
  Number of items per page
</ResponseField>

<ResponseField name="total" type="integer">
  Total number of assistants
</ResponseField>

<ResponseField name="last_page" type="integer">
  The last page number
</ResponseField>

<ResponseExample>
  ```json 200 Response theme={null}
  {
    "data": [
      {
        "id": 123,
        "user_id": 456,
        "phone_number_id": 789,
        "engine_id": 1,
        "synthesizer_id": 2,
        "transcriber_id": 3,
        "voice_id": 4,
        "instance_id": 5,
        "name": "Sales Assistant",
        "variables": {
          "company_name": "Famulor",
          "product_focus": "AI Telephony"
        },
        "post_call_evaluation": true,
        "fillers": 1,
        "post_call_schema": [
          {
            "name": "customer_interested",
            "type": "boolean",
            "description": "Is the customer interested?"
          }
        ],
        "tools": [
          {
            "type": "end_call",
            "data": {
              "description": "End call when done"
            }
          },
          {
            "type": "assistant_transfer",
            "data": {
              "description": "Transfer to the Support Assistant when the customer needs technical help.",
              "assistant_id": 13766,
              "message_before_transfer": "Sure — let me transfer you to our support specialist.",
              "speak_transfer_greeting": true
            }
          },
          {
            "type": "warm_call_transfer",
            "data": {
              "supervisor_phone": "+14155552001",
              "outbound_phone_id": "7",
              "description": "Transfer the call to a human supervisor when the customer requests to speak with a real person.",
              "custom_sip": false,
              "caller_id_mode": "outbound_number",
              "hold_music": "hold_music",
              "hold_music_volume": 80,
              "hold_message": "Please hold while I connect you with a supervisor.",
              "summary_instructions": "Introduce the conversation from your perspective:\n- WHO is calling (name, company if mentioned)\n- WHY they called (their goal or problem)\n- WHY a human is needed at this point\n\nKeep it brief (2-3 sentences).",
              "briefing_initial_message": "Hello! I have a caller on the line who needs your assistance. May I brief you on the situation?",
              "connected_message": "You are now connected with a supervisor. I'll leave you to it."
            }
          }
        ],
        "is_webhook_active": true,
        "webhook_url": "https://example.com/webhook",
        "inbound_webhook_url": "https://example.com/inbound-webhook",
        "language": "de",
        "type": "outbound",
        "status": "active",
        "max_duration": 1800,
        "record": true,
        "initial_message": "Good day! I'm calling from Famulor...",
        "system_prompt": "You are a friendly sales assistant...",
        "flows_platform_id": null,
        "timezone": "Europe/Berlin",
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-01-15T10:30:00Z",
        "max_silence_duration": 3,
        "reengagement_interval": 5,
        "deleted_at": null,
        "end_call_on_voicemail": 1,
        "llm_temperature": "0.7",
        "voice_stability": "0.8",
        "voice_similarity": "0.9",
        "allow_interruptions": true,
        "enable_noise_cancellation": true,
        "endpoint_sensitivity": 0.5,
        "speech_speed": "1.0",
        "endpoint_type": "vad",
        "wait_for_customer": false,
        "mode": "pipeline",
        "language_id": 1,
        "transcriber_provider_id": 1,
        "synthesizer_provider_id": 1,
        "llm_model_id": 1,
        "multimodal_model_id": null,
        "ambient_sound": "office",
        "uuid": "550e8400-e29b-41d4-a716-446655440000",
        "send_webhook_only_on_completed": true,
        "include_recording_in_webhook": false,
        "interrupt_sensitivity": 0.3,
        "filler_config": {
          "enabled": true,
          "phrases": ["Hmm...", "I understand..."]
        },
        "knowledgebase_id": 100,
        "knowledgebase_mode": "semantic",
        "min_interrupt_words": 2,
        "ambient_sound_volume": "0.3",
        "widget_settings": {
          "enabled": false
        }
      }
    ],
    "current_page": 1,
    "per_page": 10,
    "total": 1,
    "last_page": 1
  }
  ```
</ResponseExample>

<Tip>
  Related pages: [Introduction](/en/api-reference/introduction) and [Authentication Guide](/en/developers/authentication-guide), and [API Integration Examples](/en/developers/api-integration-examples).
</Tip>
