OpenAI - Responses API Operation
The
responses
operation calls the OpenAI Responses API (non-streaming). It supports the same text and image
input ergonomics as
chat-completion
, maps
systemMessage
to API
instructions
, and exposes
CamelOpenAIResponseId
plus token usage headers. Use
previousResponseId
/
CamelOpenAIPreviousResponseId
for
server-side conversation state.
Hosted tools: set
builtinTools
to a comma-separated list (
web_search
,
file_search
,
code_interpreter
).
file_search
requires
fileSearchVectorStoreIds
. Pass hosted MCP tool definitions as JSON via
hostedMcpTools
.
When
storeFullResponse=true
, the SDK
Response
object is stored on exchange property
CamelOpenAIResponsesResponse
.
-
Java
-
YAML
from("direct:ask")
.to("openai:responses?model=gpt-4o&systemMessage=You are a support assistant")
.log("Answer: ${body} id: ${header.CamelOpenAIResponseId}");
from("direct:continue")
.setHeader("CamelOpenAIPreviousResponseId", variable("lastId"))
.to("openai:responses?model=gpt-4o")
.setVariable("lastId", header("CamelOpenAIResponseId"));
- route:
from:
uri: direct:ask
steps:
- to:
uri: openai:responses
parameters:
model: gpt-4o
systemMessage: You are a support assistant
- log:
message: "Answer: ${body} id: ${header.CamelOpenAIResponseId}"
- route:
from:
uri: direct:continue
steps:
- setHeader:
name: CamelOpenAIPreviousResponseId
expression:
simple:
expression: "${variable.lastId}"
- to:
uri: openai:responses
parameters:
model: gpt-4o
- setVariable:
name: lastId
expression:
simple:
expression: "${header.CamelOpenAIResponseId}"
Streaming is not supported on this operation; use
chat-completion
for streaming.
Function tools wired to Camel routes are not yet supported on this operation.