---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Read workers on a distributed run"
description: "`workflows.distributed_runs.read_workers` (GET /v1/{name}:readWorkers): Reads a page of the run's workers."
type: reference
product: jobs
summary: "Reads a page of the run's workers."
updated: 2026-09-28
nav: false
---

> **This method is not served on the public API.** `api.sylphx.com` does not route this call: its backend is not deployed behind the public API, or does not implement the call. This page documents the contract. It is kept out of the sidebar and of search engines.

Reads a page of the run's workers.

- **Path** `GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run:readWorkers`
- **Scope** `workflows:read`
- **Effect** `read` — nothing is written.
- **Collection** [distributed_runs](/docs/api/distributed_runs)
- **Query** `page_size`, `page_token`

## Request

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | The name of the distributed run. Required. |
| `page_size` | `int32` | At most this many; default 100, clamped to 1000. |
| `page_token` | `string` | `next_page_token` of the previous page. |

## Response

| Field | Type | What it is |
| --- | --- | --- |
| `workers` | `Worker[]` | The page, oldest first. |
| `next_page_token` | `string` | The token of the next page; empty on the last page. |

### Worker

| Field | Type | What it is |
| --- | --- | --- |
| `id` | `string` | The worker id in its run, `w<n>`. Output only. |
| `state` | `WorkerState` | The worker's state. Output only. One of `pending`, `queued`, `running`, `ended`. |
| `job` | `string` | The job that runs it. Output only. |
| `reason` | `string` | Why it ended, for example `Completed`, `Preempted` or `OOMKilled`. Output only. |
| `start_time` | `timestamp` | When its container started. Output only. |
| `end_time` | `timestamp` | When its container ended. Output only. |
| `duration` | `duration` | Billed run time. Output only. |

## Errors

- [`UNAUTHENTICATED`](/docs/api/errors/UNAUTHENTICATED) — No valid key or token was presented.
- [`PERMISSION_DENIED`](/docs/api/errors/PERMISSION_DENIED) — The key lacks the method's permission.
- [`INVALID_FIELD`](/docs/api/errors/INVALID_FIELD) — A field failed validation.
- [`PAGE_TOKEN_MISMATCH`](/docs/api/errors/PAGE_TOKEN_MISMATCH) — A page token was reused with different parameters.
- [`RESOURCE_NOT_FOUND`](/docs/api/errors/RESOURCE_NOT_FOUND) — The named Resource does not exist or is not visible.

Every error arrives in the body [Errors](/docs/platform/errors) describes.

## Examples

**cURL**

```curl
curl "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run:readWorkers" \
  -H "Authorization: Bearer $SYLPHX_API_KEY"
```

**TypeScript**

```ts
const response = await sylphx.workflows.distributedRuns.readWorkers({ name: 'orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run' })
```

**Rust**

```rust
let mut req = sylphx::workflows::ReadDistributedRunWorkersRequest::default();
req.name = "orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run".to_string();
let response = sx.workflows().distributed_runs().read_workers(req).await?;
```

**CLI**

```bash
sylphx workflows distributed-runs read-workers orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run
```

**MCP**

```json
{ "method_id": "workflows.distributed_runs.read_workers", "args": {"name":"orgs/acme/projects/shop/envs/production/distributed_jobs/distributed-job/distributed_runs/distributed-run"} }
```
