Guide
First call
Objective
Send one POST, read answers / model / usage, and know what 401, 422, 429, and 529 mean.
One endpoint
The HTTP docs expose one evaluate path: POST https://api.typesafe.ai/v1/systemone with a Bearer token. GET /v1/models lists aliases your account may send; versioned IDs such as jev-1.13.0 still work when unlisted. Flavio’s error map: 401 key, 422 body (the response names the field), 429 rate limit, 529 overload — back off the last two. Official SDKs read TYPESAFE_API_KEY.
The body is model, state, questions. Question keys are for your code; the docs say the ID is not sent to the model, so write the full question in instructions. The response fills answers with those same keys, plus the resolved model id and usage.
Exercise
The ticket below is the documented Stripe-integration example: one support message, three questions. After you run it, check three things: department.choice stays inside your keys; frustration.score may be fractional; is_urgent has no confidence field.