---
title: "Update a job"
method: PATCH
path: "/jobs/{id}"
---

# Update a job

`PATCH /jobs/{id}`

## Request

- Base URL: `https://worker.openhelm.ai/v1`
- URL: `https://worker.openhelm.ai/v1/jobs/{id}`
- Auth: HTTP bearer

Beyond name/prompt/model, this also accepts `is_enabled`, `execution_preference` ('local_executor' to pin the job to a specific machine, via `pinned_executor_id`), and the schedule pair `schedule_type`/`schedule_config` — the pair is validated together and a type changed without its matching config is refused, never silently stored half-updated.

## Request body

- object
  - `name` string
  - `description` string
  - `prompt` string
  - `model` 'haiku' | 'sonnet' | 'opus'
  - `is_enabled` boolean
  - `execution_preference` 'local_executor' | 'null', nullable
  - `pinned_executor_id` string, nullable
  - `schedule_type` 'manual' | 'once' | 'interval' | 'cron' | 'email' | 'after_job'
  - `schedule_config` object

## Response `200`

OK

---

[API](https://skmtc.dev/openhelm/apis/openhelm-public-api.md) · [All operations](https://skmtc.dev/openhelm/apis/openhelm-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openhelm/apis/openhelm-public-api/revisions/2af88dc2f6a7?raw)
