Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

PIN Management API

Get Card PIN

get
/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin

This request is used by D1 to retrieve the PIN value of a physical card.

Authorizations
AuthorizationstringRequired

A JWT generated by the Get Authorization Token API.
The server checks the validity of the provided token to control access to this protected resource. Please refer to Get OAuth 2.0 access token for more details on the flow and on how to get this JWT.

Path parameters
issuerIdstring · min: 10 · max: 10Required

The id of the issuer

cardIdstring · min: 1 · max: 48Required

Unique identifier of the card.

Pattern: ^[A-Za-z0-9_-]{1,48}$
Header parameters
x-correlation-idstringOptional

Random identifier which can be used to correlate the different API calls done as part of a single use-case. This identifier will be the one primarily used for troubleshooting.

There is no strong guarantee of the uniqueness of this identifier, so please refrain from using it for other purpose than logging and troubleshooting.

Responses
200

The response body to get PIN to be displayed. This value is encrypted using the JWE encryption

application/json
typestring · enumRequired

The type of the PIN Block.

Possible values:
encryptedPinBlockstring · max: 8192Required

JWE encrypted PIN object containing PIN Value and Key version.

See "PIN Block ISO0" to get the PIN structure once decrypted

Example: eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImtpZCI6IkFTRHNMLUp4MlhPa1JuRnRxVy1RYmxXWS1tRG5RVzJMZ2FwYWRGeDc1dEEiLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJpb1VsOHpVbG41MDY0am9ZUnNBdUVPZmhiR1lUcGVqaVBVTVJiT183OEx3IiwieSI6IjhvR1VZUTdGZjVHeVl2TUlPQ3M2alg2dE4yUGFyMlJLRTlPX2NRbG9mVk0ifX0..AXz2wwr2cStQZNx5.t0Z2TzJir25lGMZEyUi7IJx7.TkUbBIqVr_8KH20ZyUM9Nw
get/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin
GET /cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin HTTP/1.1
Host: YOUR_DOMAIN_NAME
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "type": "ISO0",
  "encryptedPinBlock": "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImtpZCI6IkFTRHNMLUp4MlhPa1JuRnRxVy1RYmxXWS1tRG5RVzJMZ2FwYWRGeDc1dEEiLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJpb1VsOHpVbG41MDY0am9ZUnNBdUVPZmhiR1lUcGVqaVBVTVJiT183OEx3IiwieSI6IjhvR1VZUTdGZjVHeVl2TUlPQ3M2alg2dE4yUGFyMlJLRTlPX2NRbG9mVk0ifX0..AXz2wwr2cStQZNx5.t0Z2TzJir25lGMZEyUi7IJx7.TkUbBIqVr_8KH20ZyUM9Nw"
}

Set Card PIN

put
/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin

This request is used by D1 to push securelly in core banking system the PIN value for a physical card.

Authorizations
AuthorizationstringRequired

A JWT generated by the Get Authorization Token API.
The server checks the validity of the provided token to control access to this protected resource. Please refer to Get OAuth 2.0 access token for more details on the flow and on how to get this JWT.

Path parameters
issuerIdstring · min: 10 · max: 10Required

The id of the issuer

cardIdstring · min: 1 · max: 48Required

Unique identifier of the card.

Pattern: ^[A-Za-z0-9_-]{1,48}$
Header parameters
x-correlation-idstringOptional

Random identifier which can be used to correlate the different API calls done as part of a single use-case. This identifier will be the one primarily used for troubleshooting.

There is no strong guarantee of the uniqueness of this identifier, so please refrain from using it for other purpose than logging and troubleshooting.

Body
typestring · enumRequired

The type of the PIN Block.

Possible values:
encryptedPinBlockstring · max: 8192Required

JWE encrypted PIN object containing PIN Value and Key version.

See "PIN Block ISO0" or "PIN Block 3DES Seccos" to get the PIN structure once decrypted

Example: eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImtpZCI6IkFTRHNMLUp4MlhPa1JuRnRxVy1RYmxXWS1tRG5RVzJMZ2FwYWRGeDc1dEEiLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJpb1VsOHpVbG41MDY0am9ZUnNBdUVPZmhiR1lUcGVqaVBVTVJiT183OEx3IiwieSI6IjhvR1VZUTdGZjVHeVl2TUlPQ3M2alg2dE4yUGFyMlJLRTlPX2NRbG9mVk0ifX0..AXz2wwr2cStQZNx5.t0Z2TzJir25lGMZEyUi7IJx7.TkUbBIqVr_8KH20ZyUM9Nw
Responses
204

PIN set successfuly

No content

put/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin
PUT /cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin HTTP/1.1
Host: YOUR_DOMAIN_NAME
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 395

{
  "type": "ISO0",
  "encryptedPinBlock": "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImtpZCI6IkFTRHNMLUp4MlhPa1JuRnRxVy1RYmxXWS1tRG5RVzJMZ2FwYWRGeDc1dEEiLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJpb1VsOHpVbG41MDY0am9ZUnNBdUVPZmhiR1lUcGVqaVBVTVJiT183OEx3IiwieSI6IjhvR1VZUTdGZjVHeVl2TUlPQ3M2alg2dE4yUGFyMlJLRTlPX2NRbG9mVk0ifX0..AXz2wwr2cStQZNx5.t0Z2TzJir25lGMZEyUi7IJx7.TkUbBIqVr_8KH20ZyUM9Nw"
}

No content

Get PIN Change Counter

get
/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin/changeCounter

API used by D1 retreive from Issuer Backend the PIN Change Counter for a given card. The PIN Change counter is used to compute PRW and MAC

Authorizations
AuthorizationstringRequired

A JWT generated by the Get Authorization Token API.
The server checks the validity of the provided token to control access to this protected resource. Please refer to Get OAuth 2.0 access token for more details on the flow and on how to get this JWT.

Path parameters
issuerIdstring · min: 10 · max: 10Required

The id of the issuer

cardIdstring · min: 1 · max: 48Required

Unique identifier of the card.

Pattern: ^[A-Za-z0-9_-]{1,48}$
Header parameters
x-correlation-idstringOptional

Random identifier which can be used to correlate the different API calls done as part of a single use-case. This identifier will be the one primarily used for troubleshooting.

There is no strong guarantee of the uniqueness of this identifier, so please refrain from using it for other purpose than logging and troubleshooting.

Responses
200

Successful

application/json
pccstringRequired

The PIN Change Counter value.

Example: 0003Pattern: ^[0-9]{4}$
intdatagstring · min: 20 · max: 20Required

Identifier used to correlate the call to get Pin Change Counter and the call to set Pin.

Example: 21430919092023091909
get/cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin/changeCounter
GET /cms/api/v1/issuers/{issuerId}/cards/{cardId}/pin/changeCounter HTTP/1.1
Host: YOUR_DOMAIN_NAME
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pcc": "0003",
  "intdatag": "21430919092023091909"
}

Last updated

Was this helpful?