VoiceDock Docs
ApiCalls

Get call by ID

Retrieve complete details for a specific call including transcript, analysis results, and all metadata.

GET
/calls/{id}

Retrieve complete details for a specific call including transcript, analysis results, and all metadata.

Authorization

BearerAuth
AuthorizationBearer <token>

API key authentication. Get your key from the dashboard.

In: header

Path Parameters

id*string

Call ID

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/calls/string"
{
  "id": "call-_+31623731537_XqaQxRRgAzYc",
  "caller_phone": "+31623731537",
  "assistant_phone": "+31850835037",
  "status": "ended",
  "error": "string",
  "started_at": "2019-08-24T14:15:22Z",
  "ended_at": "2019-08-24T14:15:22Z",
  "duration_seconds": 120,
  "summary": "string",
  "analysis_result": {
    "summary": "string",
    "sentiment": 8
  },
  "messages": [
    {
      "role": "assistant",
      "content": "Hello, how can I help you?"
    },
    {
      "role": "user",
      "content": "Hi, can you hear me?"
    }
  ],
  "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
  "number_id": "7f8a9b2c-3d4e-5f6g-7h8i-9j0k1l2m3n4o",
  "agent_name": "string",
  "business_name": "string",
  "phone_number": "+31850835037",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": "Invalid API key",
  "message": "string"
}
{
  "error": "Invalid API key",
  "message": "string"
}

List calls GET

Retrieve call history with optional filtering by status and date range. Returns complete call data including transcripts, analysis results, and metadata.

Initiate outbound call POST

Initiate an outbound call from an AI assistant to a destination phone number. **Phone Number Selection (Important for Resellers):** You can specify which phone number to call from using the `number_id` parameter. This is **highly recommended** for: - **Resellers**: Ensure calls are made from numbers dedicated to specific clients - **Branding**: Always use the same caller ID for recognition - **Compliance**: Meet legal requirements for specific numbers - **Local presence**: Use local numbers for better answer rates If `number_id` is not provided, the system will automatically select an available number from your organization's pool, which may not be appropriate for reseller scenarios where numbers are client-specific. **Three Usage Modes:** 1. **Reference Mode** (`assistant_id`) - Reference an existing assistant from your dashboard - Uses the assistant's pre-configured settings - Simplest option for standard calls 2. **Transient Mode** (`assistant`) - Create a one-time assistant configuration without saving - Full control over STT/LLM/TTS configuration - Perfect for personalized or context-specific calls 3. **Hybrid Mode** (`assistant_id` + `assistant_override`) - Reference a saved assistant as the base - Override specific fields (e.g., first_message, llm_config.messages) - Best for personalization while keeping base config **⚠️ Deprecated:** `agent_id`, `agent`, and `agent_config` are deprecated. Use `assistant_id`, `assistant`, and `assistant_override` instead. **Use Cases:** - Appointment reminders with personalized greetings - Customer follow-ups with dynamic context - Survey calls with specific question flows - Delivery notifications - Payment reminders with account-specific details **Configuration Notes:** - When using `xai_realtime` provider, omit `stt_config` and `tts_config` (handled internally) - For other providers (`openai`, `mistral`), both `stt_config` and `tts_config` are required - The call will be initiated immediately and the response will include a `call_id` to track progress **Response Time:** Your call will typically connect within 2-5 seconds.