---
title: "Raise BACS Direct Debit indemnity claim [beta]"
method: POST
path: "/v1/payments/bacs/directdebit/claims"
tags: ["BACS direct debit"]
---

# Raise BACS Direct Debit indemnity claim \[beta\]

`POST /v1/payments/bacs/directdebit/claims`

## Request

- Base URL: `https://sandbox.pismolabs.io/bacs`
- URL: `https://sandbox.pismolabs.io/bacs/v1/payments/bacs/directdebit/claims`
- Auth: none declared. Required headers: `Authorization`, `Idempotency-key`

Create a BACS Direct Debit Indemnity Claim (DDIC).

A DDIC reclaims money that was incorrectly debited from a payer's account under the Direct Debit Guarantee. The claim is validated and persisted, then submitted asynchronously to the BACS scheme via Form3.

**Notes:**

  * The operation is idempotent via the `Idempotency-key` header. 

  * The claim is persisted with `status` = `CREATED` and submitted asynchronously. Creation itself returns immediately. 
  
  * Subsequent status transitions generate a [BACS direct debit claim status changed](https://developers.pismo.io/events/docs/bacs-direct-debit-claim-status-change-1) event.

## Headers

- `Authorization` string, required
- `Idempotency-key` string, required

## Request body

- ClaimCreateRequest: Payload to create a DDIC claim
  - `clearing_id` string, required: The six-digit Bacs Service User Number (SUN) of the institution raising the claim
  - `reference` string, required: Claim reference. Must begin with `DDIC` followed by 2-6 alphanumeric characters (maximum length 18). BACS reserves the `DDIC` prefix for indemnity-claim references.
  - `reason_code` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8', required: Direct Debit Indemnity Claim (DDIC) reason code. BACS DDIC scheme rules that indicate why the indemnity claim is being raised: * `1`— The amount and/or date collected differs from the advance notice. * `2`— No advance notice was received (or the payment was collected earlier than notified). * `3`— The Direct Debit Instruction (DDI) is disputed / no valid mandate is held. * `4`— The payer canceled the DDI directly with the service user. * `5`— The account holder is deceased. * `6`— The payer canceled the DDI with their bank. * `7`— Claim raised at the service user's request. * `8`— Service user name disputed / the payer does not recognise the collecting service user. Conditional fields: * `3`—`processing_date` is **REQUIRED**. * `7`—`contact_name` and `request_date` are **REQUIRED**.
  - `original_instruction` ClaimOriginalInstruction, required: Original Direct Debit Instruction (DDI) the claim relates to
    - `clearing_id` string, required: Six-digit clearing ID for the mandate
    - `reference` string, required: Original Direct Debit Instruction reference
  - `disputed_transactions` ClaimDisputedTransaction[], required
    - `amount` string, required: Disputed transaction amount
    - `date` string, date, required: Disputed transaction date. Format = YYYY-MM-DD.
  - `number_of_transactions` integer: If passed, it **must** equal the number of `disputed_transactions`. Maximum 12.
  - `processing_date` string, date: Processing date. **REQUIRED** when `reason_code` = `3`. Do **NOT** pass otherwise. Format = YYYY-MM-DD.
  - `contact_name` string: Service user contact name. **REQUIRED** if `reason_code` = `7`. Do **NOT** pass otherwise. Must **NOT** be all spaces.
  - `request_date` string, date: Service user request date. Format = YYYY-MM-DD. **REQUIRED** when `reason_code` = `7`. Do **NOT** pass otherwise.
  - `reason` string: Free-text reason for the claim

## Response `201`

Claim created

- ClaimCreateResponse
  - `id` string: Pismo-assigned local claim ID
  - `status` 'CREATED' | 'PROCESSING' | 'CONFIRMED' | 'FAILED': DDIC claim / claim-reversal lifecycle status_reason: * `CREATED`—Claim persisted, pending submission to the scheme via Form3. * `PROCESSING`—Claim submitted and in flight through Form3 / the scheme. * `CONFIRMED`—Claim delivery confirmed by the scheme. Terminal state. * `FAILED`—Claim rejected or failed validation/submission. Terminal state.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `409`: Conflict
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments.md) - [All operations](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments/revisions/d0f145ee1aba?raw)
