Getting started
Dex documentation
What the decision API does, the three question types, how a call looks, and where to read next.
thinQit Dex is a decision API hosted in the EU. You send a state (text or JSON) plus typed questions about it, and you get typed answers with calibrated probabilities. On GPU model versions, the same request to the same version returns the same answer every time. Requests are processed in the EU, and by default no request content is stored. You pay for input tokens only, and output is free.
Sign-up and API keys are open: create a free test key in the console at https://thinqit.ai/console/. Paid top-ups open soon. The SDKs, the CLI and the VS Code extension are coming soon to their registries; until then, install them from Downloads. You can also run a mock of the API from the published contract: see Try it today with a mock server.
The three question types
| Type | What it asks | What you get back |
|---|---|---|
pick |
Which one of these 1 to 255 labeled options fits? | choice, a probability per option, confidence |
rate (beta) |
Where does it sit on this scale of 2 to 10 ordered levels? | rating, a probability per level, confidence |
check |
Is this statement true? | probability of yes, confidence |
rate is in beta: on our test set it agrees with the reference on 63.7% of questions, below our bar of 68%. See Questions.
Every answer also has abstained. It is true when you set a min_confidence for the question and the answer's confidence falls below it. See Questions and Abstention.
How a call looks
You send one POST https://api.thinqit.ai/v1/decide with a state and your questions. Each question has an id you choose, here angry:
{
"state": {
"ticket": {
"channel": "email",
"subject": "Charged twice, still no answer",
"body": "This is the third time I am writing. You charged my card twice for order 4471 and nobody replies. Fix it today or I cancel my subscription."
}
},
"questions": {
"angry": {
"type": "check",
"instructions": "Is the writer of {{ticket.body}} angry?",
"min_confidence": 0.6
}
}
}
The response names the exact model version, the path that served it, the calibration version and what you paid. Illustrative values:
{
"id": "req_01M5D0000000000000000000AB",
"object": "decision",
"created": 1792497700,
"model": "dex-1.0.0",
"served_by": "gpu",
"calibration": "cal-20261015-1",
"answers": {
"angry": { "type": "check", "probability": 0.9421, "confidence": 0.8842, "abstained": false }
},
"usage": {
"input_tokens": 70,
"state_tokens": 52,
"question_tokens": 18,
"charge_micro_cents": 350,
"unit_price_micro_cents": 5,
"tier": "t1"
}
}
{{ticket.body}} is a field reference. It points the question at one field of the state without sending that field twice.
Where to go next
Getting started:
- Quickstart: get a key, try the mock, make a call in curl, Python or TypeScript, and act on the answer.
Concepts:
- State: what you send, as a string or as JSON, and how it is billed.
- Questions:
pick,rateandcheck, criteria, and question ids. - Field references: point a question at one field with
{{path}}. - Confidence: how
confidenceis computed and what it is not. - Abstention: let an unsure answer say so with
min_confidence. - Determinism: the same answer every time, and where that guarantee applies.
- Calibration: what the probabilities mean and how we check them.
- Models and versions: the
dex-1alias, exact versions and their lifecycle. - Fallback and served_by: when a hosted fallback answers, and how to keep a request on the GPU.
Reference:
- Authentication and API keys: the bearer header, scopes,
GET /v1/keyand the key checksum. - Errors: the error envelope, every status code and when to retry.
- Headers: request and response headers, including rate limit headers.
- Rate limits: limits per key and per account, and what a 429 means.
- Idempotency: retry safely without paying twice.
- Limits: every size limit and the error it returns.
- Tokens and billing: what counts as a billable token and how the balance works.
- Data handling and residency: where requests are processed and what we keep.
- SDKs and CLI: the planned Python and TypeScript SDKs and the command line tool.
- API reference for decide: the full request and response schema from the contract.
- Pricing and the changelog.