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

# API Reference

> Programmatic access to Callem Studio data via a secure REST API.

# API Reference

The Callem Studio Public API provides programmatic access to your call data and knowledge base content. Use it to integrate Callem Studio with your CRM, data warehouse, or any external system.

## Base URL

```
https://api.callem.ai/v1
```

## Available Resources

| Resource      | Endpoints                              | Description                                             |
| ------------- | -------------------------------------- | ------------------------------------------------------- |
| **Calls**     | `GET`, `GET :id`, `DELETE :id`         | List, retrieve, and delete call records                 |
| **Knowledge** | `GET`, `GET :id`, `POST`, `DELETE :id` | List, retrieve, create, and delete knowledge base items |

## Response Format

All responses are returned as JSON. List endpoints include pagination metadata:

```json theme={null}
{
  "data": [...],
  "pagination": {
    "total": 142,
    "limit": 100,
    "offset": 0
  }
}
```

## Error Handling

The API uses standard HTTP status codes:

| Code  | Description                                                      |
| ----- | ---------------------------------------------------------------- |
| `200` | Success                                                          |
| `201` | Created                                                          |
| `400` | Bad request — check your parameters                              |
| `401` | Unauthorized — invalid or missing API key                        |
| `403` | Forbidden — IP not allowed or resource access denied             |
| `404` | Not found — resource doesn't exist or belongs to another project |
| `429` | Rate limited — too many requests                                 |
| `500` | Internal server error                                            |

Error responses include a message:

```json theme={null}
{
  "statusCode": 401,
  "message": "Invalid API key"
}
```

## Rate Limiting

The API is rate-limited to **120 requests per minute** per IP address. If you exceed this limit, you'll receive a `429 Too Many Requests` response.

## Data Scoping

Each API key is bound to a single project. All API calls are automatically scoped to that project's data — you cannot access data from other projects.

<Info>
  The Public API is **read-only for calls** (list, get, delete) and **read-write for knowledge** (list, get, create, delete). Agent configuration, campaigns, and other management operations are only available through the dashboard.
</Info>
