---
title: "Creates a new Data Job | (Stable)"
method: POST
path: "/data-jobs/for-team/{team_name}/jobs"
tags: ["Data Jobs"]
---

# Creates a new Data Job | (Stable)

`POST /data-jobs/for-team/{team_name}/jobs`

<i>(Introduced in v1.0)</i> | Creates a new Data Job.<br>
The name of the Data job should comply to the following naming convention:<br>
<li>should start with a letter
<li>50 characters at most
<li>5 characters at least
<li>should contain only lowercase alphanumeric symbols and dash [a-z0-9\-]
<br><br>
When succesfully created clients can download the keytab associated with the Data Job to run it locally.<br>
To deploy so that it can be executed reguarly in the runtime environment use /data-jobs/for-team/{team_name}/jobs/{job_name}/deployments API.

## Path parameters

- `team_name` string, required

## Query parameters

- `name` string

## Request body

- DataJob — Data Job Details
  - `job_name` string, required — Data Job name
  - `description` string, required — Short Data Job description
  - `config` DataJobConfig, required — Data Job configuration properties.
    - `db_default_type` string — Default DB connection provided for the job, e.g. 'TRINO', 'IMPALA', 'REDSHIFT'.<br>
    - `contacts` DataJobContacts — Data Job contacts
      - `notified_on_job_failure_user_error` string[] — List of email addresses to be notified on job execution failure caused by user code or user configuration problem. E.g. if the job contains a SQL script with a syntax error.
      - `notified_on_job_failure_platform_error` string[] — List of email addresses to be notified on job execution failure caused by a platform problem
      - `notified_on_job_success` string[] — List of email addresses to be notified on job execution success
      - `notified_on_job_deploy` string[] — List of email addresses to be notified of job deployment outcome
    - `schedule` DataJobSchedule — Schedule configuration
      - `schedule_cron` string — For format see https://en.wikipedia.org/wiki/Cron<br> The cron expression is evaluated in UTC time. If it is time for a new job run and the previous job run hasn't finished yet, the cron job kills and replaces the currently running job run with a new job run. Jobs configured to run more often than once per hour are not supported and their schedule may be overridden by the platform. To distribute load evenly, Administrators may override the minute you specified. Use https://crontab.guru for help.
    - `generate_keytab` boolean — Enable Disable flag for generating secret with keytab
    - `enable_execution_notifications` boolean — (Optional) Specifies whether to dispatch email notifications per data job execution.
    - `notification_delay_period_minutes` integer — (Optional) Specifies the time (in minutes) a job execution is allowed to be delayed from its schedule before an alert is triggered. The value of this property for each data job is exposed as a Prometheus metric by the service at the /data-jobs/debug/prometheus endpoint. These metrics (taurus_datajob_notification_delay) are subsequently used in JobDelay Prometheus rules to generate the alerts.
  - `team` string — (Optional) Team name

## Response `201`

Created successfully.

## Other responses

- `400` — A response for any errors detected
- `409` — A response for any errors detected

---

[API](https://skmtc.net/vmware/apis/versatile-data-kit-control-service-api.md) · [All operations](https://skmtc.net/vmware/apis/versatile-data-kit-control-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vmware/versatile-data-kit-control-service-api/revisions/6c58be3b5043/schema)
