---
title: "Create Job"
method: POST
path: "/{workspaceId}/projects/{projectName}/jobs"
tags: ["projects.jobs"]
---

# Create Job

`POST /{workspaceId}/projects/{projectName}/jobs`

## Request

- Base URL: `https://app.intuned.io/api/v1/workspace`
- URL: `https://app.intuned.io/api/v1/workspace/{workspaceId}/projects/{projectName}/jobs`
- Auth: API key in header `x-api-key`

Create a new Job for a Project.

## Path parameters

- `workspaceId` string, uuid, required
- `projectName` string, required

## Request body

- object
  - `id` string, required: The ID of the job. Has to be a valid URL slug.
  - `payload` object[], required: Array of API calls to be executed
    - `parameters` object, required: The parameters to be passed to the API.
    - `requestTimeout` integer: Timeout for the API request in seconds. Default is 10 minutes (600 seconds).
    - `retry` object: Retry policy configurations in case of failure.
      - `maximumAttempts` integer: Maximum number of attempts to retry the run in case of failure
    - `apiName` string, required: The name of the API to be executed. This is the file path relative to the `api` folder inside your project.
  - `configuration` object, required: Job configuration settings
    - `retry` object: The retry policy of the job. Configure how many retries and the delay between them for each payload.
      - `maximumAttempts` integer: Maximum number of attempts to retry the run in case of failure
    - `maxConcurrentRequests` number: The batch size of payloads to execute. This does not guarantee that the payloads will be executed at the same time.
    - `requestTimeout` integer: Timeout for the API request in seconds. Default is 10 minutes (600 seconds).
    - `maxRuns` integer: The maximum number of runs for the job.
    - `proxy` string, uri: Proxy URL for the job to use when making API calls
  - `schedule` object, nullable: Schedule configurations for the job. If set, the job will periodically run according to this configuration. The configurations are used to calculate the closest next run time.
    - `jitter` union
      - integer
      - string
    - `intervals` object[]: An array of interval objects
      - `every` union, required
        - integer: number of milliseconds of interval
        - string, ms: interval string, [ms-formatted string](https://github.com/vercel/ms) string
    - `calendars` object[]: An array of calendar objects
      - `second` union: Seconds of the calendar, a number in the range 0 - 59
        - integer
        - object
          - `start` integer, required
          - `step` integer, required
          - `end` integer, required
        - object
          - `start` integer, required
          - `end` integer
        - union[]
          - union
            - integer
            - object
              - …
            - object
              - …
        - '*'
      - `minute` union: Minutes of the calendar, a number in the range 0 - 59
        - integer
        - object
          - `start` integer, required
          - `step` integer, required
          - `end` integer, required
        - object
          - `start` integer, required
          - `end` integer
        - union[]
          - union
            - integer
            - object
              - …
            - object
              - …
        - '*'
      - `hour` union: Hours of the calendar, a number in the range 0 - 23
        - integer
        - object
          - `start` integer, required
          - `step` integer, required
          - `end` integer, required
        - object
          - `start` integer, required
          - `end` integer
        - union[]
          - union
            - integer
            - object
              - …
            - object
              - …
        - '*'
      - `dayOfWeek` union: Days of week, one of SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
        - 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'
        - object
          - `start` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY', required
          - `step` integer, required
          - `end` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY', required
        - object
          - `start` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY', required
          - `end` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'
        - union[]
          - union
            - 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'
            - object
              - …
            - object
              - …
        - '*'
      - `dayOfMonth` union: Days of the month, a number in the range 1 - 31
        - integer
        - object
          - `start` integer, required
          - `step` integer, required
          - `end` integer, required
        - object
          - `start` integer, required
          - `end` integer
        - union[]
          - union
            - integer
            - object
              - …
            - object
              - …
        - '*'
      - `month` union: Months, one of JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
        - 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER'
        - object
          - `start` 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER', required
          - `step` integer, required
          - `end` 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER', required
        - object
          - `start` 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER', required
          - `end` 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER'
        - union[]
          - union
            - 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER'
            - object
              - …
            - object
              - …
        - '*'
      - `year` union: Full year. For example: 2024
        - integer
        - object
          - `start` integer, required
          - `step` integer, required
          - `end` integer, required
        - object
          - `start` integer, required
          - `end` integer
        - union[]
          - union
            - integer
            - object
              - …
            - object
              - …
        - '*'
      - `comment` string: A comment to describe what the calendar is supposed to represent
  - `sink` union: Optional sink configuration for the job. Can be a webhook or S3 Compatible sink.
    - object: Configuration for the webhook sink.
      - `type` 'webhook', required
      - `url` string, required: The URL to which the webhook will send the data.
      - `headers` object: Optional headers to be sent with the webhook request.
      - `skipOnFail` boolean: If true, the webhook will not be sent if the API execution fails.
      - `apisToSend` string[]: List of API names to be sent to the webhook. If not provided, all APIs will be sent.
    - object: Configuration for the S3 sink.
      - `type` 's3', required
      - `bucket` string, required: The name of the S3 bucket where the data will be stored.
      - `accessKeyId` string, required: The access key ID for the S3 bucket.
      - `secretAccessKey` string, required: The secret access key for the S3 bucket.
      - `region` string, required: The region where the S3 bucket is located.
      - `prefix` string: Optional prefix for the S3 objects. This can be used to organize objects within the bucket.
      - `skipOnFail` boolean: If enabled, failed payload runs will ***not*** be written to the bucket.
      - `apisToSend` string[]: List of API names to be sent to the S3 bucket. If not provided, all APIs will be sent.
      - `endpoint` string: Optional custom endpoint for the S3 bucket. This can be used for S3-compatible services.
      - `forcePathStyle` boolean: If true, the S3 client will use path-style URLs instead of virtual-hosted-style URLs. This is useful for S3-compatible services that require path-style access.
  - `proxy` string, nullable: Proxy configuration for the job
  - `auth_session` object, nullable
    - `id` string, required
    - `checkAttempts` integer: Number of attempts to check the validity of the AuthSession before recreating it.
    - `createAttempts` integer: Number of attempts to create a new AuthSession if the current one is invalid or expired.
    - `saveTrace` boolean
  - `notifications` object[], nullable
    - `type` 'webhook', required
    - `url` string, required: The URL to which the webhook will send the data.
    - `headers` object: Optional headers to be sent with the webhook request.

## Response `201`

Job created successfully.

- object
  - `id` string, required: The ID of the created job.
  - `message` 'created', required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found

---

[API](https://skmtc.dev/intunedhq/apis/intuned-client.md) - [All operations](https://skmtc.dev/intunedhq/apis/intuned-client/llms.txt) - [OpenAPI document](https://skmtc.dev/intunedhq/apis/intuned-client/revisions/9f87fec44145?raw)
