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

# Query Availability

> Compute available time slots for a calendar

# Query Availability

Compute available time slots for a calendar over a given range, applying recurring rules, exceptions, and existing events as busy time.

## Endpoint

```
GET /api/v1/calendars/{calendar_id}/availability
```

## Path parameters

<ParamField path="calendar_id" type="string" required>Calendar UUID.</ParamField>

## Query parameters

<ParamField query="from" type="string" required>Range start. ISO 8601.</ParamField>
<ParamField query="to" type="string" required>Range end. ISO 8601.</ParamField>
<ParamField query="duration_minutes" type="integer">Slot length to compute. Default: `30`.</ParamField>

## Request headers

<ParamField header="Authorization" type="string" required>
  Bearer token. Format: `Bearer talq_your_environment_token_here`
</ParamField>

## Examples

<RequestExample>
  ```bash theme={null}
  curl "https://app.talkover.ai/api/v1/calendars/calendar-uuid-1/availability?from=2024-01-15T00:00:00Z&to=2024-01-22T00:00:00Z&duration_minutes=30" \
    -H "Authorization: Bearer talq_your_environment_token_here"
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": [
      { "start_at": "2024-01-15T09:00:00Z", "end_at": "2024-01-15T09:30:00Z" },
      { "start_at": "2024-01-15T09:30:00Z", "end_at": "2024-01-15T10:00:00Z" },
      { "start_at": "2024-01-15T10:00:00Z", "end_at": "2024-01-15T10:30:00Z" }
    ]
  }
  ```
</ResponseExample>

## Notes

* Slots fall within recurring rules and exclude busy events and exception dates.
* Use this endpoint to power scheduling agents — let the agent offer caller these slots.
