---
title: "Update job schedule"
method: POST
path: "/api/scheduled-jobs/{namespace}/{jobId}/schedule"
tags: ["jobs"]
---

# Update job schedule

`POST /api/scheduled-jobs/{namespace}/{jobId}/schedule`

## Path parameters

- `namespace` string, required
- `jobId` string, required

## Request body

- object
  - `schedule` string, required — CRON schedule expression (e.g., '0 9 * * 1' for 9 AM every Monday).

## Response `200`

The updated scheduled job

- object
  - `id` string, required
  - `createdAt` string, date-time, required
  - `schedule` string, required
  - `suspend` boolean, required
  - `suspendReason` string
  - `concurrency` boolean, required
  - `status` object, required
    - `lastJob` object, nullable, required
      - `id` string, required
      - `at` string, date-time, required
    - `nextJobRunAt` string, date-time, required
  - `type` 'scheduled-job', required
  - `owner` object, required
    - `id` string, required — A hex string of 24 characters representing an ObjectId.
    - `name` string, required
    - `avatarUrl` string, required
    - `type` 'user' | 'org', required
  - `initiator` object
    - `id` string, required — A hex string of 24 characters representing an ObjectId.
    - `name` string, required
    - `avatarUrl` string, required
    - `type` 'user' | 'org', required
  - `jobSpec` object, required
    - `spaceId` string
    - `dockerImage` string
    - `timeout` number
    - `environment` object, required
    - `command` string[]
    - `arguments` string[]
    - `arch` 'amd64' | 'arm64'
    - `flavor` 'cpu-basic' | 'cpu-upgrade' | 'cpu-performance' | 'cpu-xl' | 'sprx8' | 'zero-a10g' | 't4-small' | 't4-medium' | 'l4x1' | 'l4x4' | 'l40sx1' | 'l40sx4' | 'l40sx8' | 'a10g-small' | 'a10g-large' | 'a10g-largex2' | 'a10g-largex4' | 'a100-large' | 'a100x4' | 'a100x8' | 'h200' | 'h200x2' | 'h200x4' | 'h200x8' | 'rtx-pro-6000' | 'rtx-pro-6000x2' | 'rtx-pro-6000x4' | 'rtx-pro-6000x8' | 'inf2x6', required
    - `resourceGroupId` string
    - `retry` number
    - `startedAt` string, date-time
    - `finishedAt` string, date-time
    - `durations` object
      - `schedulingSecs` number
      - `runningSecs` number
      - `totalSecs` number
    - `volumes` object[]
      - `type` string, required
      - `source` string, required
      - `mountPath` string, required
      - `revision` string
      - `readOnly` boolean
      - `path` string
    - `expose` object — Ports exposed through the jobs proxy (see `status.exposeUrls` for the reachable URLs).
      - `ports` integer[], required
      - `portsPublic` integer[] — Subset of `ports` reachable without any authentication.
    - `network` object — Network group the job belongs to.
      - `group` string, required — Group name, scoped to the job's owner and resource group.
      - `aliases` string[], required — Roles this job answers to. An alias names a role, not a job: several members may claim the same alias, which then resolves to all of them, and a member may claim several. Peers get the hostname by appending the alias to the `HF_NETWORK_GROUP_PREFIX` environment variable, which already ends with a separator.
    - `resourceGroup` object
      - `id` string, required — A hex string of 24 characters representing an ObjectId.
      - `name` string, required
      - `numUsers` number
    - `secrets` string[]
    - `labels` object
    - `hfToken` object
      - `ownerName` string, required
      - `orgName` string
      - `tokenRole` 'read' | 'write' | 'fineGrained'
      - `tokenId` string — A hex string of 24 characters representing an ObjectId.
      - `settingsUrl` string

## Changes

- **2026-09-11** `c447fcdd4d16` — 1 info
  - added the optional property `jobSpec/network` to the response with the `200` status
- **2026-09-08** `bd17546f47b8` — 6 breaking, 5 info
  - the `initiator/type` response's property type changed from no type to `string` for status `200`
  - the `jobSpec/arch` response's property type changed from no type to `string` for status `200`
  - the `jobSpec/flavor` response's property type changed from no type to `string` for status `200`
  - the `jobSpec/hfToken/tokenRole` response's property type changed from no type to `string` for status `200`
  - …7 more
- **2026-07-27** `05ebd27557fb` — 2 info
  - added the optional property `jobSpec/resourceGroup` to the response with the `200` status
  - added the optional property `jobSpec/resourceGroupId` to the response with the `200` status
- **2026-07-26** `36390f25f00f` — 1 info
  - added the optional property `jobSpec/expose` to the response with the `200` status

[Change history](https://skmtc.dev/huggingface/apis/hub-api-endpoints/changes/api/scheduled-jobs/:namespace/:jobId/schedule/post.md)

---

[API](https://skmtc.dev/huggingface/apis/hub-api-endpoints.md) · [All operations](https://skmtc.dev/huggingface/apis/hub-api-endpoints/llms.txt) · [OpenAPI document](https://skmtc.dev/huggingface/apis/hub-api-endpoints/revisions/b88d4a4da99f?raw)
