Single Credential and Batch Credential Issuance
Procivis One enables you to issue both single credentials and credentials in a batch. These types of credentials behave differently. This page explains the differences between the two types of credentials.
Overview
When creating a credential schema, you can optionally set a batchSize.
If you do not set a value for this, you will issue a single credential when
you issue using this schema. If you do set a value for batchSize (must
be at least 2), you will issue a batch credential.
Single credentials
A single credential is issued once. These credentials are then reused by wallet users across multiple presentations. These credentials cannot be refreshed, and are valid until they expire, are suspended, or are revoked.
In the list and detail credential endpoints, these credentials appear as
"type": "SINGLE".
Batch credentials
Multiple credentials are issued at once — specifically, the number you
specify for batchSize of the credential schema. The wallet uses a
different holder-binding key for each credential; the batch is otherwise
identical. The wallet then uses each credential only once. Depending on your
configurations for expiration and refresh token lifetime, the wallet can
refresh this credential and receive a new batch.
When you create a batch credential, the system creates a batch parent —
a logical record that tracks and manages the batch — along with the
individual batch items themselves, which are the credentials actually
issued and presented. These appear as "type": "BATCH_PARENT" and
"type": "BATCH_ITEM".
When you manage the batch parent credential — for example, suspending or revoking the parent — the system handles all batch items automatically. The status of a batch parent reflects the logical credential, since any given batch item may have differing statuses.
The batch item is the actual credential held in the wallet and used in presentations. While you can suspend or revoke a batch item, managing credentials using the batch parent is more appropriate for most use cases.
Expiration, suspension, and revocation
- For setting expiration times of credentials, see Credential Expiration for Issuers
- For suspension and revocation behavior, see Suspension and Revocation