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

# API Overview

> Getting started with the Telzino API

The Telzino API enables you to programmatically manage AI phone agents, organizations, call logs, and more. This RESTful API uses JSON for request and response bodies and standard HTTP response codes.

## Base URL

All API requests should be made to:

```
https://api.telzino.com
```

## Authentication

The Telzino API uses OAuth 2.0 with the Client Credentials grant type. To authenticate:

1. Obtain your `client_id` and `client_secret` from the Telzino dashboard
2. Request an access token from the `/oauth/token` endpoint
3. Include the access token in the `Authorization` header of all subsequent requests

```bash theme={null}
curl -X POST https://api.telzino.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "audience": "https://api.telzino.com/",
    "grant_type": "client_credentials"
  }'
```

The response includes an access token:

```json theme={null}
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 86400
}
```

Use this token in the Authorization header:

```bash theme={null}
Authorization: Bearer YOUR_ACCESS_TOKEN
```

## Response Codes

| Code | Description                             |
| ---- | --------------------------------------- |
| 200  | Success                                 |
| 201  | Created                                 |
| 400  | Bad Request - Invalid parameters        |
| 401  | Unauthorized - Invalid or missing token |
| 403  | Forbidden - Insufficient permissions    |
| 404  | Not Found                               |
| 500  | Internal Server Error                   |

## Pagination

List endpoints return paginated results. Use the `page` and `limit` query parameters to navigate through results:

```bash theme={null}
GET /v1/agents?page=1&limit=50
```

Responses include pagination metadata:

```json theme={null}
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 150,
    "totalPages": 3,
    "hasNext": true,
    "hasPrev": false
  }
}
```

## Rate Limits

API requests are rate limited. If you exceed the rate limit, you'll receive a `429 Too Many Requests` response. Implement exponential backoff in your integration to handle rate limits gracefully.

## API Endpoints

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/api-reference/authentication">
    Obtain access tokens for API authentication
  </Card>

  <Card title="Agents" icon="robot" href="/api-reference/agents/list">
    Create, read, update, and delete AI phone agents
  </Card>

  <Card title="Call Logs" icon="phone" href="/api-reference/call-logs">
    Retrieve call transcripts and logs
  </Card>

  <Card title="Organizations" icon="building" href="/api-reference/organizations/list">
    Manage organizations and resellers
  </Card>
</CardGroup>
