> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.youratlas.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.youratlas.com/_mcp/server.

# API Overview

The Atlas API powers AI voice campaigns, SMS/web chat, payments, and customer management.

## Base URL

All endpoints use the base URL:

```
https://api.youratlas.com/v1/api
```

## Authentication

All API requests require an `api-key` header:

```
api-key: YOUR_API_KEY
```

### Obtaining an API Key

1. Log in to the [Atlas Portal](https://app.youratlas.com/)
2. Navigate to **Settings > API Keys**
3. Click **Create New Key**
4. Copy the key — it will only be shown once

> **Note**
>
> The Atlas Portal currently limits you to one active API key. If you need to rotate your key, delete the existing one first, then create a new one.

![](/_fern-img/842a98d57a410d6cc04b8ddf939b793e7a221787358f2be854e8ec488d2952ed.webp)

### Example Request

```bash
curl --location 'https://api.youratlas.com/v1/api/campaign' \
  --header 'api-key: YOUR_API_KEY'
```

### Scope

An API key grants access to all campaigns, call records, and knowledge base files within your Atlas account. There is currently no per-campaign key scoping. Keep your key secure and rotate it immediately if exposed.

### Managing Your Keys

From the Atlas Portal under **Settings > API Keys**, you can:

* **View** your API key anytime
* **Copy** your key to the clipboard
* **Regenerate** your key if compromised
* **Delete** your key when no longer needed

### Security Best Practices

* Never share your API key publicly
* Store keys securely using environment variables or secret management systems
* Rotate keys periodically if compromised
* Delete unused keys immediately

## Error Handling

The API returns standard HTTP status codes:

| Code | Meaning                                                     |
| ---- | ----------------------------------------------------------- |
| 200  | Success                                                     |
| 400  | Bad Request — invalid parameters or missing required fields |
| 401  | Unauthorized — invalid or missing API key                   |
| 404  | Not Found — resource does not exist                         |
| 500  | Internal Server Error                                       |

Error responses follow this format:

```json
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Description of what went wrong"
}
```

> **Note**
>
> Endpoints that accept a batch of items validate each item independently and report per-item
> failures inside a `200` response rather than as a `400`. Create contact manually is one of
> these — a fully rejected batch still returns `200`, with the reasons under `invalid`. Check
> the response body of batch endpoints, not just the status code.