---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Get a distributed run"
description: "`workflows.distributed_runs.get` (GET /v1/{name}): Gets a distributed run: its state, shard and worker counts, and usage."
type: reference
product: jobs
summary: "Gets a distributed run: its state, shard and worker counts, and usage."
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.

Gets a distributed run: its state, shard and worker counts, and usage.

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

## Request

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | The name of the distributed run to get. Required. |

## Response

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/distributed_jobs/{distributed_job}/distributed_runs/{distributed_run}`. |
| `uid` | `string` | `drun_<cell><ulid>`; never reused. Output only. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `job_generation` | `int64` | The DistributedJob generation the run pinned. Output only. |
| `state` | `DistributedRunState` | The run's lifecycle state. Output only. One of `queued`, `running`, `draining`, `succeeded`, `failed`, `cancelled`, `timed_out`. |
| `manifest_open` | `bool` | Whether more shards may still be added (`:addShards`). Output only. |
| `message` | `string` | Why the run failed or was refused, when it did. Output only. |
| `create_time` | `timestamp` | When the run was accepted. Output only. |
| `start_time` | `timestamp` | When the first worker started. Output only. |
| `end_time` | `timestamp` | When the run closed. Output only. |
| `shard_counts` | `ShardCounts` | Shards by state. Output only. |
| `worker_counts` | `WorkerCounts` | Workers by state. Output only. |
| `usage` | `DistributedRunUsage` | Metered usage across workers. Output only. |
| `args` | `string[]` | Arguments of every worker of this run (the job's when empty). |
| `env` | `map<string, string>` | Environment overrides of this run. |
| `shards` | `ShardInput[]` | The run's own shards (the customer's planner output); without them the job's `shard_count` makes index-only shards. |
| `open_manifest` | `bool` | Keep the manifest open: `:addShards` appends until it is closed. |

### ResourceMeta

| Field | Type | What it is |
| --- | --- | --- |
| `generation` | `int64` | Increases by one on every change to `spec`. Output only. |
| `etag` | `string` | Strong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as `If-Match` or `etag` to make Update and Delete conditional; a mismatch fails with ABORTED / 409 `ETAG_MISMATCH`. Output only. |
| `create_time` | `timestamp` | When the Resource was created. Output only. |
| `update_time` | `timestamp` | When the Resource last changed. Output only. |
| `delete_time` | `timestamp` | Set while the Resource is being deleted. Output only. |
| `labels` | `map<string, string>` | Caller-writable, indexed labels (AIP-122 label rules). |
| `annotations` | `map<string, string>` | Caller-writable, unindexed annotations. |
| `display_name` | `string` | Caller-writable human-readable name. |
| `creator` | `string` | The principal that created the Resource. Output only. |

### ShardCounts

| Field | Type | What it is |
| --- | --- | --- |
| `pending` | `int64` | Waiting to be leased. Output only. |
| `leased` | `int64` | Held by a worker. Output only. |
| `succeeded` | `int64` | Completed. Output only. |
| `failed` | `int64` | Out of attempts. Output only. |
| `total` | `int64` | Every shard of the run. Output only. |

### WorkerCounts

| Field | Type | What it is |
| --- | --- | --- |
| `created` | `int64` | Every worker the run created. Output only. |
| `waiting` | `int64` | Waiting for Kueue to admit them. Output only. |
| `running` | `int64` | Running. Output only. |
| `ended` | `int64` | Ended. Output only. |

### DistributedRunUsage

| Field | Type | What it is |
| --- | --- | --- |
| `worker_duration` | `duration` | Summed worker run time from container start to exit. Output only. |
| `worker_class` | `WorkerClass` | The price class the workers ran in. Output only. One of `scavenger`, `standard`. |
| `instance_type` | `string` | The instance type the workers ran on. Output only. |

### ShardInput

| Field | Type | What it is |
| --- | --- | --- |
| `id` | `string` | The shard id, unique in the run; the server assigns one when empty. |
| `input` | `value` | What the worker gets as its input, any JSON. |

## 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.
- [`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" \
  -H "Authorization: Bearer $SYLPHX_API_KEY"
```

**TypeScript**

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

**Rust**

```rust
let mut req = sylphx::workflows::GetDistributedRunRequest::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().get(req).await?;
```

**CLI**

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

**MCP**

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