Endpoint returns history of credential offers search requests
Claim-based access control: Issuer_Admin
, Issuer_Auditor
, Issuer_User
Page number to retrieve.If you provide invalid value the default page number will applied Example: 1 Default Value: 1
Number of records per page. Example: 20 Default Value: 20 Max Value: 100
If provided value is greater than max value, max value will be applied.
Filter by createdBy query param. Format: filter.createdBy={$not}:OPERATION:VALUE Example: filter.createdBy=$not:$like:John Doe&filter.createdBy=like:John Available Operations$eq
Filter by updatedBy query param. Format: filter.updatedBy={$not}:OPERATION:VALUE Example: filter.updatedBy=$not:$like:John Doe&filter.updatedBy=like:John Available Operations$eq
Filter by createdAt query param. Format: filter.createdAt={$not}:OPERATION:VALUE Example: filter.createdAt=$not:$like:John Doe&filter.createdAt=like:John Available Operations$gt
Filter by updatedAt query param. Format: filter.updatedAt={$not}:OPERATION:VALUE Example: filter.updatedAt=$not:$like:John Doe&filter.updatedAt=like:John Available Operations$gt
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/search-history HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"searchQuery": {
"filter": {},
"sortBy": [
"text"
],
"page": 1,
"limit": 1,
"path": "text"
},
"recordsFound": 1
}
],
"meta": {
"select": [
"text"
],
"filter": {
"createdBy": "text",
"updatedBy": "text",
"createdAt": "text",
"updatedAt": "text"
}
},
"links": {
"first": "text",
"previous": "text",
"current": "text",
"next": "text",
"last": "text"
}
}
Returns an array of objects with the latest usage date of each credential type.
Claim-based access control: Issuer_User
, Issuer_Admin
, Issuer_Auditor
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/type-usage HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Accept: */*
[
{
"credentialType": "text",
"latestCreatedAt": "text"
}
]
Fetch one credential offer from issuer
Claim-based access control: Issuer_Admin
, Issuer_User
, Issuer_Auditor
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/{id} HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"organisationProfile": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"isDefault": true,
"pspEnvironmentId": "text",
"image": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"mimeType": "image/jpeg",
"keyUrl": "text",
"filename": "text"
}
},
"correlationId": "nchain",
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"email": "example@example.com",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"credentialNames": [
"Example Credential"
],
"credentialTypes": [
"ExampleCredential",
"VerifiableCredential"
],
"credentialId": "exampleCredential",
"status": "ready_to_claim",
"issuer": "did:bsv:1234",
"subject": "did:bsv:4321",
"issuedAt": "2025-06-20T06:44:22.629Z",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"revocationId": "fbc77ba90ba20d98ac94c86fc0f6031452ac697327ac9ca",
"revocationReason": "Credential compromised",
"revokedAt": "2025-06-20T06:44:22.629Z",
"revokedBy": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"expirationDate": "2025-06-20T06:44:22.629Z",
"emailSent": true,
"revocationEmailSent": true,
"credentialOfferCollection": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"name": "text"
}
}
Deletes a credential offer if it has not yet been claimed otherwise it is not deletable.
Claim-based access control: Issuer_Admin
, Issuer_User
DELETE /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/{id} HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Accept: */*
No content
Retrieves a claim code for a given credential offer ID. Claim code can be rendered as QR code and scanned with wallet app.
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/{id}/claim HTTP/1.1
Host: identity.nchainplatform.com
Accept: */*
{
"uri": "openid-credential-offer://?credential_offer={\\\"grants\\\":{\\\"urn:ietf:params:oauth:grant-type:pre-authorized_code\\\":{\\\"pre-authorized_code\\\":\\\"sWoSmJM9vnD2yL3Ruot3ps\\\",\\\"user_pin_required\\\":false}},\\\"credentials\\\":[\\\"CharacterCredential\\\"],\\\"credential_issuer\\\":\\\"https://1c13-213-172-234-81.ngrok-free.app/nchain\\",
"userPinRequired": false,
"credentialNames": [
"Example Credential"
],
"credentialTypes": [
"ExampleCredential",
"VerifiableCredential"
],
"organisationProfile": {
"name": "text",
"image": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"mimeType": "image/jpeg",
"keyUrl": "text",
"filename": "text"
}
}
}
Returns the status of the credential by calling the issuer api and returning the result of the operation back
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/{id}/status HTTP/1.1
Host: identity.nchainplatform.com
Accept: */*
{
"createdAt": 1702632883012,
"lastUpdatedAt": 1702632883012,
"status": "OFFER_CREATED"
}
Endpoint returns a paginated result of credential offers.
Claim-based access control: Issuer_Admin
, Issuer_User
, Issuer_Auditor
Page number to retrieve.If you provide invalid value the default page number will applied Example: 1 Default Value: 1
Number of records per page. Example: 20 Default Value: 20 Max Value: 100
If provided value is greater than max value, max value will be applied.
Filter by id query param. Format: filter.id={$not}:OPERATION:VALUE Example: filter.id=$not:$like:John Doe&filter.id=like:John Available Operations$in
Filter by email query param. Format: filter.email={$not}:OPERATION:VALUE Example: filter.email=$not:$like:John Doe&filter.email=like:John Available Operations$eq
Filter by credentialId query param. Format: filter.credentialId={$not}:OPERATION:VALUE Example: filter.credentialId=$not:$like:John Doe&filter.credentialId=like:John Available Operations$eq
Filter by credentialNames query param. Format: filter.credentialNames={$not}:OPERATION:VALUE Example: filter.credentialNames=$not:$like:John Doe&filter.credentialNames=like:John Available Operations$contains
Filter by credentialTypes query param. Format: filter.credentialTypes={$not}:OPERATION:VALUE Example: filter.credentialTypes=$not:$like:John Doe&filter.credentialTypes=like:John Available Operations$contains
Filter by correlationId query param. Format: filter.correlationId={$not}:OPERATION:VALUE Example: filter.correlationId=$not:$like:John Doe&filter.correlationId=like:John Available Operations$eq
Filter by search query param. Format: filter.search={$not}:OPERATION:VALUE Example: filter.search=$not:$like:John Doe&filter.search=like:John Available Operations$fulltext
Filter by subject query param. Format: filter.subject={$not}:OPERATION:VALUE Example: filter.subject=$not:$like:John Doe&filter.subject=like:John Available Operations$contains
Filter by issuer query param. Format: filter.issuer={$not}:OPERATION:VALUE Example: filter.issuer=$not:$like:John Doe&filter.issuer=like:John Available Operations$contains
Filter by status query param. Format: filter.status={$not}:OPERATION:VALUE Example: filter.status=$not:$like:John Doe&filter.status=like:John Available Operations$eq
Filter by createdBy query param. Format: filter.createdBy={$not}:OPERATION:VALUE Example: filter.createdBy=$not:$like:John Doe&filter.createdBy=like:John Available Operations$eq
Filter by updatedBy query param. Format: filter.updatedBy={$not}:OPERATION:VALUE Example: filter.updatedBy=$not:$like:John Doe&filter.updatedBy=like:John Available Operations$eq
Filter by createdAt query param. Format: filter.createdAt={$not}:OPERATION:VALUE Example: filter.createdAt=$not:$like:John Doe&filter.createdAt=like:John Available Operations$gt
Filter by updatedAt query param. Format: filter.updatedAt={$not}:OPERATION:VALUE Example: filter.updatedAt=$not:$like:John Doe&filter.updatedAt=like:John Available Operations$gt
Filter by issuedAt query param. Format: filter.issuedAt={$not}:OPERATION:VALUE Example: filter.issuedAt=$not:$like:John Doe&filter.issuedAt=like:John Available Operations$gt
Filter by revokedAt query param. Format: filter.revokedAt={$not}:OPERATION:VALUE Example: filter.revokedAt=$not:$like:John Doe&filter.revokedAt=like:John Available Operations$gt
Filter by expirationDate query param. Format: filter.expirationDate={$not}:OPERATION:VALUE Example: filter.expirationDate=$not:$like:John Doe&filter.expirationDate=like:John Available Operations$gt
Filter by credentialOfferCollection.id query param. Format: filter.credentialOfferCollection.id={$not}:OPERATION:VALUE Example: filter.credentialOfferCollection.id=$not:$like:John Doe&filter.credentialOfferCollection.id=like:John Available Operations$eq
GET /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"correlationId": "nchain",
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"email": "example@example.com",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"credentialNames": [
"Example Credential"
],
"credentialTypes": [
"ExampleCredential",
"VerifiableCredential"
],
"credentialId": "exampleCredential",
"status": "ready_to_claim",
"issuer": "did:bsv:1234",
"subject": "did:bsv:4321",
"issuedAt": "2025-06-20T06:44:22.629Z",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"revocationId": "fbc77ba90ba20d98ac94c86fc0f6031452ac697327ac9ca",
"revocationReason": "Credential compromised",
"revokedAt": "2025-06-20T06:44:22.629Z",
"revokedBy": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"expirationDate": "2025-06-20T06:44:22.629Z",
"emailSent": true,
"revocationEmailSent": true,
"credentialOfferCollection": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"name": "text"
},
"organisationProfile": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
}
],
"meta": {
"select": [
"text"
],
"filter": {
"id": "text",
"email": "text",
"credentialId": "text",
"credentialNames": "text",
"credentialTypes": "text",
"correlationId": "text",
"search": "text",
"subject": "text",
"issuer": "text",
"status": "text",
"createdBy": "text",
"updatedBy": "text",
"createdAt": "text",
"updatedAt": "text",
"issuedAt": "text",
"revokedAt": "text",
"expirationDate": "text",
"credentialOfferCollection.id": "text"
}
},
"links": {
"first": "text",
"previous": "text",
"current": "text",
"next": "text",
"last": "text"
}
}
Endpoint supports bulk credential offers records handling. Once created you are be able to issue a credential offer from agent using /webapp endpoints. If the agent returns error that the action cannot be completed because it is missing credential offer you must first create the resource here and then try again.
**Claim-based access control:** Issuer_Admin
, Issuer_User
Defines a organisation which is defined as a correlationId. Must be a value the Issuer is working with!
nchain
The organisation profile the credential is associated to.
ID of the collection you want to add the credential offers to
POST /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 423
{
"correlationId": "nchain",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"credentialOffers": [
{
"email": "example@example.com",
"credentialId": "exampleCredential",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"claims": [
{
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"expirationDate": "2025-06-20T06:44:22.629Z"
}
],
"credentialOfferCollectionId": "123e4567-e89b-12d3-a456-426614174000"
}
{
"organisationProfile": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"isDefault": true,
"pspEnvironmentId": "text",
"image": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"mimeType": "image/jpeg",
"keyUrl": "text",
"filename": "text"
}
},
"credentialOffers": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"correlationId": "nchain",
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"email": "example@example.com",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"credentialNames": [
"Example Credential"
],
"credentialTypes": [
"ExampleCredential",
"VerifiableCredential"
],
"credentialId": "exampleCredential",
"status": "ready_to_claim",
"issuer": "did:bsv:1234",
"subject": "did:bsv:4321",
"issuedAt": "2025-06-20T06:44:22.629Z",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"revocationId": "fbc77ba90ba20d98ac94c86fc0f6031452ac697327ac9ca",
"revocationReason": "Credential compromised",
"revokedAt": "2025-06-20T06:44:22.629Z",
"revokedBy": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"expirationDate": "2025-06-20T06:44:22.629Z",
"emailSent": true,
"revocationEmailSent": true,
"credentialOfferCollection": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"name": "text"
},
"organisationProfile": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
}
],
"failedCredentialOffers": [
{
"email": "example@example.com",
"credentialId": "exampleCredential",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"claims": [
{
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"expirationDate": "2025-06-20T06:44:22.629Z",
"correlationId": "nchain",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"error": "text",
"errorCode": "text"
}
]
}
Limited to 2 requests per minute per user.
Claim-based access control: Issuer_Admin
, Issuer_User
POST /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/share-with-email HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"credentialOfferIds": [
"text"
]
}
[
{
"credentialOfferId": "text",
"status": "ENQUEUED"
}
]
Claim-based access control: Issuer_Admin
, Issuer_User
POST /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/resend-revocation-email HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 28
{
"credentialOfferId": "text"
}
{
"message": "text"
}
Accepts the next image formats: image/jpeg, image/png, image/webp. Max size is: 5242880 bytes.
Claim-based access control: Issuer_Admin
, Issuer_User
POST /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/image-upload HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 18
{
"image": "binary"
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"mimeType": "image/jpeg",
"keyUrl": "text",
"filename": "text",
"type": "cover_image"
}
Revokes the credential offer using the credential revocation txId stored. You will need to supply the revocation reason to be stored alongside it. When completed the credential will display revoked on the users wallet and also the verifier will return revoked status if user tries to verify with it.
Claim-based access control: Issuer_Admin
, Issuer_User
PATCH /products/web/$IDENTITY_ENV_ID/issuer/api/private/credential-offers/revoke HTTP/1.1
Host: identity.nchainplatform.com
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 84
{
"revoke": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"revocationReason": "text"
}
]
}
{
"revocations": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"organisationProfile": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"updatedAt": "2025-06-20T06:44:22.629Z",
"deletedAt": "2025-06-20T06:44:22.629Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"isDefault": true,
"pspEnvironmentId": "text",
"image": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"mimeType": "image/jpeg",
"keyUrl": "text",
"filename": "text"
}
},
"correlationId": "nchain",
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
],
"email": "example@example.com",
"organisationProfileId": "123e4567-e89b-12d3-a456-426614174000",
"credentialNames": [
"Example Credential"
],
"credentialTypes": [
"ExampleCredential",
"VerifiableCredential"
],
"credentialId": "exampleCredential",
"status": "ready_to_claim",
"issuer": "did:bsv:1234",
"subject": "did:bsv:4321",
"issuedAt": "2025-06-20T06:44:22.629Z",
"referenceId": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"revocationId": "fbc77ba90ba20d98ac94c86fc0f6031452ac697327ac9ca",
"revocationReason": "Credential compromised",
"revokedAt": "2025-06-20T06:44:22.629Z",
"revokedBy": "439c355a-9d79-4ab6-88cd-d4a44edbb08c",
"expirationDate": "2025-06-20T06:44:22.629Z",
"emailSent": true,
"revocationEmailSent": true,
"credentialOfferCollection": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-06-20T06:44:22.629Z",
"name": "text"
}
}
],
"failed": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"error": "text",
"code": "credential_offer_already_revoked"
}
]
}