Experimental
ReadOutput returns one page of retained output after a stream_sequence, the same cursor Interact resumes from, so a REST client can read what a process printed.
GET
/v1/processes/{process}/output ReadOutput returns one page of retained output after a stream_sequence, the
same cursor Interact resumes from, so a REST client can read what a process printed.
Connection and access
API connection and authentication guidance
{endpoint}
endpoint: The sandbox API base URL from Sandbox.core.endpoint.uri; preserve its path prefix when appending /v1 routes. HTTP endpoints require a scoped endpoint bearer; direct Unix sockets use socket access control.
Use one of these alternatives. Requirements within an alternative apply together.
sandboxBearer
Parameters
process
path
Required
The process id.
Type:
string
All schema constraints and annotations
{
"type": "string"
}resumeFrom
query
resume_from returns output after this stream_sequence; 0 means from the start.
Missing output after this point fails with FAILED_PRECONDITION, as for Attach.
Type:
integer | string
All schema constraints and annotations
{
"format": "int64",
"title": "resume_from",
"type": [
"integer",
"string"
]
}maxBytes
query
max_bytes is a soft bound on the page's data: whole chunks only, and the first retained
chunk always fits so a caller always advances. 0 means the backend's default page.
Type:
integer
All schema constraints and annotations
{
"title": "max_bytes",
"type": "integer"
}Request and responses
Response
200
Success
application/json
Schema:
ReadOutputResponse
Response
default
The structured Error body identifies the failure with a stable code and optional typed details.
application/json
Schema:
Error
Schema example
{
"code": "notFound",
"details": [],
"message": "sandbox not found"
}Referenced schemas
#/components/schemas/ReadOutputResponse
Complete operation contract
{
"description": "ReadOutput returns one page of retained output after a stream_sequence, the\nsame cursor Interact resumes from, so a REST client can read what a process printed.",
"operationId": "readOutput",
"parameters": [
{
"description": "The process id.",
"in": "path",
"name": "process",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "resume_from returns output after this stream_sequence; 0 means from the start.\nMissing output after this point fails with FAILED_PRECONDITION, as for Attach.",
"in": "query",
"name": "resumeFrom",
"required": false,
"schema": {
"format": "int64",
"title": "resume_from",
"type": [
"integer",
"string"
]
}
},
{
"description": "max_bytes is a soft bound on the page's data: whole chunks only, and the first retained\nchunk always fits so a caller always advances. 0 means the backend's default page.",
"in": "query",
"name": "maxBytes",
"required": false,
"schema": {
"title": "max_bytes",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReadOutputResponse"
}
}
},
"description": "Success"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "The structured Error body identifies the failure with a stable code and optional typed details."
}
},
"security": [
{
"sandboxBearer": []
}
],
"servers": [
{
"url": "{endpoint}",
"variables": {
"endpoint": {
"default": "https://sandbox.invalid",
"description": "The sandbox API base URL from Sandbox.core.endpoint.uri; preserve its path prefix when appending /v1 routes. HTTP endpoints require a scoped endpoint bearer; direct Unix sockets use socket access control."
}
}
}
],
"summary": "ReadOutput returns one page of retained output after a stream_sequence, the same cursor Interact resumes from, so a REST client can read what a process printed.",
"tags": [
"Processes"
],
"x-sbx-authenticated-only": false,
"x-sbx-conditional-permissions": [],
"x-sbx-plane": "data",
"x-sbx-required-permissions": [
"sandboxesExec"
],
"x-sbx-serving-surface": "sandboxEndpoint"
}