---
title: "🛡️ Control a job."
method: PATCH
path: "/api/v1/job/{id}"
tags: ["Jobs"]
---

# 🛡️ Control a job.

`PATCH /api/v1/job/{id}`

Control a job by updating its status. Pausing will only kick in between the next job tasks, resuming is instant.<br /><hr /><h3>🛡️ Requires Capabilities: <code>Jobs.Operate</code></h3>

## Path parameters

- `id` number, required

## Request body

- UpdateJobDto
  - `status` 'draft' | 'preparing' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored'
  - `completedAt` string, date-time

## Response `200`

- Job
  - `jobId` string, required
  - `user` User
    - `userId` string, required
    - `cardinalId` string
    - `cachedCloudUser` object, required
      - `subscription` 'free' | 'early_adopter' | 'starter' | 'pro' | 'ultimate'
    - `cachedCloudUserAt` string, date-time
    - `enabled` boolean
    - `role` string, required
    - `designation` string
    - `activityStatus` string
    - `activityStatusUpdatedAt` string, date-time
    - `roles` RoleAssignment[], required
      - `id` number, required
      - `user` User, required — recursive
      - `role` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `deletedAt` string, date-time, required
    - `username` string
    - `password` string
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `run` Run, required
    - `runId` string, required
    - `file` File[]
      - `user` User, required
        - `userId` string, required
        - `cardinalId` string
        - `cachedCloudUser` object, required
          - `subscription` 'free' | 'early_adopter' | 'starter' | 'pro' | 'ultimate'
        - `cachedCloudUserAt` string, date-time
        - `enabled` boolean
        - `role` string, required
        - `designation` string
        - `activityStatus` string
        - `activityStatusUpdatedAt` string, date-time
        - `roles` RoleAssignment[], required
          - `id` number, required
          - `user` User, required — recursive
          - `role` string, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `username` string
        - `password` string
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `run` Run, required — recursive
      - `musicTrack` MusicTrack[]
        - `file` File, required — recursive
        - `artists` MusicArtist[], required
          - `tracks` MusicTrack[]
          - `releases` MusicRelease[]
            - `tracks` MusicTrack[]
            - `artist` MusicArtist — recursive
            - `artists` MusicArtist[]
            - `genres` MusicGenre[]
              - …
            - `musicReleaseId` string, required
            - `title` string
            - `sortTitle` string
            - `releaseType` 'album' | 'ep' | 'single' | 'compilation' | 'soundtrack' | 'live' | 'remix' | 'dj-mix' | 'broadcast' | 'demo'
            - `metadata` MusicReleaseMetadata[]
              - …
            - `thumbnails` MusicReleaseThumbnail[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `musicArtistId` string, required
          - `name` string
          - `sortName` string
          - `metadata` MusicArtistMetadata[]
            - `musicTrack` MusicArtist, required — recursive
            - `metadataType` object
            - `metadataFormat` object
            - `metaKey` string, required
            - `metaValue` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `release` MusicRelease, required
          - `tracks` MusicTrack[]
          - `artist` MusicArtist
            - `tracks` MusicTrack[]
            - `releases` MusicRelease[]
            - `musicArtistId` string, required
            - `name` string
            - `sortName` string
            - `metadata` MusicArtistMetadata[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `artists` MusicArtist[]
            - `tracks` MusicTrack[]
            - `releases` MusicRelease[]
            - `musicArtistId` string, required
            - `name` string
            - `sortName` string
            - `metadata` MusicArtistMetadata[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `genres` MusicGenre[]
            - `releases` MusicRelease[]
            - `musicGenreId` string, required
            - `name` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `musicReleaseId` string, required
          - `title` string
          - `sortTitle` string
          - `releaseType` 'album' | 'ep' | 'single' | 'compilation' | 'soundtrack' | 'live' | 'remix' | 'dj-mix' | 'broadcast' | 'demo'
          - `metadata` MusicReleaseMetadata[]
            - `release` MusicRelease, required — recursive
            - `metadataType` object
            - `metadataFormat` object
            - `metaKey` string, required
            - `metaValue` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `thumbnails` MusicReleaseThumbnail[]
            - `thumbnailId` string, required
            - `absolutePath` string, nullable, required
            - `relativeSrc` string, nullable, required
            - `size` string, required
            - `format` string, required
            - `width` number, required
            - `height` number, required
            - `bytes` number, required
            - `release` MusicRelease, required — recursive
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `musicTrackId` string, required
        - `title` string
        - `sortTitle` string
        - `trackNumber` number
        - `discNumber` number
        - `duration` number
        - `bitrate` number
        - `metadata` MusicTrackMetadata[]
          - `track` MusicTrack, required — recursive
          - `metadataType` object
          - `metadataFormat` object
          - `metaKey` string, required
          - `metaValue` string
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `history` MusicHistory[]
          - `playbackEntryId` string, required
          - `progress` number, required
          - `track` MusicTrack, required — recursive
          - `queueItem` PlaybackQueueItem
            - `queueItemId` string, required
            - `queue` PlaybackQueue, required
              - …
            - `history` MusicHistory — recursive
            - `mediaType` string, required
            - `mediaId` string, required
            - `position` number, required
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `user` User, required
            - `userId` string, required
            - `cardinalId` string
            - `cachedCloudUser` object, required
              - …
            - `cachedCloudUserAt` string, date-time
            - `enabled` boolean
            - `role` string, required
            - `designation` string
            - `activityStatus` string
            - `activityStatusUpdatedAt` string, date-time
            - `roles` RoleAssignment[], required
              - …
            - `username` string
            - `password` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `waveform` MusicTrackWaveform
          - `track` MusicTrack, required — recursive
          - `version` number, required
          - `binCount` number, required
          - `data` object, required
          - `integratedLufs` number
          - `truePeakDb` number
          - `silenceLeadIn` number
          - `silenceLeadOut` number
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `photo` Photo
        - `photoId` string, required
        - `file` File, required — recursive
        - `metadata` PhotoMetadata[], required
          - `photo` Photo, required — recursive
          - `metadataType` string
          - `metadataFormat` string
          - `metaKey` string, required
          - `metaValue` string
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `thumbnail` PhotoThumbnail[], required
          - `thumbnailId` string, required
          - `absolutePath` string, nullable, required
          - `relativeSrc` string, nullable, required
          - `size` string, required
          - `format` string, required
          - `width` number, required
          - `height` number, required
          - `bytes` number, required
          - `photo` Photo, required — recursive
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `variations` PhotoVariation[], required
          - `variationId` string, required
          - `absolutePath` string, nullable, required
          - `relativeSrc` string, nullable, required
          - `format` string, required
          - `bytes` number, required
          - `photo` Photo, required — recursive
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `photoAlbumEntries` PhotoAlbumEntry[], required
          - `photoAlbumEntryId` string, required
          - `photo` Photo, required — recursive
          - `photoAlbum` PhotoAlbum, required
            - `user` User
              - …
            - `photoAlbumId` string, required
            - `name` string, required
            - `entries` PhotoAlbumEntry[], required
            - `metadata` PhotoAlbumMetadata[], required
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `featured` boolean, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `timestamp` number, required
        - `takenAt` string, date-time, required
        - `takenOnDay` string, required
        - `modifiedAt` string, date-time, required
        - `width` number, required
        - `height` number, required
        - `orientation` string, required
        - `deviceMake` string, required
        - `deviceModel` string, required
        - `gpsLat` number, required
        - `gpsLng` number, required
        - `gpsLatRef` string, required
        - `gpsLngRef` string, required
        - `gpsAltitude` string, required
        - `gpsTime` string, required
        - `gpsDate` string, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `fileId` string, required
      - `jobTasks` JobTask[], required
        - `jobTaskId` string, required
        - `job` Job — recursive
        - `file` File — recursive
        - `type` 'create_album_artwork_thumbnail' | 'create_photo_thumbnail' | 'heic_to_jpeg' | 'generate_track_waveform', required
        - `target` string, required
        - `status` 'draft' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored', required
        - `completedAt` string, date-time, required
        - `errorMessage` string, required
        - `results` object
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `absolutePath` string, required
      - `relativePath` string, required
      - `mimeType` string
      - `extension` string, required
      - `app` string, required
      - `mediaType` string, required
      - `size` number, required
      - `mtime` string, date-time
      - `lastSeen` string, date-time, required
      - `id` number, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `deletedAt` string, date-time, required
    - `status` string, required
    - `completedAt` string, date-time, required
    - `type` string, required
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `type` 'album_art_thumbnails' | 'photo_variations' | 'photo_thumbnails' | 'generate_waveforms', required
  - `status` 'draft' | 'preparing' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored', required
  - `parameters` object
  - `tasks` JobTask[]
    - `jobTaskId` string, required
    - `job` Job — recursive
    - `file` File
      - `user` User, required
        - `userId` string, required
        - `cardinalId` string
        - `cachedCloudUser` object, required
          - `subscription` 'free' | 'early_adopter' | 'starter' | 'pro' | 'ultimate'
        - `cachedCloudUserAt` string, date-time
        - `enabled` boolean
        - `role` string, required
        - `designation` string
        - `activityStatus` string
        - `activityStatusUpdatedAt` string, date-time
        - `roles` RoleAssignment[], required
          - `id` number, required
          - `user` User, required — recursive
          - `role` string, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `username` string
        - `password` string
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `run` Run, required
        - `runId` string, required
        - `file` File[]
        - `status` string, required
        - `completedAt` string, date-time, required
        - `type` string, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `musicTrack` MusicTrack[]
        - `file` File, required — recursive
        - `artists` MusicArtist[], required
          - `tracks` MusicTrack[]
          - `releases` MusicRelease[]
            - `tracks` MusicTrack[]
            - `artist` MusicArtist — recursive
            - `artists` MusicArtist[]
            - `genres` MusicGenre[]
              - …
            - `musicReleaseId` string, required
            - `title` string
            - `sortTitle` string
            - `releaseType` 'album' | 'ep' | 'single' | 'compilation' | 'soundtrack' | 'live' | 'remix' | 'dj-mix' | 'broadcast' | 'demo'
            - `metadata` MusicReleaseMetadata[]
              - …
            - `thumbnails` MusicReleaseThumbnail[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `musicArtistId` string, required
          - `name` string
          - `sortName` string
          - `metadata` MusicArtistMetadata[]
            - `musicTrack` MusicArtist, required — recursive
            - `metadataType` object
            - `metadataFormat` object
            - `metaKey` string, required
            - `metaValue` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `release` MusicRelease, required
          - `tracks` MusicTrack[]
          - `artist` MusicArtist
            - `tracks` MusicTrack[]
            - `releases` MusicRelease[]
            - `musicArtistId` string, required
            - `name` string
            - `sortName` string
            - `metadata` MusicArtistMetadata[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `artists` MusicArtist[]
            - `tracks` MusicTrack[]
            - `releases` MusicRelease[]
            - `musicArtistId` string, required
            - `name` string
            - `sortName` string
            - `metadata` MusicArtistMetadata[]
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `genres` MusicGenre[]
            - `releases` MusicRelease[]
            - `musicGenreId` string, required
            - `name` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `musicReleaseId` string, required
          - `title` string
          - `sortTitle` string
          - `releaseType` 'album' | 'ep' | 'single' | 'compilation' | 'soundtrack' | 'live' | 'remix' | 'dj-mix' | 'broadcast' | 'demo'
          - `metadata` MusicReleaseMetadata[]
            - `release` MusicRelease, required — recursive
            - `metadataType` object
            - `metadataFormat` object
            - `metaKey` string, required
            - `metaValue` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `thumbnails` MusicReleaseThumbnail[]
            - `thumbnailId` string, required
            - `absolutePath` string, nullable, required
            - `relativeSrc` string, nullable, required
            - `size` string, required
            - `format` string, required
            - `width` number, required
            - `height` number, required
            - `bytes` number, required
            - `release` MusicRelease, required — recursive
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `musicTrackId` string, required
        - `title` string
        - `sortTitle` string
        - `trackNumber` number
        - `discNumber` number
        - `duration` number
        - `bitrate` number
        - `metadata` MusicTrackMetadata[]
          - `track` MusicTrack, required — recursive
          - `metadataType` object
          - `metadataFormat` object
          - `metaKey` string, required
          - `metaValue` string
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `history` MusicHistory[]
          - `playbackEntryId` string, required
          - `progress` number, required
          - `track` MusicTrack, required — recursive
          - `queueItem` PlaybackQueueItem
            - `queueItemId` string, required
            - `queue` PlaybackQueue, required
              - …
            - `history` MusicHistory — recursive
            - `mediaType` string, required
            - `mediaId` string, required
            - `position` number, required
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `user` User, required
            - `userId` string, required
            - `cardinalId` string
            - `cachedCloudUser` object, required
              - …
            - `cachedCloudUserAt` string, date-time
            - `enabled` boolean
            - `role` string, required
            - `designation` string
            - `activityStatus` string
            - `activityStatusUpdatedAt` string, date-time
            - `roles` RoleAssignment[], required
              - …
            - `username` string
            - `password` string
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `waveform` MusicTrackWaveform
          - `track` MusicTrack, required — recursive
          - `version` number, required
          - `binCount` number, required
          - `data` object, required
          - `integratedLufs` number
          - `truePeakDb` number
          - `silenceLeadIn` number
          - `silenceLeadOut` number
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `photo` Photo
        - `photoId` string, required
        - `file` File, required — recursive
        - `metadata` PhotoMetadata[], required
          - `photo` Photo, required — recursive
          - `metadataType` string
          - `metadataFormat` string
          - `metaKey` string, required
          - `metaValue` string
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `thumbnail` PhotoThumbnail[], required
          - `thumbnailId` string, required
          - `absolutePath` string, nullable, required
          - `relativeSrc` string, nullable, required
          - `size` string, required
          - `format` string, required
          - `width` number, required
          - `height` number, required
          - `bytes` number, required
          - `photo` Photo, required — recursive
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `variations` PhotoVariation[], required
          - `variationId` string, required
          - `absolutePath` string, nullable, required
          - `relativeSrc` string, nullable, required
          - `format` string, required
          - `bytes` number, required
          - `photo` Photo, required — recursive
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `photoAlbumEntries` PhotoAlbumEntry[], required
          - `photoAlbumEntryId` string, required
          - `photo` Photo, required — recursive
          - `photoAlbum` PhotoAlbum, required
            - `user` User
              - …
            - `photoAlbumId` string, required
            - `name` string, required
            - `entries` PhotoAlbumEntry[], required
            - `metadata` PhotoAlbumMetadata[], required
              - …
            - `id` number, required
            - `createdAt` string, date-time, required
            - `updatedAt` string, date-time, required
            - `deletedAt` string, date-time, required
          - `featured` boolean, required
          - `id` number, required
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `deletedAt` string, date-time, required
        - `timestamp` number, required
        - `takenAt` string, date-time, required
        - `takenOnDay` string, required
        - `modifiedAt` string, date-time, required
        - `width` number, required
        - `height` number, required
        - `orientation` string, required
        - `deviceMake` string, required
        - `deviceModel` string, required
        - `gpsLat` number, required
        - `gpsLng` number, required
        - `gpsLatRef` string, required
        - `gpsLngRef` string, required
        - `gpsAltitude` string, required
        - `gpsTime` string, required
        - `gpsDate` string, required
        - `id` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `deletedAt` string, date-time, required
      - `fileId` string, required
      - `jobTasks` JobTask[], required
      - `absolutePath` string, required
      - `relativePath` string, required
      - `mimeType` string
      - `extension` string, required
      - `app` string, required
      - `mediaType` string, required
      - `size` number, required
      - `mtime` string, date-time
      - `lastSeen` string, date-time, required
      - `id` number, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `deletedAt` string, date-time, required
    - `type` 'create_album_artwork_thumbnail' | 'create_photo_thumbnail' | 'heic_to_jpeg' | 'generate_track_waveform', required
    - `target` string, required
    - `status` 'draft' | 'in_queue' | 'running' | 'paused' | 'canceled' | 'completed' | 'errored', required
    - `completedAt` string, date-time, required
    - `errorMessage` string, required
    - `results` object
    - `id` number, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `deletedAt` string, date-time, required
  - `completedTasks` number, required
  - `remainingTasks` number, required
  - `totalTasks` number, required
  - `completedAt` string, date-time, required
  - `errorMessage` string, required
  - `id` number, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `deletedAt` string, date-time, required

## Other responses

- `401` — Possible reasons: The authorization token is invalid.
- `403` — Possible reasons: The user does not have sufficent capabilities.

---

[API](https://skmtc.net/cardinalapps/apis/cardinal-media-server-api.md) · [All operations](https://skmtc.net/cardinalapps/apis/cardinal-media-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cardinalapps/cardinal-media-server-api/revisions/0c30e5146acd/schema)
