The Responses API accepts input and returns a response object whose output can contain messages, tool calls, and other items. An application can inspect each item and send a tool result back as input.
The demo shows a tool call, an application-provided result, and a final message. Code should not assume the first output item is always plain text.
When to use
Use it when the application owns model calls and tool dispatch.