---
title: "List jobs."
method: GET
path: "/v1/machines/{id}/jobs"
tags: ["machines"]
---

# List jobs.

`GET /v1/machines/{id}/jobs`

## Request

- Base URL: `https://api.smolmachines.com`
- URL: `https://api.smolmachines.com/v1/machines/{id}/jobs`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/smolmachines/apis/smolfleet-api/docs/v1/machines/:id/jobs/get.ts> (a function with typed inputs; its response is checked against the schema)

A machine's jobs, newest first, as last recorded (up to 100). Get one job for its live state. Requires the `machine:read` scope.

## Path parameters

- `id` string, required

## Response `200`

Jobs

- MachineJobList: A machine's jobs, newest first.
  - `jobs` MachineJob[], required
    - `command` string[], required: The command as it was run (argv).
    - `createdAt` string, required
    - `exitCode` integer, nullable: The command's exit code once `exited`; 143 when it was cancelled or hit its timeout.
    - `finishedAt` string, nullable
    - `id` string, required
    - `machineId` string, required
    - `state` string, required: `running`, `exited` (see `exitCode`), or `lost`: the machine stopped or restarted while the job ran, so it never finished.
    - `stderrBytes` integer, nullable: Bytes of stderr written so far, when the machine was asked.
    - `stdoutBytes` integer, nullable: Bytes of stdout written so far, when the machine was asked.

## Other responses

- `401`: Missing or invalid API key
- `403`: Key lacks the required scope
- `404`: Not found
- `429`: Rate limited; retry after the Retry-After header
- `500`: Internal error

## Changes

- **2026-10-16** `bc31fc04a568`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/smolmachines/apis/smolfleet-api/changes/v1/machines/:id/jobs/get.md)

---

[API](https://skmtc.dev/smolmachines/apis/smolfleet-api.md) - [All operations](https://skmtc.dev/smolmachines/apis/smolfleet-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smolmachines/apis/smolfleet-api/revisions/bc31fc04a568?raw)
