Skip to main content
The TypeScript SDK and docs are currently in beta. Report issues on GitHub.
Complete non-streaming response from the Responses API

Example Usage

import { OpenResponsesResult } from "@openrouter/sdk/models";

let value: OpenResponsesResult = {
  completedAt: 831625,
  createdAt: 1704067200,
  error: null,
  frequencyPenalty: 9553.57,
  id: "resp-abc123",
  incompleteDetails: null,
  instructions: null,
  metadata: null,
  model: "gpt-4",
  object: "response",
  output: [
    {
      content: [
        {
          text: "Hello! How can I help you today?",
          type: "output_text",
        },
      ],
      id: "msg-abc123",
      role: "assistant",
      type: "message",
    },
  ],
  parallelToolCalls: true,
  presencePenalty: 9626.13,
  status: "completed",
  temperature: null,
  toolChoice: "auto",
  tools: [],
  topP: null,
};

Fields

FieldTypeRequiredDescriptionExample
backgroundboolean:heavy_minus_sign:N/A
completedAtnumber:heavy_check_mark:N/A
createdAtnumber:heavy_check_mark:N/A
errormodels.ResponsesErrorField:heavy_check_mark:Error information returned from the API{"code": "rate_limit_exceeded","message": "Rate limit exceeded. Please try again later."}
frequencyPenaltynumber:heavy_check_mark:N/A
idstring:heavy_check_mark:N/A
incompleteDetailsmodels.IncompleteDetails:heavy_check_mark:N/A{"reason": "max_output_tokens"}
instructionsmodels.BaseInputsUnion:heavy_check_mark:N/A[
{"content": "What is the weather today?","role": "user"}
]
maxOutputTokensnumber:heavy_minus_sign:N/A
maxToolCallsnumber:heavy_minus_sign:N/A
metadataRecord<string, *string*>:heavy_check_mark:Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed.{"session_id": "abc-def-ghi","user_id": "123"}
modelstring:heavy_check_mark:N/A
objectmodels.OpenResponsesResultObject:heavy_check_mark:N/A
outputmodels.OutputItems[]:heavy_check_mark:N/A
outputTextstring:heavy_minus_sign:N/A
parallelToolCallsboolean:heavy_check_mark:N/A
presencePenaltynumber:heavy_check_mark:N/A
previousResponseIdstring:heavy_minus_sign:N/A
promptmodels.StoredPromptTemplate:heavy_minus_sign:N/A{"id": "prompt-abc123","variables": {"name": "John"}
}
promptCacheKeystring:heavy_minus_sign:N/A
reasoningmodels.BaseReasoningConfig:heavy_minus_sign:N/A{"effort": "medium","summary": "auto"}
safetyIdentifierstring:heavy_minus_sign:N/A
serviceTierstring:heavy_minus_sign:N/A
statusmodels.OpenAIResponsesResponseStatus:heavy_check_mark:N/Acompleted
storeboolean:heavy_minus_sign:N/A
temperaturenumber:heavy_check_mark:N/A
textmodels.TextExtendedConfig:heavy_minus_sign:Text output configuration including format and verbosity{"format": {"type": "text"}
}
toolChoicemodels.OpenAIResponsesToolChoiceUnion:heavy_check_mark:N/Aauto
toolsmodels.OpenResponsesResultToolUnion[]:heavy_check_mark:N/A
topLogprobsnumber:heavy_minus_sign:N/A
topPnumber:heavy_check_mark:N/A
truncationmodels.Truncation:heavy_minus_sign:N/Aauto
usagemodels.Usage:heavy_minus_sign:Token usage information for the response{"cost": 0.0012,"cost_details": {"upstream_inference_cost": null,"upstream_inference_input_cost": 0.0008,"upstream_inference_output_cost": 0.0004},
“input_tokens”: 10,
“input_tokens_details”: {"cached_tokens": 0},
“output_tokens”: 25,
“output_tokens_details”: {"reasoning_tokens": 0},
“total_tokens”: 35<br/>}
userstring:heavy_minus_sign:N/A
openrouterMetadatamodels.OpenRouterMetadata:heavy_minus_sign:N/A{"attempt": 1,"endpoints": {"available": [{"model": "openai/gpt-4o","provider": "OpenAI","selected": true}
],
“total”: 1<br/>},
“is_byok”: false,
“region”: “iad”,
“requested”: “openai/gpt-4o”,
“strategy”: “direct”,
“summary”: “available=1, selected=OpenAI”
}