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

# Simple AI API Authentication and Quickstart

> Learn how to authenticate with the Simple AI API, use the production base URL, handle JSON responses and errors, and respect API rate limits.

## Base URL

All API requests are made to:

```text theme={null}
https://api.usesimple.ai/api/v1
```

## Authentication

All API endpoints require authentication using an API key. You can create and manage API keys in the Simple AI dashboard under **Settings > API Keys** (`/organization/settings/api-keys`).

Include your API key in the `Authorization` header as a Bearer token:

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

### Example Request

```bash theme={null}
curl -X GET "https://api.usesimple.ai/api/v1/calls" \
  -H "Authorization: Bearer sk_live_12345abcdef"
```

## Response Format

All responses are returned as JSON. Successful requests return a 2xx status code.

## Errors

Every error response has the same shape:

```json theme={null}
{
  "status": "error",
  "success": false,
  "error": "Input validation failed",
  "errors": ["to_number: Invalid to_number format"]
}
```

| Field | Description |
| - | - |
| `status` | Always `"error"` |
| `success` | Always `false` |
| `error` | A summary of what went wrong |
| `errors` | The individual problems. For validation errors, each entry names the field and what is wrong with it. |

| Status code | Meaning |
| - | - |
| `401` | The API key is missing or invalid |
| `404` | The resource does not exist or does not belong to your organization |
| `409` | The request conflicts with the current state, such as cancelling a call that has already started or reusing an `idempotency_key` with a different request body |
| `422` | The request failed validation |
| `500` | Something went wrong on our side |

## Safe Retries

When you create a call, pass an `idempotency_key` that is unique to that call. If a request times out and you send it again with the same key and the same body, Simple AI returns the original response instead of placing a second call. See [Create Call](/api-reference/calls/create-call).

## Rate Limits

API requests are rate limited. If you exceed the limit, you will receive a `429 Too Many Requests` response. Back off and retry with exponential backoff.

## Need Help?

If you run into issues with the API, reach out to [support@usesimple.ai](mailto:support@usesimple.ai).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.