A minimal request
Create your own TypeSafe API key and keep it in an environment variable.
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"jev-latest","state":"Customer was charged twice and asks for a refund.","questions":{"urgent":{"type":"noul","instructions":"Is this request urgent?"},"department":{"type":"choice","instructions":"Which team should own this ticket?","criteria":{"billing":"Payments, invoices, refunds or subscriptions","technical":"Product bugs, APIs or integrations","sales":"Plans, pricing or sales questions"}}}}'Three design rules
Make options distinct
Candidate descriptions should be complete and mutually exclusive.
Keep exact work in code
Dates, amounts, permissions and format checks should be deterministic.
Use probability as a gate
Act on high confidence, confirm in the middle, escalate when low.
A simple gate
if confidence >= 0.90:
execute_low_risk_action()
elif confidence >= 0.65:
ask_for_confirmation()
else:
escalate_to_human()Direct API access first: Let users use their own TypeSafe account. Sell schema design, debugging, evaluation and integration rather than hiding one shared key.
Next step
Browse the open model directory or see the support-routing workflow.