API docs

Integrate Dokima into your CI, dashboards, or workflows.

Quick start

1. Embed the badge (no auth — always free)
markdown
[![Dokima score](https://dokima.dev/badge/mistralai/Mistral-7B-v0.1@<sha>.svg)](https://dokima.dev/score/mistralai/Mistral-7B-v0.1)
2. Scan a model with your API key (Hobby+)
bash
curl -H "Authorization: Bearer dks_live_yourkey" \
  https://dokima.dev/api/v1/scan/mistralai/Mistral-7B-v0.1
3. Use in Rust
rust
use reqwest::Client;
use serde_json::Value;

let resp: Value = Client::new()
    .get("https://dokima.dev/api/v1/scan/mistralai/Mistral-7B-v0.1")
    .header("Authorization", "Bearer dks_live_yourkey")
    .send().await?
    .json().await?;

println!("Score: {} ({})", resp["score_total"], resp["grade"]);
4. Use in Python
python
import requests

resp = requests.get(
    "https://dokima.dev/api/v1/scan/mistralai/Mistral-7B-v0.1",
    headers={"Authorization": "Bearer dks_live_yourkey"},
)
data = resp.json()
print(f"Score: {data['score_total']} ({data['grade']})")

Endpoints

GET
/api/v1/scan/{author}/{model}
Score a model. Returns full dimension breakdown, attestations, transparency footer fields. Requires Bearer dks_live_ key from Hobby tier upward; the unauthenticated web scanner remains free.
Hobby
GET
/badge/{author}/{model}@{sha}.svg
Content-addressed SVG badge. Cache-Control: max-age=1y, immutable. Embed from any GitHub README or marketing page; CDN edge does the heavy lifting. The badge is the only public unauthenticated endpoint.
Free
GET
/api/v1/leaderboard
Top models from the Stage D calibration corpus. Filter by grade and format; paginate via limit + offset.
Hobby
GET
/api/v1/stats
Aggregate statistics: total scans, unique models, methodology version, last recalibration.
Hobby
GET
/api/v1/score-history
Last 20 scans for the authenticated user. Requires Bearer dks_live_ key.
Hobby
GET
/api/v1/account
Authenticated user profile, tier, monthly scan count + quota.
Hobby
POST
/api/v1/batch
Submit up to 100 model IDs for batch scoring. Returns job_id immediately; poll /jobs/{job_id} or supply a webhook callback URL.
Pro
GET
/api/v1/jobs/{job_id}
Poll for batch job completion. Returns progress + per-model verdicts when ready.
Pro

Rate limits

Tier
Monthly quota
Burst limit
Unauthenticated (web)
3 / day per IP
Free with account (web)
25 / month
Hobby (£5/mo)
500 / month
60 req/min
Pro (£39/mo)
30,000 / month
600 req/min
Compliance (custom)
100K–1M / month
6,000 req/min
Enterprise (custom)
1M+ / month
60,000 req/min