state and one or more named,
typed questions; read structured decisions from answers. GLiDE does not use
/v1/chat/completions, messages, or a GLiNER schema.
GLiDE costs $0.15 per 1 million input tokens. Output tokens are free ($0).
See Pricing for the current inference rates.
View the API contract
Inspect the exhaustive request and response schema for POST /v1/systemone.
GLiDE cookbooks
Tested end-to-end requests for ticket triage, agent action gates, and prompt injection screening.
Set up your API key
Set your key as an environment variable so the examples below work as-is:Choose a question type
Every question is single-label and returns probabilities. Choose the primitive from the answer shape your code needs:
There is no multi-label primitive. Ask multiple independently named questions in one request
when you need several judgments about the same state.
Request
string
required
Use
fastino/GLiDE. Omitting it returns 422 'model' must be provided. The response echoes
the engine name as glide.string | object | array
required
The non-empty situation to evaluate. Use a string for one passage, an object for labeled
fields, or an array for an ordered sequence of messages or records.
object
required
State shapes
state is the material every question is evaluated against - think of it as what you’d hand a panel of experts before asking them to make a judgment.
Use an object when the decision depends on comparing several named parts (a ticket plus the policy it’s evaluated against, for example) - it keeps each part labeled and its relationships clear. A plain string is enough when the case is a single self-contained passage. All questions in a request see the same
state and are evaluated independently against it.
Complete request
Response
answers uses the question keys from your request. For this Noul:
noulis the probability that thetruecriterion holds. It is not a boolean.confidenceis certainty about either outcome:|2 × noul − 1|.- Tune action thresholds on representative data. Do not assume
0.5is the right business threshold.
Combining multiple questions
Ask multiple questions of different types against the samestate in a single call. All questions are evaluated together in one round trip.
Limits and unsupported shapes
- Each rendered question prompt (
stateplus that question) must fit within 40,000 tokens. - Choice requires 2 to 255 options; one option cannot represent a decision or meaningful confidence margin. Score accepts at most 255 levels.
usage.input_tokenssums the internal passes for all questions, so it can exceed 40,000 even though every individual rendered prompt fits.- One request evaluates one shared
state; put multiple questions underquestions. /v1/systemonedoes not stream and does not accept a batch of independent states.- GLiDE does not currently support fine-tuned deployment IDs.
Migrating from TypeSafe
TypeSafe’s Jev and Fastino’s GLiDE use the same System One structure ofstate, named
questions, and matching answers. Most requests transfer cleanly, but the integration is
not a drop-in replacement. Use this checklist to migrate safely:
1
Keep the System One request structure
Preserve non-empty
state, question keys, and primitive types. GLiDE requires every
instructions value to be a non-empty string, so convert omitted, null, object, or array
instructions into clear text. Keep Choice criteria as an object. Noul criteria are
optional, but their true and false values must be strings. Prefer an ordered array
for Score criteria. Send only the documented request fields your integration needs.
Unsupported top-level fields return 422, so do not copy arbitrary TypeSafe client
options into the JSON body.2
Change the endpoint, credential, and model
Point the request at Fastino, read
FASTINO_API_KEY, send it with X-API-Key, and set
model to fastino/GLiDE. Fastino also accepts the Bearer header if retaining that
style makes a direct HTTP migration simpler. Expect model: "glide" in the response.3
Update Score response handling
TypeSafe’s
score is a probability-weighted float. Its GLiDE equivalent is
expected_level. GLiDE’s score is instead the integer index of the most probable level.
GLiDE returns Score legend descriptions as strings, so update consumers that expect
structured legend values. GLiDE also accepts criteria objects with numeric string keys,
such as {"1": "low", "3": "medium", "5": "high"}. The keys are sorted and discarded,
and the response is reindexed from 0 through N-1. Use an ordered array when the
original numeric values must not be mistaken for returned level indexes.4
Check level keys and retry behavior
GLiDE returns Score
probabilities and legend with string keys such as "0" and "1".
TypeSafe’s raw HTTP response does the same, but its Python SDK may expose integer keys.
Convert keys only if the application requires integer-keyed maps. Replace TypeSafe’s
529 retry handling with Fastino’s 425 and 503 handling, and keep bounded backoff for
429. Honor Retry-After when present and apply the same retry budget to transport
failures.5
Revalidate decision thresholds
Keep existing business actions intact during the port, then test GLiDE on representative
cases before deployment. Do not assume thresholds calibrated for Jev transfer unchanged
to a different model.
Replace TypeSafe SDK usage
If the project uses a TypeSafe SDK:- Find
typesafe-sdk,@typesafe-ai/sdk,TypeSafeClient,AsyncTypeSafeClient, and TypeSafe question constructors in manifests, imports, application code, and tests. - Replace SDK constructors and typed response access with the project’s HTTP client and decoded JSON.
- Remove TypeSafe packages and imports only after no references remain.
Errors
A first request to a cold model may return425 model_warming while it warms up; retry
after about 60 seconds.
Use a read timeout of at least 300 seconds and bounded backoff for
425, 429, and 503.
Do not retry 401, 402, 403, 404, or 422 without correcting the underlying problem.
Continue learning
GLiDE overview
Understand GLiDE, choose a primitive, and review model-specific guidance.
Noul
Integrate a yes/no probability.
Choice
Route to one named option.
Score
Evaluate an ordered rubric.

