Skip to documentation

Responses

Stateless text and function items with typed response lifecycle events.

Updated October 31, 2026 · Contract 0.2.0

POST/v1/responses

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
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"

temperaturenumber

Minimum 0. Maximum 2.

top_pnumber

Minimum 0. Maximum 1.

stopstring | array<string>

Show accepted variants
Variant 1string

Up to 1,024 characters.

Variant 2array<string>

Up to 16 items. At least 1 item.

response_formatobject | object | object

Show accepted variants
Variant 1object

Unknown fields rejected.

Show object fields
type"text"required

Variant 2object

Unknown fields rejected.

Show object fields
type"json_object"required

Variant 3object

Unknown fields rejected.

Show object fields
type"json_schema"required

json_schemaobjectrequired

Unknown fields rejected.

Show object fields
namestringrequired

descriptionstring

Up to 1,000 characters.

schemaobjectrequired

strictboolean

effort"off" | "none" | "low" | "high" | "max"

prompt_tokensinteger

Minimum 0. Maximum 9,007,199,254,740,991.

reasoningobject

Unknown fields rejected.

Show object fields
effort"off" | "none" | "low" | "high" | "max"required

textobject

Unknown fields rejected.

Show object fields
formatobject | object | object | objectrequired

Show accepted variants
Variant 1object | object | object

Variant 2object

Unknown fields rejected.

Show object fields
type"json_schema"required

namestringrequired

descriptionstring

Up to 1,000 characters.

schemaobjectrequired

strictboolean

modelstringrequired

Up to 100 characters.

inputstring | array<object | object | object>required

Show accepted variants
Variant 1string

Up to 1,048,576 characters.

Variant 2array<object | object | object>

Up to 128 items. At least 1 item.

instructionsstring

Up to 1,048,576 characters.

max_output_tokensinteger

Minimum 1. Maximum 512,000.

max_tokensinteger

Minimum 1. Maximum 512,000.

max_completion_tokensinteger

Minimum 1. Maximum 512,000.

streamboolean

storefalse

backgroundfalse

toolsarray<object>

Up to 8 items.

Show item fields
type"function"required

namestringrequired

descriptionstring

Up to 1,000 characters.

parametersobjectrequired

strictfalse | null

tool_choice"auto" | "none" | "required" | object

Show accepted variants
Variant 1"auto" | "none" | "required"

Variant 2object

Unknown fields rejected.

Show object fields
type"function"required

namestringrequired

Response schema

idstringrequired

object"response"required

created_atintegerrequired

Minimum -9,007,199,254,740,991. Maximum 9,007,199,254,740,991.

status"in_progress" | "completed" | "failed" | "incomplete"required

errorobject | nullrequired

Show accepted variants
Variant 1object

Unknown fields rejected.

Show object fields
codestringrequired

messagestringrequired

Variant 2null

incomplete_detailsobject | nullrequired

Show accepted variants
Variant 1object

Unknown fields rejected.

Show object fields
reason"max_output_tokens"required

Variant 2null

instructionsstring | nullrequired

max_output_tokensintegerrequired

Minimum -9,007,199,254,740,991. Maximum 9,007,199,254,740,991.

modelstringrequired

outputarray<object | object | object>required

parallel_tool_callsbooleanrequired

tool_choicestring | objectrequired

Show accepted variants
Variant 1string

Variant 2object

Unknown fields rejected.

Show object fields
type"function"required

namestringrequired

toolsarray<object>required

Show item fields
type"function"required

namestringrequired

descriptionstring

Up to 1,000 characters.

parametersobjectrequired

strictfalse | null

usageobject | nullrequired

Show accepted variants
Variant 1object

Unknown fields rejected.

Show object fields
input_tokensintegerrequired

Minimum 0. Maximum 9,007,199,254,740,991.

input_tokens_detailsobjectrequired

Unknown fields rejected.

Show object fields
cached_tokensintegerrequired

Minimum 0. Maximum 9,007,199,254,740,991.

output_tokensintegerrequired

Minimum 0. Maximum 9,007,199,254,740,991.

output_tokens_detailsobject

Unknown fields rejected.

Show object fields
reasoning_tokensintegerrequired

Minimum 0. Maximum 9,007,199,254,740,991.

total_tokensintegerrequired

Minimum 0. Maximum 9,007,199,254,740,991.

Variant 2null

storefalserequired

metadataobjectrequired

Unknown fields rejected.

Show object fields