Issuance API
Issue Credentials
Issue verifiable credentials to one or more recipients under a programme.
POST
Overview
Creates a new credential batch and issues a unique, shareable credential URL to each recipient. The batch is immediately queryable via Get Credential Batch.Requires
Content-Type: application/json and a valid API token. All recipients in a batch are tied to the same programme.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
programId | string | Yes | The programme to issue credentials under |
batchName | string | Yes | A label for this batch of credentials |
recipients | array | Yes | One or more recipient objects |
recipients[].name | string | Yes | Recipient full name |
recipients[].email | string | Yes | Recipient email address |
Response Fields
| Field | Type | Description |
|---|---|---|
batchId | string | Unique batch identifier — use with GET /credentials/{batchId} |
programId | string | Programme this batch belongs to |
batchName | string | Name given to this batch |
orgId | string | Organisation |
mode | string | "live" or "test" |
status | string | Always "issued" on creation |
recipients | array | Array of issued credentials |
recipients[].recipientId | string | Unique credential ID per recipient |
recipients[].credentialUrl | string | Public URL to view the credential |
issuedAt | string | ISO 8601 timestamp |
Error Codes
| Code | HTTP | Description |
|---|---|---|
MISSING_PROGRAM_ID | 400 | programId missing from request body |
MISSING_BATCH_NAME | 400 | batchName missing from request body |
MISSING_RECIPIENTS | 400 | recipients missing or empty array |
UNAUTHORIZED | 401 | Token missing or invalid |
NOT_FOUND | 404 | programId does not exist or belongs to another org |

