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

# Introduction

> Introduction to the KPI Integration API

The KPI Integration API lets you programmatically retrieve your company's campaigns, jobs, and reports.

## Base URL

```
https://api.kpi.ms
```

All endpoints are versioned under `/v1`, e.g. `https://api.kpi.ms/integration/v1/client/verify`.

## Authentication

The KPI Integration API uses token-based authentication. Include your API key in the `Authorization`
header of every request:

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

<Card title="Get an API key" icon="key">
  API keys are issued per company by your account manager. Contact them to request one, or to
  rotate/revoke an existing key.
</Card>

Use the `verify` endpoint to confirm a key is active and see which company it belongs to:

```bash theme={null}
curl https://api.kpi.ms/integration/v1/client/verify \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Keys can optionally be restricted to specific IPs or domains. A request that doesn't match a key's
configured restriction is rejected — see [Error Handling](/error-handling) for the exact error.

## Headers

All API requests should include:

```http theme={null}
Accept: application/json
Content-Type: application/json
```

## Errors

The KPI Integration API uses standard HTTP status codes to indicate success or failure, plus a JSON
error body with a machine-readable `error_code`. See [Error Handling & Rate Limiting](/error-handling)
for the full list of status codes and error codes.

## What's next

* [Error Handling & Rate Limiting](/error-handling) — response envelope shapes, status codes, and
  every error you might encounter.
* [Pagination](/pagination) — how paginated list endpoints work.
* The endpoints listed below — parameters and example responses are generated directly from the
  API's code so they never drift out of date.
