Responses
Stateless text and function items with typed response lifecycle events.
Updated October 31, 2026 · Contract 0.2.0
Request contract
Use string input or bounded typed input items, optional instructions and max_output_tokens. This subset is stateless: omit storage or set store:false. Carry previous text/function items forward explicitly.
Tool correlation
Assistant function_call items may be sent back with function_call_output using the matching call_id. Preserve every call and its result. Missing, duplicate or orphaned results are rejected.
Streaming lifecycle
Events include ordered sequence numbers and native response/output events. Successful output ends in response.completed. Output-bound exhaustion ends in response.incomplete with max_output_tokens; the stream does not use [DONE].
Storage boundary
store:true, previous_response_id, conversation IDs, background execution and native retrieve/delete/cancel semantics are unsupported. store:false disables public native response retrieval; it does not erase required durable safety and accounting records.
Request example
Use your customer key and a published model. Copying an example does not send a request.
curl https://api.notholy.com/v1/responses \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "notholy-pulse",
"input": "Explain least privilege.",
"max_output_tokens": 256,
"store": false
}'HTTP contract fixture. Fixture checks are separate from live model availability.
Request fields
Generated from the versioned contract. Refinement rules above still apply.
reasoning_effort"off" | "none" | "low" | "high" | "max"temperaturenumberMinimum 0. Maximum 2.
top_pnumberMinimum 0. Maximum 1.
stopstring | array<string>Show accepted variants
Variant 1stringUp to 1,024 characters.
Variant 2array<string>Up to 16 items. At least 1 item.
response_formatobject | object | objectShow accepted variants
Variant 1objectUnknown fields rejected.
Show object fields
type"text"requiredVariant 2objectUnknown fields rejected.
Show object fields
type"json_object"requiredVariant 3objectUnknown fields rejected.
Show object fields
type"json_schema"requiredjson_schemaobjectrequiredUnknown fields rejected.
Show object fields
namestringrequireddescriptionstringUp to 1,000 characters.
schemaobjectrequiredstrictbooleaneffort"off" | "none" | "low" | "high" | "max"prompt_tokensintegerMinimum 0. Maximum 9,007,199,254,740,991.
reasoningobjectUnknown fields rejected.
Show object fields
effort"off" | "none" | "low" | "high" | "max"requiredtextobjectUnknown fields rejected.
Show object fields
formatobject | object | object | objectrequiredShow accepted variants
Variant 1object | object | objectVariant 2objectUnknown fields rejected.
Show object fields
type"json_schema"requirednamestringrequireddescriptionstringUp to 1,000 characters.
schemaobjectrequiredstrictbooleanmodelstringrequiredUp to 100 characters.
inputstring | array<object | object | object>requiredShow accepted variants
Variant 1stringUp to 1,048,576 characters.
Variant 2array<object | object | object>Up to 128 items. At least 1 item.
instructionsstringUp to 1,048,576 characters.
max_output_tokensintegerMinimum 1. Maximum 512,000.
max_tokensintegerMinimum 1. Maximum 512,000.
max_completion_tokensintegerMinimum 1. Maximum 512,000.
streambooleanstorefalsebackgroundfalsetoolsarray<object>Up to 8 items.
Show item fields
type"function"requirednamestringrequireddescriptionstringUp to 1,000 characters.
parametersobjectrequiredstrictfalse | nulltool_choice"auto" | "none" | "required" | objectShow accepted variants
Variant 1"auto" | "none" | "required"Variant 2objectUnknown fields rejected.
Show object fields
type"function"requirednamestringrequiredResponse schema
idstringrequiredobject"response"requiredcreated_atintegerrequiredMinimum -9,007,199,254,740,991. Maximum 9,007,199,254,740,991.
status"in_progress" | "completed" | "failed" | "incomplete"requirederrorobject | nullrequiredShow accepted variants
Variant 1objectUnknown fields rejected.
Show object fields
codestringrequiredmessagestringrequiredVariant 2nullincomplete_detailsobject | nullrequiredShow accepted variants
Variant 1objectUnknown fields rejected.
Show object fields
reason"max_output_tokens"requiredVariant 2nullinstructionsstring | nullrequiredmax_output_tokensintegerrequiredMinimum -9,007,199,254,740,991. Maximum 9,007,199,254,740,991.
modelstringrequiredoutputarray<object | object | object>requiredparallel_tool_callsbooleanrequiredtool_choicestring | objectrequiredShow accepted variants
Variant 1stringVariant 2objectUnknown fields rejected.
Show object fields
type"function"requirednamestringrequiredtoolsarray<object>requiredShow item fields
type"function"requirednamestringrequireddescriptionstringUp to 1,000 characters.
parametersobjectrequiredstrictfalse | nullusageobject | nullrequiredShow accepted variants
Variant 1objectUnknown fields rejected.
Show object fields
input_tokensintegerrequiredMinimum 0. Maximum 9,007,199,254,740,991.
input_tokens_detailsobjectrequiredUnknown fields rejected.
Show object fields
cached_tokensintegerrequiredMinimum 0. Maximum 9,007,199,254,740,991.
output_tokensintegerrequiredMinimum 0. Maximum 9,007,199,254,740,991.
output_tokens_detailsobjectUnknown fields rejected.
Show object fields
reasoning_tokensintegerrequiredMinimum 0. Maximum 9,007,199,254,740,991.
total_tokensintegerrequiredMinimum 0. Maximum 9,007,199,254,740,991.
Variant 2nullstorefalserequiredmetadataobjectrequiredUnknown fields rejected.