The scheduler jobs API lets you define, configure, and control background jobs. You can create jobs that run on a cron expression, at a fixed interval, or once at a specific time. All endpoints in this group require authentication.Documentation Index
Fetch the complete documentation index at: https://alphabet-06152314.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Create a job
Request body
A unique display name for the job.
Optional human-readable description of the job’s purpose.
The kind of work the job performs. One of:
HttpCall, StoredProcedure, CodeExecution, FileOperation.When the job should run. One of:
Cron, Interval, OneTime.A cron expression (e.g.
0 9 * * 1-5). Required when scheduleType is Cron.Repeat interval in seconds. Required when
scheduleType is Interval.ISO 8601 timestamp for a one-time run. Required when
scheduleType is OneTime.Job-type-specific settings (e.g. URL and headers for
HttpCall, procedure name and parameters for StoredProcedure).Controls automatic retries on failure.
Maximum time in seconds the job is allowed to run before being cancelled.
IANA timezone name (e.g.
America/New_York). Applies to cron schedule evaluation. Defaults to UTC.Whether the job should be active immediately after creation. Defaults to
true.Free-form labels for filtering and grouping (e.g.
["billing", "nightly"]).Identifier of the user or service creating the job. Used for audit purposes.
Response
201 Created — returns the createdJobDto.
Unique identifier for the job.
Display name of the job.
The job type:
HttpCall, StoredProcedure, CodeExecution, or FileOperation.The schedule type:
Cron, Interval, or OneTime.Current job status (e.g.
Enabled, Paused, Disabled).Timestamp of the next scheduled execution.
Timestamp when the job was created.
ProblemDetails when validation fails or the job could not be created.
Example — create an HTTP call job on a cron schedule
List jobs
Query parameters
Page number to retrieve (1-based). Defaults to
1.Number of jobs per page. Defaults to
20.Filter by job type:
HttpCall, StoredProcedure, CodeExecution, or FileOperation.Filter by job status (e.g.
Enabled, Paused).Filter by a single tag label.
Full-text search against job name and description.
Field to sort by (e.g.
name, createdAt, nextRunAt).Sort direction:
asc or desc.Response
200 OK — returnsPagedResponseDto<JobDto> containing the matching jobs and pagination metadata.
Get a job
Path parameters
The unique identifier of the job.
Response
200 OK — returns aJobDto with full schedule, retry policy, and configuration detail.
404 Not Found — returns ProblemDetails when no job with that ID exists.
Update a job
isEnabled state changes, the underlying Hangfire registration is updated atomically.
Path parameters
The unique identifier of the job to update.
Request body
Same fields as create a job. All fields are optional in the update body; omitted fields retain their current values.Response
200 OK — returns the updatedJobDto.
400 Bad Request — returns ProblemDetails when validation fails or the update could not be applied.
Delete a job
hardDelete=true to permanently remove the record.
Path parameters
The unique identifier of the job to delete.
Query parameters
Set to
true to permanently delete the job record. Defaults to false.Response
204 No Content — the job was deleted successfully. 400 Bad Request — returnsProblemDetails when the delete could not be completed.
Reschedule a job
Path parameters
The unique identifier of the job to reschedule.
Request body
New schedule type:
Cron, Interval, or OneTime.Cron expression. Required when
scheduleType is Cron.Interval in seconds. Required when
scheduleType is Interval.Target timestamp. Required when
scheduleType is OneTime.Optional. Timestamp from which the new schedule takes effect. Defaults to immediately.
Response
200 OK — returns the updatedJobDto.
400 Bad Request — returns ProblemDetails if the reschedule could not be applied.
Pause a job
Path parameters
The unique identifier of the job to pause.
Response
200 OK — the job was paused successfully. 400 Bad Request — returnsProblemDetails if the pause could not be applied (e.g. job is already paused or does not exist).
Resume a job
Path parameters
The unique identifier of the job to resume.
Response
200 OK — the job was resumed successfully. 400 Bad Request — returnsProblemDetails if the resume could not be applied.
Trigger a job immediately
Path parameters
The unique identifier of the job to trigger.
Response
202 Accepted — returns the new execution ID (guid) in the response body. The Location header points to /api/v1/scheduler/executions/{executionId}.
400 Bad Request — returns ProblemDetails if the job could not be queued.
Add exclusion rules
Path parameters
The unique identifier of the job.
Request body
Specific calendar dates to skip, in
YYYY-MM-DD format (e.g. ["2025-12-25", "2026-01-01"]).Days of the week to skip (e.g.
["Saturday", "Sunday"]).A time window during which the job must not start.
Response
200 OK — exclusions were saved successfully. 400 Bad Request — returnsProblemDetails if the exclusions could not be applied.
Add dependency rules
condition field controls how the prerequisite outcomes are evaluated.
Path parameters
The unique identifier of the dependent job.
Request body
IDs of the jobs that must run first.
How prerequisite outcomes are evaluated. One of:
AllSucceeded, AnySucceeded.Response
200 OK — dependencies were saved successfully. 400 Bad Request — returnsProblemDetails if the dependencies could not be applied.