---
title: "Bulk-delete supporting-document records from a credentialing workflow"
method: POST
path: "/credentialing-workflows/{workflowId}/supporting-documents/bulk-delete"
tags: ["CredentialingWorkflow"]
---

# Bulk-delete supporting-document records from a credentialing workflow

`POST /credentialing-workflows/{workflowId}/supporting-documents/bulk-delete`

Deletes multiple supporting-document records in one action. Each recordId uses the '{section}-{index}' format (e.g. 'supportingDocuments-3'); section must be supportingDocuments. Deletion is a single read-modify-write and hard-deletes the records (no tombstone), matching single-record delete behaviour. Partial failures (malformed, wrong section, out-of-bounds, duplicate recordIds) are reported per record and do not block the valid deletions.

## Path parameters

- `workflowId` string, required

## Headers

- `tenant-id` string, required

## Request body

- BulkDeleteSupportingDocumentsRequest — Identifiers of the supporting-document records to delete in one action.
  - `recordIds` string[], required — Record identifiers in '{section}-{index}' format; section must be supportingDocuments. At most 500 per request.

## Response `200`

At least one record was deleted; body reports the deleted and failed records

- BulkDeleteSupportingDocumentsResponse — Outcome of a supporting-document bulk-delete request, per record.
  - `deleted` string[], required — Record identifiers that were successfully deleted.
  - `failed` BulkDeleteSupportingDocumentsFailedRecord[], required — Records that could not be deleted, with the reason for each.
    - `recordId` string, required — The record identifier that failed.
    - `reason` string, required — Human-readable reason the record was not deleted.

## Other responses

- `400` — Empty/blank/invalid recordIds, a blank tenant-id, or a missing request body
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Credentialing workflow not found
- `422` — No record was deleted — every recordId failed (malformed, wrong section, out-of-bounds, or duplicate); the body carries the per-record failure reasons
- `500` — Internal server error
- `503` — Feature disabled by kill switch

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
