# job
URL: https://synquic.tech/docs/cli/reference/job.md

Commands, arguments, and options for synq job.

See the [workflow guide](/docs/guides/jobs) for examples. Global flags such as `--json` go before the command; see [global options](/docs/cli/reference#global-options).

## synq job

Manage self-hosted jobs, schedules, and run logs

```text
synq job|jobs [options] [command]
```

| Subcommand | Purpose |
| --- | --- |
| [`list`](/docs/cli/reference/job#synq-job-list) | List system and custom jobs |
| [`get <key>`](/docs/cli/reference/job#synq-job-get) | Show a job's configuration and recent runs |
| [`create [options]`](/docs/cli/reference/job#synq-job-create) | Create a custom job (name, server, command, and schedule required) |
| [`update [options] <key>`](/docs/cli/reference/job#synq-job-update) | Update a job; built-ins accept schedule and enabled changes |
| [`delete\|rm [options] <key>`](/docs/cli/reference/job#synq-job-delete) | Delete a custom job (system jobs cannot be deleted) |
| [`run [options] <key>`](/docs/cli/reference/job#synq-job-run) | Run a job now; custom jobs return a run ID |
| [`runs [options] <key>`](/docs/cli/reference/job#synq-job-runs) | List a job's run history |
| [`logs [options] <runId>`](/docs/cli/reference/job#synq-job-logs) | Show stored run output, or the full run in JSON mode |

## synq job create

Create a custom job (name, server, command, and schedule required)

```text
synq job create [options]
```

| Option | Meaning |
| --- | --- |
| `--name <name>` | Job label |
| `--server <id>` | Target server ID |
| `--command <command>` | Shell command to execute on the server |
| `--schedule <type>` | Schedule type (choices: "recurring", "once", "manual") |
| `--cron <expression>` | Five-field cron expression |
| `--at <iso>` | Run time for a once schedule |
| `--file <path>` | JSON API body (env, secrets, retry, etc.); flags override file values |

## synq job delete

Delete a custom job (system jobs cannot be deleted)

```text
synq job delete|rm [options] <key>
```

| Option | Meaning |
| --- | --- |
| `-y, --yes` | Confirm deletion |

## synq job get

Show a job's configuration and recent runs

```text
synq job get [options] <key>
```

## synq job list

List system and custom jobs

```text
synq job list [options]
```

## synq job logs

Show stored run output, or the full run in JSON mode

```text
synq job logs [options] <runId>
```

| Option | Meaning |
| --- | --- |
| `-f, --follow` | Stream output until completion; exit nonzero on failure |

## synq job run

Run a job now; custom jobs return a run ID

```text
synq job run [options] <key>
```

| Option | Meaning |
| --- | --- |
| `-f, --follow` | Stream the custom run until completion |

## synq job runs

List a job's run history

```text
synq job runs [options] <key>
```

| Option | Meaning |
| --- | --- |
| `--limit <n>` | Maximum number of runs (default 50) |

## synq job update

Update a job; built-ins accept schedule and enabled changes

```text
synq job update [options] <key>
```

| Option | Meaning |
| --- | --- |
| `--name <name>` | Job label |
| `--server <id>` | Target server ID |
| `--command <command>` | Shell command to execute on the server |
| `--schedule <type>` | Schedule type (choices: "recurring", "once", "manual") |
| `--cron <expression>` | Five-field cron expression |
| `--at <iso>` | Run time for a once schedule |
| `--file <path>` | JSON API body (env, secrets, retry, etc.); flags override file values |
| `--enabled` | Enable the job |
| `--no-enabled` | Disable the job |
