---
title: "Cancel Bulk Lookalike Job"
method: POST
path: "/api/v1/account/search-lookalikes-bulk/{job_id}/cancel"
tags: ["Cancel Bulk Lookalike Job"]
---

# Cancel Bulk Lookalike Job

`POST /api/v1/account/search-lookalikes-bulk/{job_id}/cancel`

## Request

- Base URL: `https://api.openfunnel.dev`
- URL: `https://api.openfunnel.dev/api/v1/account/search-lookalikes-bulk/{job_id}/cancel`
- Auth: none required
- TypeScript: <https://skmtc.dev/openfunnel/apis/openfunnel-agent-primitives/docs/api/v1/account/search-lookalikes-bulk/:job_id/cancel/post.ts> (a function with typed inputs; its response is checked against the schema)

Cancel a running or pending bulk lookalike job. Submit a job first via **`POST /api/v1/account/search-lookalikes-bulk`** ("Search Lookalikes Bulk", under Company Search), which returns a `job_id`.

<Info>**No API key yet?** [Sign up via Agent Auth](/agent-primitives/authentication) to get your `X-API-Key` - the only required header for this endpoint.</Info>

The job moves to a transient `cancelling` state and stops at its next checkpoint. Whatever pages were already produced are kept and remain readable via the poll endpoint, and you are charged **only for the companies actually delivered** before the cancel - nothing for the abandoned remainder. The job then settles to a terminal `cancelled` status.

Returns **409** if the job has already finished (`completed` / `failed` / `cancelled`), and **404** if no job with that id exists for your API key. Poll **`GET /api/v1/account/search-lookalikes-bulk/{job_id}`** for the final `cancelled` state and the partial results.

## When to cancel
Cancel when finishing the job is no longer worth it - e.g. you requested a large `limit` but already have enough companies from the pages delivered so far, the query turned out too broad, or you simply want to stop spend. Because credits are billed **only for companies actually delivered** before the cancel (never the abandoned remainder), cancelling early is how you cap credit usage on an over-scoped job.

## Path parameters

- `job_id` string, required

## Headers

- `X-API-Key` string, required

## Response `200`

Cancellation accepted; the job is now `cancelling`.

- BulkLookalikeCancelResponse: Acknowledgement returned by the bulk-lookalike cancel endpoint. Cancellation is asynchronous - poll the GET endpoint for the final `cancelled` state and the companies processed before the cancel.
  - `job_id` string, required
  - `status` string: Always `cancelling` - the cancel request was accepted.
  - `message` string, required: Next step: where to fetch the companies processed before the cancel.

## Other responses

- `404`: Job not found for this API key.
- `409`: Job already finished (completed / failed / cancelled); cannot cancel.
- `422`: Validation Error

---

[API](https://skmtc.dev/openfunnel/apis/openfunnel-agent-primitives.md) - [All operations](https://skmtc.dev/openfunnel/apis/openfunnel-agent-primitives/llms.txt) - [OpenAPI document](https://skmtc.dev/openfunnel/apis/openfunnel-agent-primitives/revisions/68cc95acb1f2?raw)
