---
title: "List Bots"
method: GET
path: "/v1/bots"
tags: ["Bots"]
---

# List Bots

`GET /v1/bots`

Retrieve all bots with optional filtering and pagination.

## Query parameters

- `limit` integer
- `offset` integer
- `name` string
- `created_after` string, date-time
- `created_before` string, date-time

## Response `200`

List of bots retrieved successfully

- ListBotsResponse
  - `bots` BotResponse[], required
    - `id` string, required — Unique identifier of the bot
    - `name` string, required — Name of the bot
    - `prompt` string, required — System prompt for the bot
    - `first_message` string — Initial message the bot will send
    - `knowledge_base_id` integer — ID of the knowledge base
    - `voice_provider` 'OpenAI' | 'ElevenLabs' | 'Deepgram' — Voice synthesis provider
    - `voice` string — Voice ID or name
    - `voice_model` string — Voice model being used
    - `voice_speed` number — Speech speed multiplier
    - `llm_model_name` string — Large language model being used
    - `llm_model_temperature` number — Temperature setting for the LLM
    - `stt_provider` 'Deepgram' — Speech-to-text provider
    - `stt_model` string — Speech-to-text model
    - `call_settings` CallSettings
      - `max_call_duration` integer — Maximum call duration in minutes (2-30)
      - `silence_timeout` integer — Silence timeout in seconds (5-45)
      - `silence_timeout_max_retries` integer — Maximum retries for silence timeout (1-5)
      - `silence_timeout_message` string — Message to play when silence timeout occurs
      - `call_recording_enabled` boolean — Whether to record calls
      - `voicemail_detection_enabled` boolean — Whether to detect voicemail
      - `voicemail_action` 'leave_message' | 'hangup' — Action to take when voicemail is detected. 'leave_message' will deliver a custom voicemail message, 'hangup' will end the call immediately.
      - `voicemail_message_type` 'static' | 'prompt' — Type of voicemail message. 'static' uses a fixed pre-written message, 'prompt' uses AI-generated messages based on conversation context.
      - `voicemail_message` string — The voicemail message content. Required when voicemail_action is 'leave_message'. For 'static' type, this is the exact message to be delivered. For 'prompt' type, this provides instructions to the AI.
      - `hipaa_compliance_enabled` boolean — Whether HIPAA compliance is enabled
      - `pci_compliance_enabled` boolean — Whether PCI compliance is enabled
    - `advanced_settings` AdvancedSettings
      - `agent_personality` 'casual' | 'humorous' | 'direct' | 'formal' | 'persuasive' | 'friendly' — Personality type for the agent
      - `humanize_conversation` boolean — Whether to humanize the conversation
      - `background_noise_reduction` boolean — Whether to reduce background noise
      - `allow_interruptions` boolean — Whether to allow user interruptions
      - `min_interruption_duration` number — Minimum interruption duration in seconds (0.2-5, step 0.1)
      - `background_sound` string — Background sound to play
      - `agent_response_length` 'normal' | 'short' | 'concise' | 'long' — Preferred response length
      - `short_pause` number — Short pause duration in seconds (0.2-2, step 0.1)
      - `long_pause` number — Long pause duration in seconds (0.5-6, step 0.1)
      - `filter_phrases` string — Phrases to filter from speech
    - `post_call_settings` PostCallSettings
      - `summary_prompt` string — Prompt for generating call summary
      - `success_evaluation_prompt` string — Prompt for evaluating call success
      - `success_evaluation_rubric_type` 'NUMERIC_SCALE' | 'DESCRIPTIVE_SCALE' | 'PERCENTAGE_SCALE' | 'LIKERT_SCALE' | 'PASS_FAIL' | 'SENTIMENT' — Type of success evaluation rubric
      - `structured_extraction_prompt` string — Prompt for structured data extraction
      - `structured_extraction_json_schema` object — JSON schema for structured extraction
    - `created_at` string, date-time, required — Bot creation timestamp
    - `updated_at` string, date-time, required — Bot last update timestamp
  - `pagination` Pagination, required
    - `limit` integer, required — Number of items per page
    - `offset` integer, required — Number of items skipped
    - `total` integer, required — Total number of items
    - `has_more` boolean, required — Whether there are more items

## Other responses

- `400` — Bad request - invalid parameters
- `401` — Unauthorized - missing or invalid API key
- `500` — Internal server error

---

[API](https://skmtc.net/openmicai/apis/openmic-v1-external-api.md) · [All operations](https://skmtc.net/openmicai/apis/openmic-v1-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmicai/openmic-v1-external-api/revisions/71c32e6ffd95/schema)
