> For the complete documentation index, see [llms.txt](https://doc-api.blurit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc-api.blurit.io/api-v2/getting-started.md).

# Getting started

### Overview

The BlurIt Anonymization API allows clients to use the BlurIt Anonymization platform to blur faces and licence plates in images and videos.

### Principles

The BlurIt Anonymization API contains predictable resource-oriented URLs, that accept JSON request bodies and returns JSON responses. It uses standard HTTP responses codes (200, 404, etc.) and verbs (GET, POST, etc.) as well as an HTTP header for authentication.

## How it works ?

### Authentication with API KEY

Authentication is made with a long-lived API key. There is no login endpoint and no token exchange.

Generate your API key in the BlurIt Manager under Developers → API Key. The key starts with `blrt_` and is shown once at creation — store it securely (for example in an environment variable or a secrets manager).

A newly created account has no API key until you generate one. Regenerating the key invalidates the previous one immediately.

### Call the routes

Once you have an API key, you can use the API. All routes require the key to be sent in the `Authorization` HTTP header as a Bearer token:

```
Authorization: Bearer blrt_xxxxxxxx
```

where `blrt_xxxxxxxx` is the API key you created in the BlurIt Manager.

Example:

```
curl -s https://api.blurit.io/v2/account \
  -H "Authorization: Bearer $BLURIT_API_KEY"
```

#### No refresh token

Unlike API v1, there is no access token expiry and no refresh flow. The API key remains valid until you revoke or regenerate it in the BlurIt Manager.

⚠ Important: Never embed the API key in front-end, mobile, or browser code. It grants server-level access to anonymize files and consume credits. Use it only from your backend.

#### Next steps<br>

1. Call `GET /v2/account` to verify your key and inspect supported formats, balance, and rate limits.
2. Create a job with `POST /v2/jobs/sync` (small images) or `POST /v2/jobs` (video, ZIP, or larger files).
3. When the job status is `succeeded`, download the result with `GET /v2/jobs/{id}/result`.

Machine-readable reference: `GET /v2/openapi.json` (interactive docs at `/v2/docs`).
