What reaches the model
A run sends its input to the model: Neon 1.1 for decision runs. What the model reads depends on the kind of run.
For example, this
state gives the model what it needs to triage a ticket and nothing else:
What a run returns and keeps
Each admitted run gets a record in your organization. The live response toPOST /v1/runs carries the answer, and later reads return the stored record.
The digests let you check whether two runs had the same input, or produced the same answer, without comparing the content itself.
What each read returns:
The stored answer does not include everything the live response did. When thought tokens are generated, a live decision reports
thought_tokens and thought_closed. The thought text itself is never returned, live or stored.
Read a stored answer
Who can read your runs
- Runs belong to the organization of the credential that created them.
- Any credential in that organization with
runs_readcan list runs and read every stored answer. Giveruns_readonly to processes and people who should see answers. See Scopes and roles. - A run id from another organization returns
404 run_not_found, the same as an id that does not exist. The response does not reveal whether the run exists elsewhere.
Credentials
The API accepts credentials only in the
Authorization header. It does not read credentials from cookies, and a key secret sent in a URL path is refused with 400 secret_in_path before any lookup. Details are in API key security.
Other values you send
Error messages
An error’smessage is written by OpenType for people to read. It never contains output from the model provider, so it is safe to log. Branch on error.code, and log error.request_id with it. See Error handling.
Your side
- Minimize input. Put only what the questions need into
state,instructionsandquestions. - Keep keys on your server. Browser code that calls the API exposes your key and every answer it can read.
- Scrub your own logs. Strip
Authorizationheaders and request bodies from your application logs, or log therun_idandinput_digestinstead of the payload. - Scope reads. A key that only sends runs and uses the answer from the response needs
runs_writealone, and cannot read back other runs.
Related
- API key security - how key secrets are stored, shown once, and retired.
- Scopes and roles - who can read runs and answers.
- Runs - the full run lifecycle and response fields.
- Idempotency - how the Idempotency-Key and input digest decide a replay.
- Request ids - the x-request-id rules in full.