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

# Delete Report

> Delete a draft or finalized regulatory report, including its copied narrative, transaction links, goAML XML and PDF.



Delete Report API Prompt
        Copy prompt to clipboard



      
      

\<pre>

\`Delete a regulatory (FIU) report through the Management API.

Endpoint:
DELETE https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/

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

Request body:
A draft or validated report can be deleted without a body.
A finalized report requires:
\{"confirm_delete": true}

Example call:
curl -X DELETE "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"confirm_delete": true}'

What is deleted:
\- The report, its copied narrative, reasons and other report fields.
\- Its links to transactions.
\- Its generated goAML XML and PDF, including every stored version of those files.
The report disappears from report lists, and previously issued download URLs stop working. The case, transactions, people and companies are NOT deleted. Deletion is permanent and cannot be undone.

Failure modes:
\- 400 - a finalized report was sent without confirm_delete: true. Nothing is deleted.
\- 403 - the key cannot delete reports (requires write:cases).
\- 404 - the report does not exist in this application or was already deleted.
\- 409 - code report_deletion_pending: the report is already being deleted. Repeat the request to finish.
\- 503 - code report_storage_unavailable: the report files could not be erased right now. The report is still in place. Repeat the request.

After deletion:
A delete of a person, company, transaction, case or session that was blocked by this report can be repeated. See Delete Users, Delete Businesses, Batch Delete Transactions, Delete Case and Delete Session.

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

\</pre>



      
      

Paste into

Delete a regulatory report permanently.## What is deletedThe report, its copied narrative, reasons and other report fields, its links to transactions, and its generated goAML XML and PDF. Every stored version of those files is erased. The report disappears from report lists, and previously issued download URLs stop working.The case, transactions, people and companies are **not** deleted. The report does not take their data with it. Deletion is permanent and irreversible.## ConfirmationA draft or validated report is deleted without a request body.Deleting a finalized report requires an explicit confirmation:```json theme={null}
{ "confirm_delete": true }
```Without it, a finalized report returns `400` and nothing is deleted.## If the files cannot be erased right nowA `503` with `code: report_storage_unavailable` means the report files could not be erased right now. The report is still in place, so repeat the request. A `409` with `code: report_deletion_pending` means a delete of this report is already under way: repeat the request to finish it.## Resolve a blocked deletionIf a person, company, transaction, case or session delete returns `409` with `code: in_filed_report`, the response names the reports that hold the data. Delete each report here, then repeat the blocked delete.## Related- [List reports](https://docs.didit.me/management-api/regulatory-reports/list.md)
- [Finalize report](https://docs.didit.me/management-api/regulatory-reports/finalize.md)
- [Delete case](https://docs.didit.me/management-api/cases/delete.md)
- [Batch delete transactions](https://docs.didit.me/management-api/transactions/delete.md)


## OpenAPI

````yaml DELETE /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/
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}/regulatory-reports/{report_uuid}/:
    delete:
      tags:
        - Regulatory Reports
      summary: Delete report
      description: >-
        Delete a regulatory report permanently. The report, its copied narrative
        and reasons, its transaction links, and its generated goAML XML and PDF
        are erased, including every stored version of those files. The report
        disappears from lists and download URLs stop working. Other records,
        including the case, transactions, people and companies, are not deleted.
        There is no undo.


        A draft or validated report can be deleted without a request body.
        Deleting a finalized report requires `confirm_delete: true` in the
        request body. If the report is missing, the request returns `404`; if a
        finalized report is sent without confirmation, it returns `400` and
        nothing is deleted.
      operationId: delete_regulatory_report
      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.
        - name: report_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: 5ec00000-0000-4000-8000-000000000007
          description: Report UUID.
      requestBody:
        required: false
        description: Required only for a finalized report.
        content:
          application/json:
            schema:
              type: object
              properties:
                confirm_delete:
                  type: boolean
                  description: >-
                    Set to true to confirm that a finalized report and its
                    generated files are deleted permanently.
              example:
                confirm_delete: true
      responses:
        '204':
          description: Report deleted, including its generated files.
        '400':
          description: >-
            A finalized report was sent without `confirm_delete: true`. Nothing
            is deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  confirm_delete:
                    type: array
                    items:
                      type: string
              example:
                confirm_delete:
                  - This field is required to delete a finalized report.
        '403':
          description: >-
            The API key cannot delete reports. The endpoint requires
            `write:cases`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '404':
          description: Report not found in this application.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '409':
          description: >-
            The report is already being deleted. Repeat the request to finish
            erasing its files.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                detail: >-
                  This report is being deleted. Retry deleting it to finish
                  erasing its files.
                code: report_deletion_pending
        '503':
          description: >-
            The report files could not be erased right now. The report is still
            in place. Repeat the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                detail: >-
                  The report files could not be erased. Please retry deleting
                  the report.
                code: report_storage_unavailable
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl (draft report)
          source: >-
            curl -X DELETE
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/regulatory-reports/5ec00000-0000-4000-8000-000000000007/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: curl
          label: curl (finalized report)
          source: >-
            curl -X DELETE
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/regulatory-reports/5ec00000-0000-4000-8000-000000000007/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"confirm_delete": true}'
components:
  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.