System One API
TypeSafe native format for text, JSON, images and typed answers.
Last updated on
System One uses TypeSafe's native JSON format with the same decision models and API key. The selected model's catalog price applies.
Text and JSON
Use decision.json from the Decisions API example with this request path:
curl --fail-with-body --silent --show-error https://api.cicora.ai/v1/systemone \
-H "Authorization: Bearer $CICORA_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @decision.jsonPOST /api/v1/systemone is an alias for the same operation. Do not duplicate /v1 when configuring a base URL.
Differences from Decisions API
- Question
instructionsmay be omitted ornull. - Choice returns
choice,confidenceandprobabilities. - Score returns
score,confidence,probabilitiesandlegend. - Noul returns
noul, a number from 0 to 1. - Box returns
boxwith normalizedtop,bottom,left,rightedges from 0 to 1, andconfidence.
Choice accepts at most 255 options and Score at most 10 levels; individual models can impose lower limits. Check supported question types and context in the catalog.
Images and Box
Only models with verified image and Box support on System One accept this input. Add typesafe-danger-zone-images: true. Supply PNG/JPEG via assets; data_base64 contains raw Base64 without a data: prefix. Multipart uploads are not supported.
The body below illustrates the structure. Replace BASE64_IMAGE_BYTES with actual encoded image bytes.
{
"model": "typesafe/jev-1.14",
"state": "Product photo: product",
"assets": {
"product": {"type": "image", "format": "png", "data_base64": "BASE64_IMAGE_BYTES"}
},
"questions": {
"product_region": {"type": "box", "instructions": "The product in the product photo."}
}
}Box edges are measured from the top-left corner. A box alone does not prove the target exists; add a Noul presence question when your task requires that check.
Long context
If supported by the model, explicitly enable long context with typesafe-danger-zone-long-context: true. Opt-in headers must have the exact value true; omit a header when its mode is not needed. These flags do not bypass model context or request body limits.
See Decisions API for costs, usage accounting and retry behavior. To try the model without code, select it from the chat model picker in the cabinet.