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

# Get Outbound Call Status

> Retrieves the current status and details of a previously created outbound call

## Get Outbound Call Status

Retrieves the current status and details of a previously created outbound call. The `id` in the URL path is the `outboundCallId` returned when the call was created. Requires a tenant or organization-level API key for authentication.

<Note>
  Poll this endpoint after creating an outbound call to track whether it is
  still in progress or has reached a terminal state. Terminal states are
  `completed`, `failed`, `busy`, and `no-answer`. The `callDetails` object is
  only present once the call has reached a terminal state.
</Note>

### Headers

<ParamField header="Authorization" type="string" required>
  API key is required. Enter either your tenant-specific or organization-specific API key in the format `Bearer YOUR-API-KEY`
</ParamField>

### Path Parameters

<ParamField path="id" type="string" required>
  The outbound call ID (`outboundCallId`) returned from the [Create Outbound Call](/api-reference/endpoint/create-outbound-call) endpoint.
</ParamField>

### Response

<ResponseField name="outboundCallId" type="string">
  UUID identifying the outbound call.
</ResponseField>

<ResponseField name="contactId" type="string">
  UUID of the contact associated with this outbound call.
</ResponseField>

<ResponseField name="status" type="string">
  Current status of the outbound call. Possible values:

  | Status      | Description                                     |
  | ----------- | ----------------------------------------------- |
  | `calling`   | The call has been dispatched and is in progress |
  | `completed` | The call connected and ended normally           |
  | `failed`    | The call could not be completed due to an error |
  | `busy`      | The destination number was busy                 |
  | `no-answer` | The call rang but was not answered              |
</ResponseField>

<ResponseField name="callDetails" type="object" nullable>
  Present only when the call has reached a terminal state (`completed`, `failed`, `busy`, or `no-answer`).

  <Expandable title="properties">
    <ResponseField name="startedAt" type="string" format="date-time" nullable>
      ISO 8601 timestamp when the call started (e.g., `"2026-04-01T14:30:00Z"`). `null` if the call never connected.
    </ResponseField>

    <ResponseField name="endedAt" type="string" format="date-time" nullable>
      ISO 8601 timestamp when the call ended (e.g., `"2026-04-01T14:32:30Z"`).
    </ResponseField>

    <ResponseField name="duration" type="integer" nullable>
      Call duration in seconds. `null` if the call never connected.
    </ResponseField>

    <ResponseField name="endedReason" type="string" nullable>
      Reason the call ended (e.g., `"customer-ended-call"`).
    </ResponseField>
  </Expandable>
</ResponseField>

### Example Request

```bash theme={null}
curl -X GET https://allomia.com/api/outbound/c3d4e5f6-a7b8-9012-cdef-345678901234/status \
  -H "Authorization: Bearer YOUR-API-KEY"
```

### Example Response — Call In Progress

```json theme={null}
{
  "outboundCallId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
  "contactId": "d4e5f6a7-b8c9-0123-defa-456789012345",
  "status": "calling",
  "callDetails": null
}
```

### Example Response — Call Completed

```json theme={null}
{
  "outboundCallId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
  "contactId": "d4e5f6a7-b8c9-0123-defa-456789012345",
  "status": "completed",
  "callDetails": {
    "startedAt": "2026-04-01T14:30:00Z",
    "endedAt": "2026-04-01T14:32:30Z",
    "duration": 150,
    "endedReason": "customer-ended-call"
  }
}
```

### Example Response — Call Failed (no answer)

```json theme={null}
{
  "outboundCallId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
  "contactId": "d4e5f6a7-b8c9-0123-defa-456789012345",
  "status": "no-answer",
  "callDetails": {
    "startedAt": null,
    "endedAt": "2026-04-01T14:30:45Z",
    "duration": null,
    "endedReason": "no-answer"
  }
}
```

### Error Responses

<AccordionGroup>
  <Accordion title="401: Unauthorized">
    Returned when the API key is missing or invalid.

    ```json theme={null}
    {
      "error": "Invalid or missing API key"
    }
    ```
  </Accordion>

  <Accordion title="404: Outbound call not found">
    Returned when no outbound call exists for the provided ID, or the call does not belong to the organization associated with the API key.

    ```json theme={null}
    {
      "error": "Outbound call not found"
    }
    ```
  </Accordion>

  <Accordion title="500: Internal server error">
    ```json theme={null}
    {
      "error": "Internal server error occurred"
    }
    ```
  </Accordion>
</AccordionGroup>
