> ## Documentation Index
> Fetch the complete documentation index at: https://otoyinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Job Monitoring

## Query Job Runs

After creating a Job, query for its Job Runs to get connection information:

```http theme={null}
GET /v1/job-runs?filter[job_uuid]={job_uuid}
```

Response:

```json theme={null}
{
  "data": [
    {
      "uuid": "run-uuid-here",
      "status": "ASSIGNED",
      "started_at_ms": 1705123456789,
      "node_urls": [
        {
          "description": "ssh",
          "hostname": "123.45.67.89",
          "port": 22,
          "protocol": "tcp"
        }
      ]
    }
  ],
  "page": 1,
  "limit": 20,
  "total": 1
}
```

***

## View Job Run Logs

The list endpoint (`GET /v1/job-runs`) does not include logs to keep responses small. To retrieve logs via the API, request a specific Job Run:

```http theme={null}
GET /v1/job-runs/{job_run_uuid}
```

The response includes the `logs` field with container output.

<Tip>
  You can always view Job Run logs in the [Dispersed Console](https://console.dispersed.com) on the Job Run Detail page.
</Tip>

***

## Job Lifecycle

```text theme={null}
PENDING → ASSIGNED → RUNNING → COMPLETED
       ↘           ↘
    CANCELLED     FAILED
```

| Status | Description |
| :- | :- |
| `PENDING` | Waiting for node assignment |
| `ASSIGNED` | Node selected, container starting |
| `RUNNING` | Container executing |
| `COMPLETED` | Finished successfully |
| `FAILED` | Error occurred |
| `CANCELLED` | Cancelled by user |
| `CANCELLING` | Cancel requested |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.