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

# API reference

> Every endpoint, every parameter, every response.

The Instant Compliance v1 API is a small, deliberately simple surface
covering **individual customers** (KYC, on `/customers`) and **entity
customers** (companies, trusts, partnerships, SMSFs — KYB, on
`/entities`).

## Base URL

```
https://app.instantcompliance.ai/api/v1
```

## Authentication

Every request requires a bearer API key in the `Authorization` header:

```http theme={null}
Authorization: Bearer ic_live_...
```

Issue keys in **Settings → Developers** in your Instant Compliance
organisation. See [Authentication](/authentication) for the full guide.

## Content type

All requests and responses use `application/json`.

## Endpoints

| Method | Path                  | Purpose                                                       | Scope             |
| ------ | --------------------- | ------------------------------------------------------------- | ----------------- |
| POST   | `/customers`          | [Create / upsert a customer](/api-reference/customers/create) | `customers:write` |
| GET    | `/customers`          | [List / poll](/api-reference/customers/list)                  | `customers:read`  |
| GET    | `/customers/{id}`     | [Read one](/api-reference/customers/get)                      | `customers:read`  |
| PATCH  | `/customers/{id}`     | [Update](/api-reference/customers/update)                     | `customers:write` |
| GET    | `/customers/{id}/aml` | [Read AML status](/api-reference/customers/aml)               | `aml:read`        |
| POST   | `/entities`           | [Create / upsert an entity](/api-reference/entities/create)   | `customers:write` |
| GET    | `/entities`           | [List / poll](/api-reference/entities/list)                   | `customers:read`  |
| GET    | `/entities/{id}`      | [Read one](/api-reference/entities/get)                       | `customers:read`  |
| PATCH  | `/entities/{id}`      | [Update](/api-reference/entities/update)                      | `customers:write` |
| GET    | `/entities/{id}/aml`  | [Read AML status](/api-reference/entities/aml)                | `aml:read`        |

Entity endpoints use the same `customers:*` scopes — an entity is a
customer record; only its verification track (KYB vs KYC) differs.

## OpenAPI

The machine-readable OpenAPI 3.1 spec is available at
[`openapi.yaml`](/openapi.yaml). Import it into Postman, Insomnia,
Stoplight, or your preferred SDK generator.

## Conventions

* **Identifiers.** Customer ids are UUIDs. Wherever a `{id}` path
  parameter appears, you can also pass your own `external_id` — we
  detect the format and resolve accordingly.
* **Timestamps.** ISO-8601 with offset (`2026-06-23T01:12:00Z`).
* **Pagination.** Cursor-based. See [Pagination](/concepts/pagination).
* **Idempotency.** Pass `Idempotency-Key` on writes. See
  [Idempotency](/concepts/idempotency).
* **Errors.** Standard envelope. See [Errors](/concepts/errors).
