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

# REST API Overview

> Base URLs, authentication, error handling, and the OpenAPI specification for the Pipecat Cloud REST API.

The Pipecat Cloud REST API is described by a single OpenAPI 3.0 specification:

<Card title="OpenAPI specification" icon="file-code" href="https://docs.pipecat.ai/api-reference/pipecat-cloud/rest-reference/openapi.json">
  Download the complete spec to generate clients, run mocks, or feed to AI
  tools.
</Card>

## Base URLs

The API is split across two base URLs, depending on who is calling:

| API     | Base URL                                 | Used for                                                             |
| ------- | ---------------------------------------- | -------------------------------------------------------------------- |
| Public  | `https://api.pipecat.daily.co/v1/public` | Starting agent sessions and proxying requests to running sessions    |
| Private | `https://api.pipecat.daily.co/v1`        | Managing agents, secrets, builds, regions, and organization settings |

## Authentication

All endpoints authenticate with a Bearer token in the `Authorization` header:

```bash theme={null}
curl -H "Authorization: Bearer $TOKEN" https://api.pipecat.daily.co/v1/agents
```

* **Public API** endpoints use a **public API key** — safe to use from client-facing servers that start sessions.
* **Private API** endpoints use a **private API key** — keep this server-side only.

Create both key types from the [Pipecat Cloud dashboard](https://pipecat.daily.co/) under **Settings > API Keys**.

## Errors

Error responses share a common shape:

```json theme={null}
{
  "error": "Attempt to start agent when deployment is not in ready state. Is your image pull secret valid?",
  "code": "PCC-1001"
}
```

Deployment-related error codes (`PCC-*`) are documented in the
[error codes reference](/pipecat-cloud/fundamentals/error-codes).
