The response object

A response is Jockey’s reply to a request, generated by reasoning over the content in a knowledge store.

The object is composed of the following fields:

  • id: A string representing the unique identifier of the response.
  • knowledge_store_id: A string representing the unique identifier of the knowledge store the response was generated against.
  • session_id: A string representing the session identifier for the conversation. Pass it in subsequent requests to continue the multi-turn conversation.
  • type: A string representing the object type. The value is always response.
  • status: A string representing the status of the response. See the Response statuses section for the meaning of each value.
  • output: An array of output items. By default, only the final message is included. To also receive function call items, set include to ["intermediate_outputs"] in the request.
  • incomplete_details: An object explaining why the response is not a whole answer. Always present; non-null only when status is incomplete. See the Incomplete responses section.
  • usage: An object containing token usage statistics, with input_tokens and output_tokens fields.
  • created_at: A string representing the date and time, in the RFC 3339 format, when the response was created.

Response statuses

The status field of a response has one of the following values:

  • in_progress: The response is being generated.
  • completed: The response has been generated successfully.
  • incomplete: The response is not a whole answer. Read incomplete_details.reason to find out whether output holds a partial answer or nothing at all.
  • failed: The response generation has failed.

Incomplete responses

incomplete_details is always present and is null on every status except incomplete, so null means “this answer was not truncated” rather than “this platform does not report the reason”. When it is non-null, its reason says what stopped the answer:

  • max_output_tokens: the answer reached the output limit before it was finished. The text in output is a valid prefix of the answer — usually worth rendering, marked as cut off.

Treat a value you do not recognize as “not a whole answer, for a reason this client does not know” rather than as an error.

Example

1{
2 "id": "resp_069e98c3-8c45-7f89-9bcd-ef1234567890",
3 "knowledge_store_id": "ks_069e9869-1ea3-7481-8000-dae72bf6be6e",
4 "session_id": "sess_069e98b7-7a2c-7b3e-8a1f-4c5b6d7e8f91",
5 "type": "response",
6 "status": "completed",
7 "output": [
8 {
9 "type": "message",
10 "id": "msg_069e98c3-8c45-7f89-9bcd-ef1234567891",
11 "status": "completed",
12 "role": "assistant",
13 "content": [
14 {
15 "type": "output_text",
16 "text": "Ranked by excitement level, the top moments are the buzzer-beater at 02:14, the fast break at 05:47, and the blocked shot at 08:03."
17 }
18 ]
19 }
20 ],
21 "incomplete_details": null,
22 "usage": {
23 "input_tokens": 1240,
24 "output_tokens": 320
25 },
26 "created_at": "2025-12-01T10:00:00Z"
27}