---
title: "Create a recurring series on a job"
method: POST
path: "/v1/jobs/{jobId}/recurrence"
tags: ["Jobs"]
---

# Create a recurring series on a job

`POST /v1/jobs/{jobId}/recurrence`

## Request

- Base URL: `https://api.bigchange.com`
- URL: `https://api.bigchange.com/v1/jobs/{jobId}/recurrence`
- Auth: HTTP bearer

Adds a recurring series to an existing job. (required scope jobs:write)

## Path parameters

- `jobId` integer, required

## Headers

- `Customer-Id` integer, required

## Request body

- CreateJobRecurrenceModel: Represents a model for creating a recurring series on an existing job
  - `cronExpression` string, required: A standard 5-field CRON expression (minute hour dayOfMonth month dayOfWeek) describing the recurrence schedule.<br/>Only a limited subset is supported: minute must be '0', month must be '*', and at most one of dayOfMonth/dayOfWeek<br/>may be a specific value (the other must be '*')
  - `recurTo` 'unallocatedJobs' | 'resourceOnceScheduled': Determines how future occurrences of a recurring job are resourced.<p>Possible values:</p><ul><li><b>unallocatedJobs</b>: Future occurrences are created as unallocated jobs.</li><li><b>resourceOnceScheduled</b>: Future occurrences keep the resource from the job that was scheduled once.</li></ul>
  - `startDateAt` string, date-time, required: The date and time the recurrence series starts
  - `endDateAt` string, date-time, nullable: The date the recurrence series stops. Must not be provided together with BigChange.BO.RestApi.Application.JobRecurrences.Models.CreateJobRecurrenceModel.OccurrenceCount
  - `occurrenceCount` integer, nullable: The number of occurrences after which the recurrence series stops. Must not be provided together with BigChange.BO.RestApi.Application.JobRecurrences.Models.CreateJobRecurrenceModel.EndDateAt

## Response `201`

Created

- CreateJobRecurrenceResponseModel: Represents the outcome of creating a recurring series on a job
  - `recurrenceId` integer: The unique identifier of the newly created recurrence series
  - `jobId` integer: The unique identifier of the job the recurrence was created on
  - `recurrenceType` string: The recurrence pattern resolved from the CRON expression
  - `cronExpression` string: The CRON expression that was provided
  - `startDateAt` string, date-time: The date and time the recurrence series starts
  - `endCondition` string: A description of when the recurrence series stops — an end date, a number of occurrences, or "None" if it recurs indefinitely
  - `upcomingOccurrences` string[]: The calculated schedule of upcoming occurrences, within the platform's configured "months ahead" window. This<br/>reflects the calculated schedule, not already-created job records

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Content
- `500`: Internal Server Error

## Changes

- **2026-09-03** `553de7d50a1c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bigchange/apis/bigchange-dx/changes/v1/jobs/:jobId/recurrence/post.md)

---

[API](https://skmtc.dev/bigchange/apis/bigchange-dx.md) - [All operations](https://skmtc.dev/bigchange/apis/bigchange-dx/llms.txt) - [OpenAPI document](https://skmtc.dev/bigchange/apis/bigchange-dx/revisions/b262bfdb1dd0?raw)
