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

# API reference

> Generated from the Kettio OpenAPI 3.1 contract.

Every page in this section is generated directly from
[`rank-api.json`](https://kettio.com/docs/api/rank-api.openapi.json), the OpenAPI 3.1 contract
the API is built against. Request fields, response schemas, and status codes here cannot drift
from the implementation.

**Base URL** — `https://kettio.com`

**Authentication** — `Authorization: Bearer agk_live_YOUR_KEY` on every request. See
[Authentication](/quickstart/authentication).

## Endpoints

<CardGroup cols={2}>
  <Card title="Rank assets" icon="list-ol" href="/api-reference/rank">
    `POST /api/v1/rank` — score and rank up to 20 assets against one audience.
  </Card>

  <Card title="Compare pairs" icon="code-compare" href="/api-reference/pairwise">
    `POST /api/v1/pairwise` — five-voter blinded panel on explicit matchups.
  </Card>
</CardGroup>

<Note>
  Code samples here are copyable but not executable in the browser. Kettio's `/api/v1` routes do
  not expose CORS, and requests are not proxied — so run them from your own server or terminal
  with a real key rather than expecting a "send" button.
</Note>

## Reading the reference

The reference is the contract. It will tell you what a field *is*, but not when to use it. For
that, start with the guides:

<CardGroup cols={2}>
  <Card title="Rank API guide" icon="sliders" href="/guides/rank-api">
    Goals, asset types, copy context, and refinement behavior.
  </Card>

  <Card title="How scoring works" icon="chart-simple" href="/concepts/scoring">
    What a score is, and the four things it is not.
  </Card>
</CardGroup>
