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

# Introduction

> Learn how to authenticate and interact with the isend.ai API, including base URL, headers, error codes, and limits.

## Base URL

All requests to the isend.ai API must use **HTTPS** and follow RESTful conventions.

**Base URL:**

```
https://api.isend.ai
```

Requests over plain HTTP are rejected for security reasons.

## Authentication

Authenticate your requests by including your **API key** in the `Authorization` header using the Bearer token format.

```
Authorization: Bearer is_xxxxxxxxxxxxxxxxxxxxx
```

You can generate an API key from the isend.ai dashboard.

## Response Codes

The API uses standard HTTP status codes to indicate the result of requests.

| Status | Description                             |
| ------ | --------------------------------------- |
| `200`  | The request was successful.             |
| `400`  | Invalid request. Check your parameters. |
| `401`  | Missing or malformed API key.           |
| `403`  | API key is invalid or unauthorized.     |
| `404`  | Resource not found.                     |
| `429`  | Rate limit exceeded.                    |
| `5xx`  | Server-side error. Try again later.     |

<Info>
  For a detailed list of possible API errors, see Error Codes.
</Info>

## Rate Limits

The default rate limit is **2 requests per second** per API key. If your integration requires a higher limit, contact support to request an increase.

When you exceed the rate limit, you’ll receive a `429 Too Many Requests` error.

More details: Rate Limits

## FAQ

<AccordionGroup>
  <Accordion title="How does pagination work with the API?">
    Currently, our API endpoints do not support pagination. As we expand our dataset capabilities, pagination will be introduced.
  </Accordion>

  <Accordion title="Is the API versioned?">
    Not yet. All requests default to the current version. Versioning will be added via headers in future releases.
  </Accordion>
</AccordionGroup>
