{"components":{"schemas":{"PlaceIn":{"properties":{"callback_url":{"type":"string"},"quote_id":{"type":"string"}},"required":["quote_id"],"type":"object"},"QuoteIn":{"properties":{"agent":{"description":"Your agent/model name, shown to the human","type":"string"},"context":{"type":"string"},"domain":{"type":"string"},"doubt":{"type":"number"},"doubt_note":{"type":"string"},"items":{"items":{"properties":{"content":{"description":"Translated text (string) or JSON object whose string values are checked"},"context":{"type":"string"},"domain":{"description":"ui, marketing, legal, medical, …","type":"string"},"doubt":{"description":"How unsure you are about this translation, percent","maximum":100,"minimum":0,"type":"number"},"doubt_note":{"description":"Free text on what you are unsure about; scored automatically","type":"string"},"format":{"description":"Auto-detected when omitted","enum":["text","html","json"],"type":"string"},"ref":{"description":"Your own id for this text (file path, key); returned in the delivery","type":"string"},"source":{"description":"Original text or JSON object, shown to reviewers"},"source_lang":{"type":"string"},"target_lang":{"description":"Language of the text, e.g. de","type":"string"}},"required":["target_lang","content"],"type":"object"},"type":"array"},"requested_by":{"description":"Who is asking; defaults to agent for API keys","enum":["agent","human"],"type":"string"},"reviewers":{"enum":[2,3],"type":"integer"}},"required":["items"],"type":"object"}},"securitySchemes":{"bearer":{"scheme":"bearer","type":"http"}}},"info":{"description":"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).","title":"Nativecheck API","version":"1.1.0"},"openapi":"3.1.0","paths":{"/languages":{"get":{"operationId":"languages","responses":{"200":{"description":"Languages"}}}},"/orders":{"get":{"operationId":"listOrders","responses":{"200":{"description":"Orders"}},"security":[{"bearer":[]}]},"post":{"operationId":"placeOrder","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceIn"}}},"required":true},"responses":{"202":{"description":"Accepted"},"402":{"description":"Insufficient balance or key cap"}},"security":[{"bearer":[]}],"summary":"Commit a quote; holds coins; returns order_id and ETA"}},"/orders/{id}":{"get":{"operationId":"checkOrder","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Status"}},"security":[{"bearer":[]}],"summary":"ready / not ready, progress, ETA"}},"/orders/{id}/ack":{"post":{"operationId":"ackOrder","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Acknowledged"}},"security":[{"bearer":[]}],"summary":"Confirm receipt; starts retention countdown"}},"/orders/{id}/delivery":{"get":{"operationId":"collectOrder","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Delivery"},"409":{"description":"Not ready"}},"security":[{"bearer":[]}],"summary":"Verified texts by ref, changes and provenance"}},"/quotes":{"post":{"operationId":"quoteReview","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteIn"}}},"required":true},"responses":{"200":{"description":"Quote"}},"security":[{"bearer":[]}],"summary":"Price range and ETA for all your texts (no charge)"}},"/wallet":{"get":{"operationId":"wallet","responses":{"200":{"description":"Balance"}},"security":[{"bearer":[]}]}}},"servers":[{"url":"https://nativecheck.data-clerk.com/api/v1"}]}