---
title: "Cancel job"
method: POST
path: "/campaign/{campaignId}/jobs/{jobId}/cancel"
tags: ["Campaign Jobs"]
---

# Cancel job

`POST /campaign/{campaignId}/jobs/{jobId}/cancel`

## Request

- Base URL: `https://app.freyavoice.ai/api/v2`
- URL: `https://app.freyavoice.ai/api/v2/campaign/{campaignId}/jobs/{jobId}/cancel`
- Auth: HTTP bearer

Cancels a specific pending or claimed job. Only initiate_call jobs can be cancelled.

## Path parameters

- `campaignId` string, uuid, required: Campaign ID
- `jobId` string, uuid, required: Job ID

## Query parameters

- `workspaceId` string, uuid, required: Workspace ID

## Response `200`

Job cancelled

- object
  - `success` true, required
  - `data` object, required
    - `message` string, required
    - `result` CancelJobResponse, required
      - `success` boolean, required
      - `job` object, required
        - `id` string, required
        - `phoneNumber` string, required
        - `status` string, required
      - `contactOutcomeUpdated` boolean, required: Whether this was the last pending job for the customer

## Other responses

- `400`: Validation error
- `401`: Missing or invalid token
- `404`: Campaign or job not found
- `409`: Job cannot be cancelled (already completed/running)
- `500`: Server error

---

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