> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# Bulk Issuance

Upload a CSV with one row per credential. Each row is validated against the selected schema, queued for signing, and reported with per-row progress. Failed rows can be retried after fixing the input.

Bulk batches anchor a single Merkle root on-chain rather than one transaction per credential — typical savings: **>95%** in gas.

```bash
curl -X POST https://adid.dev/api/v1/credentials/bulk-issue   -H 'Authorization: Bearer <jwt>'   -F 'schemaId=kyc-v1'   -F 'csv=@subjects.csv'
```