> ## 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.

# API Hapus Transaksi Batch

> Hapus transaksi di Didit secara permanen berdasarkan UUID atau kosongkan semua transaksi aplikasi. Laporan final memblokir penghapusan.



Batch Delete Transactions API Prompt
        Salin prompt ke papan klip



      
      

\<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>



      
      

Tempel ke

Hapus transaksi yang dipantau secara permanen, berdasarkan UUID atau sekaligus semuanya.## Apa yang dihapusTransaksi yang dihapus akan ikut menghapus catatan yang hanya terkait dengannya: pihak-pihak terkait, tag, catatan, tautan metode pembayaran, dokumen dan setiap versi tersimpan dari file-filenya, eksekusi aturan, alert, hasil penyedia, snapshot jaringan, dan data Travel Rule.Kasus, orang, dan perusahaan tetap ada; tautan mereka ke transaksi yang dihapus akan dikosongkan. Laporan regulasi berstatus draf akan berhenti mencantumkan transaksi yang dihapus dan dibuat ulang tanpa transaksi tersebut. Penghapusan bersifat permanen dan tidak dapat dibatalkan.## Pilih yang akan dihapusKirimkan tepat satu selektor:| Kolom | Tipe | Deskripsi |
| - | - | - |
| `transaction_uuids` | UUID\[] | UUID transaksi Didit yang akan dihapus. Wajib kecuali `delete_all` bernilai `true`. |
| `delete_all` | boolean | Hapus setiap transaksi dalam aplikasi. `transaction_uuids` diabaikan. |> [!WARNING]
>
> `delete_all: true` menghapus setiap transaksi dalam aplikasi. Tidak ada langkah konfirmasi dan tidak ada cara untuk membatalkannya.## Diblokir oleh laporan finalJika ada transaksi yang dipilih tercantum dalam laporan regulasi yang sudah final, seluruh permintaan akan mengembalikan `409` dan tidak ada yang dihapus:```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"
        }
      ]
    }
  ]
}
```Hapus setiap laporan dengan [Hapus Laporan](https://docs.didit.me/id/management-api/regulatory-reports/delete.md), lalu ulangi permintaan ini. Jika Anda memilih beberapa transaksi, keluarkan transaksi yang diblokir dari daftar pilihan atau hapus laporannya terlebih dahulu.## Terkait- [Daftar transaksi](https://docs.didit.me/id/management-api/transactions/list.md)
- [Ambil transaksi](https://docs.didit.me/id/management-api/transactions/get.md)
- [Hapus laporan](https://docs.didit.me/id/management-api/regulatory-reports/delete.md)


## OpenAPI

````yaml id/openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/transactions/delete/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/transactions/delete/:
    delete:
      tags:
        - Transactions
      summary: Hapus transaksi secara batch
      description: >-
        Hapus satu atau beberapa transaksi secara permanen. Pilih transaksi
        tersebut dengan `transaction_uuids`, atau hapus setiap transaksi di
        aplikasi dengan `delete_all: true`.


        Transaksi yang dihapus akan terhapus bersama catatan yang hanya miliknya
        sendiri: pihak-pihaknya, tag, catatan, tautan metode pembayaran, dokumen
        dan setiap versi tersimpan dari filenya, eksekusi aturan, alert, hasil
        penyedia, snapshot jaringan, dan data Travel Rule. Kasus, orang, dan
        perusahaan tetap ada; tautannya ke transaksi yang dihapus akan
        dibersihkan. Draf laporan regulasi berhenti mencantumkannya dan dibuat
        ulang tanpanya. Penghapusan bersifat permanen dan tidak dapat
        dibatalkan; tidak ada endpoint undo.


        Jika ada transaksi yang dipilih tercantum dalam laporan regulasi yang
        telah difinalisasi, seluruh permintaan ditolak dengan `409` dan tidak
        ada yang dihapus. Body respons menggunakan `code: in_filed_report` dan
        menyebutkan setiap transaksi serta laporan yang mencantumkannya. Hapus
        laporan-laporan tersebut, lalu ulangi permintaan.
      operationId: batch_delete_transactions
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID organisasi.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID aplikasi.
      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: >-
                        UUID transaksi Didit yang akan dihapus. Wajib diisi
                        kecuali `delete_all` bernilai true.
                      minItems: 1
                    delete_all:
                      type: boolean
                      enum:
                        - false
                      default: false
                      description: >-
                        Jangan sertakan atau kirim `false` saat Anda memilih
                        transaksi dengan `transaction_uuids`.
                - title: All transactions
                  required:
                    - delete_all
                  properties:
                    delete_all:
                      type: boolean
                      enum:
                        - true
                      description: >-
                        Hapus setiap transaksi di aplikasi. `transaction_uuids`
                        diabaikan.
                    transaction_uuids:
                      type: array
                      items:
                        type: string
                        format: uuid
                      description: Diabaikan saat `delete_all` bernilai 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: Transaksi terpilih dihapus.
        '400':
          description: Tidak ada selektor transaksi yang diberikan.
          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: >-
            Kunci API tidak dapat menghapus transaksi. Endpoint memerlukan
            `write:transactions`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '409':
          description: >-
            Setidaknya satu transaksi yang dipilih tercantum dalam laporan
            regulasi yang telah difinalisasi. Tidak ada yang dihapus.
          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"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

            client.transactions.batch_delete(
                body={
                    "transaction_uuids": ["abcdef12-3456-7890-abcd-ef1234567890", "12345678-90ab-cdef-1234-567890abcdef"],
                },
            )
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            const didit = new Didit();

            await didit.transactions.batchDelete({
              transaction_uuids: ["abcdef12-3456-7890-abcd-ef1234567890", "12345678-90ab-cdef-1234-567890abcdef"],
            });
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.TransactionsBatchDeleteParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            client.transactions().batchDelete(TransactionsBatchDeleteParams.builder()
                    .putAdditionalProperty("transaction_uuids", List.of("abcdef12-3456-7890-abcd-ef1234567890", "12345678-90ab-cdef-1234-567890abcdef"))
                    .build());
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            $didit = new DiditClient();

            $didit->transactions->batchDelete([
                'transaction_uuids' => ['abcdef12-3456-7890-abcd-ef1234567890', '12345678-90ab-cdef-1234-567890abcdef'],
            ]);
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            didit = Didit::Client.new

            didit.transactions.batch_delete(
              body: {
                transaction_uuids: ["abcdef12-3456-7890-abcd-ef1234567890", "12345678-90ab-cdef-1234-567890abcdef"],
              }
            )
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using Didit;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            using var client = new DiditClient();


            await client.Transactions.BatchDeleteAsync(new
            TransactionsBatchDeleteParams

            {
                TransactionUuids = new string[] { "abcdef12-3456-7890-abcd-ef1234567890", "12345678-90ab-cdef-1234-567890abcdef" },
            });
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        Penghapusan ditolak karena data yang dipilih berada dalam laporan
        regulasi yang telah diselesaikan. Tidak ada yang dihapus. Hapus laporan
        tersebut, lalu ulangi permintaan.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            Kode kesalahan stabil untuk penghapusan yang diblokir oleh laporan
            regulasi yang telah difinalisasi.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: >-
            Laporan yang memblokir penghapusan orang, perusahaan, kasus, atau
            sesi.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            Transaksi yang memblokir penghapusan transaksi, masing-masing
            beserta laporan yang mencantumkannya.
    FiledRegulatoryReport:
      type: object
      description: Laporan regulasi yang sudah final mencegah penghapusan yang diminta.
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID laporan.
        report_number:
          type: string
          description: Nomor laporan yang ditampilkan di Console (misalnya, SAR-0001).
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: Jenis laporan regulasi.
        case_uuid:
          type: string
          format: uuid
          description: Kasus tempat laporan ini bernaung.
    FiledReportTransaction:
      type: object
      description: >-
        Transaksi yang tidak dapat dihapus karena tercantum dalam laporan
        regulasi yang telah difinalisasi.
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID transaksi Didit.
        transaction_id:
          type: string
          description: Pengidentifikasi transaksi yang diberikan saat transaksi dibuat.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Laporan yang telah difinalisasi dan mencantumkan transaksi ini.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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