---
title: "Cancel a job"
method: DELETE
path: "/v1/feeds/{fid}/jobs/{jid}"
tags: ["Jobs"]
---

# Cancel a job

`DELETE /v1/feeds/{fid}/jobs/{jid}`

## Request

- Base URL: `https://api.banksync.io`
- URL: `https://api.banksync.io/v1/feeds/{fid}/jobs/{jid}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Cancels a created or in-progress job: terminates the workflow, releases the feed lock so the next sync can start, and marks the job `cancelled`. Returns 409 if the job is already completed/failed/cancelled.

## Path parameters

- `fid` string, required: Feed ID
- `jid` string, required: Job ID

## Response `200`

Job cancelled

- object
  - `success` true, required
  - `data` object, required
    - `id` string, required
    - `userId` string, required
    - `feedId` string, required: The feed this job belongs to
    - `workspaceId` string
    - `status` 'created' | 'in_progress' | 'paused' | 'completed' | 'failed' | 'cancelled', required
    - `type` 'manual' | 'scheduled' | 'webhook', required
    - `startDate` string
    - `endDate` string
    - `transactionsProcessed` number, required
    - `transactionsWritten` number, required
    - `errors` object[], required
      - `timestamp` string, required
      - `message` string, required
      - `category` string
      - `severity` string
    - `messages` string[]
    - `deliverySummary` object
      - `created` integer, required
      - `duplicate` integer, required
      - `baseline` integer, required
      - `held` integer, required
      - `skippedCurrency` integer, required
      - `skippedUnmapped` integer, required
      - `skippedZero` integer, required
      - `skippedInvalid` integer, required
      - `requests` integer, required
      - `startingBalancesPosted` integer
      - `startingBalancesUnknown` integer
      - `rateLimited` boolean, required
    - `errorCategory` string
    - `workflowInstanceId` string
    - `initiator` object
      - `kind` 'user' | 'staff' | 'system', required
      - `id` string, required
      - `label` string
    - `createdAt` string, required
    - `updatedAt` string, required
    - `startedAt` string
    - `completedAt` string

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Job already in terminal state

---

[API](https://skmtc.dev/banksync/apis/banksync-api.md) · [All operations](https://skmtc.dev/banksync/apis/banksync-api/llms.txt) · [OpenAPI document](https://skmtc.dev/banksync/apis/banksync-api/revisions/94465f5ee922?raw)
