---
title: "Stylome API documentation"
url: "https://stylome.io/api/docs"
---

> [Documentation index](https://stylome.io/llms.txt) · [API overview](https://stylome.io/api/docs)

# Stylome API documentation

Analyze text with the Stylome developer API at `https://stylome.io`. This reference, its Markdown versions, the [OpenAPI schema](https://stylome.io/api/openapi.json), and the [interactive reference](https://stylome.io/api/docs/interactive) are public. Reading them does not require an API key. Scoring requires a Bearer credential and prepaid API credit.

The API is in early alpha. Endpoints and models can change without a guaranteed notice period. API credit is separate from a personal extension subscription.

## Start here

1. Read [authentication](https://stylome.io/api/docs/authentication) to create a key and choose its scopes and retention mode.
2. Read [scoring](https://stylome.io/api/docs/scoring) to prepare a request and interpret the result.
3. Read [operations](https://stylome.io/api/docs/operations) for read endpoints, error handling, timeouts, and retries.
4. Read [billing and privacy](https://stylome.io/api/docs/billing-and-privacy) before sending customer content.

Every page has an equivalent Markdown representation: append `.md` to its URL, or request `Accept: text/markdown`. Normal browser requests receive HTML. The documentation needs no JavaScript. The optional interactive reference uses Swagger UI and JavaScript.

## Public endpoints

All paths below use the base URL `https://stylome.io`. Send JSON request bodies with `Content-Type: application/json`.

| Method and path | Purpose | Authorization |
| --- | --- | --- |
| `GET /api/v1/models` | Public model IDs, limits, normalization, capabilities, and price | Public |
| `POST /api/v1/score` | Analyze one text with an explicit model | Bearer; `score:create` |
| `GET /api/v1/key` | Inspect the current key identity and retention policy | Bearer; no extra read scope |
| `GET /api/v1/limits` | Inspect account quota and prepaid balance | Bearer; `account:read` |
| `GET /api/v1/usage` | Query account request-ledger usage | Bearer; `usage:read` |
| `GET /api/v1/status` | API/database reachability and inference configuration | Public |

The public [OpenAPI schema](https://stylome.io/api/openapi.json) contains exactly these six paths, including full request and response schemas. Website session, billing checkout, and private internal endpoints are outside this developer contract.

## Check available models without a key

```bash
curl --fail-with-body https://stylome.io/api/v1/models
```

The response is an object with `object: "list"` and a `data` array. Each model includes `id`, `display_name`, `description`, `recommended`, `status`, optional deprecation and retirement dates, input limits, `max_request_bytes`, `length_unit`, `normalization`, operating points, `response_kind`, retention support, price, and `pricing_version`.

Use `stylome-1.2-large` for the three authorship classes and relative confidence. `stylome-1.0-large` has a separate legacy numerical response. Retired IDs, including `stylome-large-1.0`, are rejected. Read the live catalog before assuming a model is available.

## Interpret results with care

A classification is evidence to review, not proof of a person's conduct. Results depend on the source, register, length, and distribution of the input. Confidence is relative nearest-neighbor support, not a probability of correctness. Operating-point names refer to calibration false-positive-rate targets, not guaranteed error rates on new text.

For model measurements and their stated datasets and limits, see [transparency](https://stylome.io/transparency) and [methodology](https://stylome.io/methodology). Compare systems at a matched false-positive rate. The scoring reference explains which analyses the public response supports.

For integration help, contact [support@stylome.io](mailto:support@stylome.io) with a request ID. Do not send secret keys or private text in support logs.
