---
title: "Retrigger a job"
method: POST
path: "/{env_id}/{flow}/{tenant_id}/jobs/retrigger"
tags: ["Jobs"]
---

# Retrigger a job

`POST /{env_id}/{flow}/{tenant_id}/jobs/retrigger`

## Request

- Base URL: `https://api.hotglue.com`
- URL: `https://api.hotglue.com/{env_id}/{flow}/{tenant_id}/jobs/retrigger`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/hotglue/apis/hotglue-api/docs/:env_id/:flow/:tenant_id/jobs/retrigger/post.ts> (a function with typed inputs; its response is checked against the schema)

Retriggers a job based on exactly one of the provided job_root, job_id, or external_job_id and parameters. Returns the job details for the retriggered job.

## Path parameters

- `env_id` string, required
- `flow` string, required
- `tenant_id` string, required

## Request body

- union
  - object
    - `job_root` string, required: The job root (aka s3_root) to retrigger
    - `job_id` string: The job ID to retrigger
    - `external_job_id` string: The external job ID to retrigger
    - `skip_sync` boolean: Whether to skip or rerun the sync step. If true, the ETL script will use the job's existing synced data.
    - `skip_etl` boolean: Whether to skip or rerun the ETL step. If true, the export step will use the job's existing ETL data.
    - `skip_webhooks` boolean: Whether to send job status webhooks for the retriggered job.
  - object
    - `job_root` string: The job root (aka s3_root) to retrigger
    - `job_id` string, required: The job ID to retrigger
    - `external_job_id` string: The external job ID to retrigger
    - `skip_sync` boolean: Whether to skip or rerun the sync step. If true, the ETL script will use the job's existing synced data.
    - `skip_etl` boolean: Whether to skip or rerun the ETL step. If true, the export step will use the job's existing ETL data.
    - `skip_webhooks` boolean: Whether to send job status webhooks for the retriggered job.
  - object
    - `job_root` string: The job root (aka s3_root) to retrigger
    - `job_id` string: The job ID to retrigger
    - `external_job_id` string, required: The external job ID to retrigger
    - `skip_sync` boolean: Whether to skip or rerun the sync step. If true, the ETL script will use the job's existing synced data.
    - `skip_etl` boolean: Whether to skip or rerun the ETL step. If true, the export step will use the job's existing ETL data.
    - `skip_webhooks` boolean: Whether to send job status webhooks for the retriggered job.

## Response `200`

Job successfully retriggered

- object: The details for the retriggered job.
  - `job_id` string: The ID of the retriggered job
  - `env_id` string: The ID of the environment
  - `flow_id` string: The ID of the flow
  - `job_name` string: The name of the retriggered job
  - `tenant` string: The ID of the tenant
  - `s3_root` string: The S3 root of the retriggered job

## Other responses

- `400`: Invalid request (missing job or flow, job still running, etc.)

## Changes

- **2026-09-22** `90c0c21398cc`: 4 info
  - added the new optional request property `external_job_id`
  - added the new optional request property `job_id`
  - added `subschema #1, subschema #2, subschema #3` to the request body `oneOf` list
  - the request property `job_root` became optional

[Operation history](https://skmtc.dev/hotglue/apis/hotglue-api/changes/:env_id/:flow/:tenant_id/jobs/retrigger/post.md)

---

[API](https://skmtc.dev/hotglue/apis/hotglue-api.md) - [All operations](https://skmtc.dev/hotglue/apis/hotglue-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hotglue/apis/hotglue-api/revisions/00870a66a550?raw)
