> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Delete Transactions

> Delete monitored transactions permanently by UUID or clear every transaction in the application. A finalized report blocks the deletion.



Batch Delete Transactions API Prompt
        Copy prompt to clipboard



      
      

\<pre>

\`Delete monitored transactions through the Management API.

Endpoint:
DELETE https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/delete/

Authentication:
Use the x-api-key header with my Didit API key. The key must carry write:transactions.

Request body — provide one selector:
\{"transaction_uuids": ["abcdef12-3456-7890-abcd-ef1234567890"]}
or
\{"delete_all": true}

Example call:
curl -X DELETE "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/delete/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"transaction_uuids": ["abcdef12-3456-7890-abcd-ef1234567890"]}'

Response 204: the selected transactions are deleted.

What is deleted with each transaction:
\- Its parties, tags, notes, payment method links, documents and every stored version of their files.
\- Its rule runs, alerts, provider results, network snapshot and Travel Rule data.
Cases, people and companies stay; their link to the deleted transaction is cleared. Draft regulatory reports stop listing it and are rebuilt without it. Deletion is permanent and cannot be undone.

Failure modes:
\- 400 - no selector supplied: {"transaction_uuids": ["This field is required unless delete_all is true."]}.
\- 409 - at least one selected transaction is listed in a finalized regulatory report. Nothing is deleted. The body has code: in_filed_report and transactions[] with uuid, transaction_id and reports[].
\- 403 - the key cannot delete transactions (requires write:transactions).

After deletion:
Delete the reports named in the 409 response, then repeat this request. See Delete Report.

WARNING — delete_all: true: deletes every transaction in the application with no confirmation and no undo.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

Paste into

Delete monitored transactions permanently, by UUID or all at once.## What is deletedA deleted transaction goes with the records that are only its own: its parties, tags, notes, payment method links, documents and every stored version of their files, rule runs, alerts, provider results, network snapshot and Travel Rule data.Cases, people and companies stay; their link to the deleted transaction is cleared. Draft regulatory reports stop listing the deleted transaction and are rebuilt without it. Deletion is permanent and irreversible.## Select what to deleteSend exactly one selector:| Field | Type | Description |
| - | - | - |
| `transaction_uuids` | UUID\[] | Didit transaction UUIDs to delete. Required unless `delete_all` is `true`. |
| `delete_all` | boolean | Delete every transaction in the application. `transaction_uuids` is ignored. |> [!WARNING]
>
> `delete_all: true` deletes every transaction in the application. There is no confirmation step and no undo.## Blocked by a finalized reportIf any selected transaction is listed in a finalized regulatory report, the whole request returns `409` and nothing is deleted:```json theme={null}
{
  "detail": "Transactions included in a filed regulatory report cannot be deleted.",
  "code": "in_filed_report",
  "transactions": [
    {
      "uuid": "abcdef12-3456-7890-abcd-ef1234567890",
      "transaction_id": "your-txn-2026-05-17-001",
      "reports": [
        {
          "uuid": "5ec00000-0000-4000-8000-000000000007",
          "report_number": "SAR-0001",
          "report_type": "SAR",
          "case_uuid": "c1a5e000-0000-4000-8000-000000000001"
        }
      ]
    }
  ]
}
```Delete each report with [Delete Report](https://docs.didit.me/management-api/regulatory-reports/delete.md), then repeat this request. If you selected several transactions, remove the blocked ones or delete their reports first.## Related- [List transactions](https://docs.didit.me/management-api/transactions/list.md)
- [Get transaction](https://docs.didit.me/management-api/transactions/get.md)
- [Delete report](https://docs.didit.me/management-api/regulatory-reports/delete.md)


## OpenAPI

````yaml DELETE /v3/organization/{organization_id}/application/{application_id}/transactions/delete/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/transactions/delete/:
    delete:
      tags:
        - Transactions
      summary: Batch delete transactions
      description: >-
        Delete one or more transactions permanently. Select them with
        `transaction_uuids`, or delete every transaction in the application with
        `delete_all: true`.


        A deleted transaction goes with the records that are only its own: its
        parties, tags, notes, payment method links, documents and every stored
        version of their files, rule runs, alerts, provider results, network
        snapshot and Travel Rule data. Cases, people and companies stay; their
        link to the deleted transaction is cleared. Draft regulatory reports
        stop listing it and are rebuilt without it. Deletion is permanent and
        irreversible; there is no undo endpoint.


        If any selected transaction is listed in a finalized regulatory report,
        the whole request is refused with `409` and nothing is deleted. The body
        uses `code: in_filed_report` and names each transaction and the reports
        that list it. Delete those reports, then repeat the request.
      operationId: batch_delete_transactions
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Organization UUID.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Application UUID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - title: Selected transactions
                  required:
                    - transaction_uuids
                  properties:
                    transaction_uuids:
                      type: array
                      items:
                        type: string
                        format: uuid
                      description: >-
                        Didit transaction UUIDs to delete. Required unless
                        `delete_all` is true.
                      minItems: 1
                    delete_all:
                      type: boolean
                      enum:
                        - false
                      default: false
                      description: >-
                        Leave out or send `false` when you select transactions
                        with `transaction_uuids`.
                - title: All transactions
                  required:
                    - delete_all
                  properties:
                    delete_all:
                      type: boolean
                      enum:
                        - true
                      description: >-
                        Delete every transaction in the application.
                        `transaction_uuids` is ignored.
                    transaction_uuids:
                      type: array
                      items:
                        type: string
                        format: uuid
                      description: Ignored when `delete_all` is true.
            examples:
              Selected transactions:
                value:
                  transaction_uuids:
                    - abcdef12-3456-7890-abcd-ef1234567890
                    - 12345678-90ab-cdef-1234-567890abcdef
              All transactions:
                value:
                  delete_all: true
      responses:
        '204':
          description: Selected transactions deleted.
        '400':
          description: No transaction selector was supplied.
          content:
            application/json:
              schema:
                type: object
                properties:
                  transaction_uuids:
                    type: array
                    items:
                      type: string
              example:
                transaction_uuids:
                  - This field is required unless delete_all is true.
        '403':
          description: >-
            The API key cannot delete transactions. The endpoint requires
            `write:transactions`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '409':
          description: >-
            At least one selected transaction is listed in a finalized
            regulatory report. Nothing is deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InFiledReportError'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl (selected transactions)
          source: >-
            curl -X DELETE
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/transactions/delete/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"transaction_uuids": ["abcdef12-3456-7890-abcd-ef1234567890"]}'
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        The deletion is refused because the selected data is in a finalized
        regulatory report. Nothing is deleted. Delete the report, then repeat
        the request.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            Stable error code for a deletion blocked by a finalized regulatory
            report.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Reports that block a person, company, case or session deletion.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            Transactions that block a transaction deletion, each with the
            reports that list it.
    FiledRegulatoryReport:
      type: object
      description: A finalized regulatory report that prevents the requested deletion.
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: Report UUID.
        report_number:
          type: string
          description: Report number shown in the Console (for example, SAR-0001).
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: Regulatory report type.
        case_uuid:
          type: string
          format: uuid
          description: Case the report belongs to.
    FiledReportTransaction:
      type: object
      description: >-
        A transaction that cannot be deleted because a finalized regulatory
        report lists it.
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: Didit transaction UUID.
        transaction_id:
          type: string
          description: >-
            The transaction identifier supplied when the transaction was
            created.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Finalized reports that list this transaction.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your application's API key, from Developers -> API keys in the Business
        Console. The primary key has full access. A named key can be scoped:
        none, read or write per resource, limited to some workflows or to
        approved sessions, to a list of IP addresses, and to an expiry date. 401
        means the key is missing, wrong, revoked or expired; 403 means the key
        has no access to this resource or action, or the request came from an
        address outside its IP list; 404 on a session route means the session is
        outside the key's workflows or statuses. A key without media access
        receives image, video and PDF URLs as null, and a key without sessions
        write receives session links and tokens as null. See
        https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.