# 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.


[API catalog](/reference/api/) · [Docker Sandboxes overview](/reference/api/sandboxes/latest/) · [Product manual](https://docs.docker.com/ai/sandboxes-api/) · [OpenAPI specification](/reference/api/sandboxes/api.yaml)

API version: v1


> This API is experimental. Features, interfaces,
> and behavior may change.




`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](/reference/api/sandboxes/latest/#authentication)


Server: `{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.

Effective security: alternatives are OR; schemes within an alternative are AND. An empty array declares no HTTP authentication requirement.

```json
[
  {
    "sandboxBearer": []
  }
]
```

## Example request

Replace placeholders and provide the required credentials or request body.

```console
curl \
  --request GET \
  --header "Authorization: Bearer ${TOKEN}" \
  --header 'Accept: application/json' \
  'https://sandbox.invalid/v1/processes/<PROCESS>/output'
```



## Parameters

### process

Location: path. Required: yes.

The process id.

```json
{
  "description": "The process id.",
  "in": "path",
  "name": "process",
  "pointer": "/paths/~1v1~1processes~1{process}~1output/get/parameters/0",
  "required": true,
  "schema": {
    "type": "string"
  }
}
```

### resumeFrom

Location: query. Required: no.

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.

```json
{
  "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",
  "pointer": "/paths/~1v1~1processes~1{process}~1output/get/parameters/1",
  "required": false,
  "schema": {
    "format": "int64",
    "title": "resume_from",
    "type": [
      "integer",
      "string"
    ]
  }
}
```

### maxBytes

Location: query. Required: no.

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.

```json
{
  "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",
  "pointer": "/paths/~1v1~1processes~1{process}~1output/get/parameters/2",
  "required": false,
  "schema": {
    "title": "max_bytes",
    "type": "integer"
  }
}
```

## Request and responses

### Response 200 application/json

Success


Schema:

```json
{
  "$ref": "#/components/schemas/ReadOutputResponse"
}
```










### Response default application/json

The structured Error body identifies the failure with a stable code and optional typed details.


Schema:

```json
{
  "$ref": "#/components/schemas/Error"
}
```









Schema example:
```json
{
  "code": "notFound",
  "details": [],
  "message": "sandbox not found"
}
```


## Complete operation contract

```json
{
  "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"
}
```

## Referenced schemas

- [#/components/schemas/Error](/reference/api/sandboxes/latest/schemas/Error/)

- [#/components/schemas/ReadOutputResponse](/reference/api/sandboxes/latest/schemas/ReadOutputResponse/)




