API & MCP
Let your LLM send its translations to native speakers. Create an API key in Wallet (with optional daily and total spending caps), top up, and call the API or connect the MCP server.
Agent flow
Nativecheck = native speakers verify machine translations; reviews take minutes to hours, so it is asynchronous. 1) Collect ALL texts you need checked and POST /api/v1/quotes once (requested_by: "agent", agent: your name; items: target_lang + content as text, html or a JSON object; optional ref, source, context, doubt 0-100, doubt_note). 2) Show summary_for_human (price range + ETA) to your human and ask for approval. 3) POST /api/v1/orders {quote_id} with an Idempotency-Key header. Save order_id + check_after in memory, tell the human the ETA, and follow wait_plan: start a long-running background task/timer that waits until check_after, then polls GET /api/v1/orders/{id} every 60 s. 4) When ready=true, GET /api/v1/orders/{id}/delivery and replace your texts by ref. 5) POST /api/v1/orders/{id}/ack. The human also gets an in-app/push notification when ready. Keep placeholders like {name}, %s and ⟦1⟧ unchanged. Prices are coins (1 coin = $0.01).
- Quote: send every text at once (text, HTML or a JSON locale object, each with
target_langand yourref). Optionaldoubt(0–100) and/ordoubt_note: how unsure you are. The note is scored automatically; it only moves the price range, since natives always read everything. - Ask the human: show
summary_for_human(price range, ETA). - Order: commit the quote. Coins are held and the unused part is refunded. Agents send
requested_by: "agent"and theiragentname. Agent orders come back with await_plan: start a long-running background task or timer that waits untilcheck_after, then polls every 60 s (a ready-to-run shell loop is included). The human gets an in-app and push notification when it's ready. - Check later, then collect the verified texts by
ref, with changes and a provenance record per segment (pseudonymous reviewer ids, method, timestamps, SHA-256 of original and final). - Ack: texts are deleted 30 days after receipt (90 days if never acknowledged); provenance hashes are kept.
Already-verified sentences (translation memory) come back instantly and are not charged. Price: 2 coins per word per native (min 10) + 3 per voted fragment. 1 coin = $0.01. Natives receive 80%.
MCP (Claude Code, Cursor, any MCP client)
claude mcp add --transport http nativecheck https://nativecheck.data-clerk.com/mcp \ --header "Authorization: Bearer nck_YOUR_KEY"
{"mcpServers": {"nativecheck": {"type": "http", "url": "https://nativecheck.data-clerk.com/mcp",
"headers": {"Authorization": "Bearer nck_YOUR_KEY"}}}}
Tools: quote_review → place_order → check_order → collect_order → ack_order, plus balance, languages. Every result carries how_to and next.
REST
Base https://nativecheck.data-clerk.com/api/v1 · OpenAPI · llms.txt · llms-full.txt · MCP server card
curl -s https://nativecheck.data-clerk.com/api/v1/quotes -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{
"requested_by": "agent", "agent": "claude-code", "reviewers": 2, "context": "Tea guide for beginners", "doubt": 40,
"items": [
{"ref": "tea/de.json", "target_lang": "de", "content": {"ui": {"h1": "Alle Tees erklärt"}}},
{"ref": "about.html", "target_lang": "fr", "content": "<p>Le thé <b>vert</b> …</p>",
"doubt_note": "unsure about tea terminology"}]}'
curl -s https://nativecheck.data-clerk.com/api/v1/orders -H "Authorization: Bearer $KEY" -H "Idempotency-Key: tea-2026-10" \
-d '{"quote_id":"…"}'
curl -s https://nativecheck.data-clerk.com/api/v1/orders/ID -H "Authorization: Bearer $KEY"
curl -s https://nativecheck.data-clerk.com/api/v1/orders/ID/delivery -H "Authorization: Bearer $KEY"
curl -s -X POST https://nativecheck.data-clerk.com/api/v1/orders/ID/ack -H "Authorization: Bearer $KEY"
Webhook
Optional callback_url on the order: POST with {"event":"order.ready","order":{…delivery…}}, header X-Nativecheck-Signature: sha256=<hex HMAC-SHA256 of body with the key's webhook secret>. Retried 5 times.
Errors
401 bad key · 402 insufficient balance or key cap · 409 not ready yet · 410 texts deleted after retention · 422 invalid input. Errors carry how_to and next too.
Languages
en English, de Deutsch, fr Français, es Español, it Italiano, pt Português, nl Nederlands, pl Polski, uk Українська, cs Čeština, sk Slovenčina, hr Hrvatski, bg Български, sv Svenska, da Dansk, nb Norsk bokmål, fi Suomi, zh 简体中文, ja 日本語, ko 한국어, tr Türkçe, ro Română, hu Magyar, el Ελληνικά