Skip to main content
The Express Agent API can stream responses. This allows you to process data incrementally as it becomes available, rather than waiting for the full payload. The following example shows how to manage a stream call of the Express Agent API with cURL:
curl -N \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: text/event-stream" \
  -H "Content-Type: application/json" \
  -X POST https://api.you.com/v1/agents/runs \
  -d '{
    "agent": "express",
    "input": "What is the capital of France?",
    "stream": true
  }'
Below is the summary excerpt of the streaming events for the input:
id: 0
event: response.created
data: {"seq_id": 0, "type": "response.created"}

id: 1
event: response.starting
data: {"seq_id": 1, "type": "response.starting"}

id: 2
event: response.output_item.added
data: {"seq_id": 2, "type": "response.output_item.added",
"response": {"output_index": 0}}

id: 3
event: response.output_text.delta
data: {"seq_id": 3, "type": "response.output_text.delta",
"response": {"output_index": 0, 
"type": "message.answer", "delta": "####"}}

id: 4
event: response.output_text.delta
data: {"seq_id": 4, "type": "response.output_text.delta",
"response": {"output_index": 0, "type": "message.answer",
"delta": " Capital"}}

// Content omitted for brevity

id: 32
event: response.output_text.delta
data: {"seq_id": 32, "type": "response.output_text.delta",
"response": {"output_index": 0, "type": "message.answer",
"delta": ","}}

id: 33
event: response.output_text.delta
data: {"seq_id": 33, "type": "response.output_text.delta",
"response": {"output_index": 0, "type": "message.answer",
"delta": " and economic center."}}

id: 34
event: response.output_item.done
data: {"seq_id": 34, "type": "response.output_item.done",
"response": {"output_index": 0}}

id: 35
event: response.done
data: {"seq_id": 35, "type": "response.done",
"response": {"run_time_ms": "2.286", "finished": true}}