# Update PIN from PINblock Update the card PIN (Personal Identification Number) from its PINBlock. PINlBocks are 64-bit strings that encode a PIN ready for encryption and secure transmission in banking networks. For more information, refer to the [PIN/PINBlock](doc:pinpinblock-tutorial) tutorial. **Note**: This does not change the password recorded on an embossed card's chip. If the card is configured for offline password verification, you need to change the password on the physical card. To do that, you can use a [card script](doc:card-scripts). This endpoint generates a [Card password changed](https://developers.pismo.io/events/docs/cards-update-password-1) event. **Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment. # OpenAPI definition ```json { "openapi": "3.0.1", "info": { "title": "Card issuing - Cards", "version": "1.4.6", "description": "Card endpoints API", "contact": { "name": "API Support", "url": "https://developers.pismo.io/support/" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io", "description": "Sandbox API server for testing." }, { "url": "https://gw-pci.pismolabs.io", "description": "Sandbox PCI API server for testing" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "PCI", "description": "Card PCI/sensitive information endpoints" } ], "components": { "parameters": { "cardId": { "in": "path", "name": "cardId", "schema": { "type": "string" }, "description": "Pismo card ID", "required": true } }, "schemas": { "SyncOfflinePin": { "type": "boolean", "description": "Synchronize the offline PIN with the current online PIN value?\n\nIf `true`, the platform generates a script with the new online PIN, sends the script in the response to the next authorization made with a chip (contact), and generates the [Card issuer script notification received](https://developers.pismo.io/events/docs/cards-issuer-script-1) event. \n \nDefault is `false`.\n", "example": true, "default": false }, "UpdatePinFromPinblockBody": { "type": "object", "description": "Update PIN from PINBlock object", "properties": { "pinblock": { "type": "string", "description": "PINBlock to update", "example": "4E49BF480C44A36C" }, "key_id": { "type": "string", "description": "ID of key used to generate the PINBlock. \n\nA Zone PIN Key (ZPK) identifier. The ZPK is a data encrypting or decrypting key for PIN transfer between parties. For example, between issuers and processors or acquirers and networks or networks and processors, and so on.\n\nIn a sandbox environment, a fixed ZPK is used:\n\n key_id: `7d14ca2e-1057-11ee-8cee-060f666de710`\n\n HSM key: `0404F2543B1C6E70AB61586E1304B6A7`\n\nFor production, open a Jira ticket with type = **Configuration**. Request you need the key to use endpoints with PIN management such as PINBLOCK.\n", "example": "32a147ec-b2d9-4b0d-8c5b-557e6cf41e0e" }, "sync_offline_pin": { "$ref": "#/components/schemas/SyncOfflinePin" } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "description": "Account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in an \"Unauthorized\" error.", "bearerFormat": "JWT" } }, "responses": { "204NoContent": { "description": "No Content" }, "401Unauthorized": { "description": "Access token is missing or invalid" }, "403Forbidden": { "description": "You don't have permission to access this resource" }, "404NotFound": { "description": "The specified resource was not found" }, "500InternalServer": { "description": "Internal server error" } } }, "paths": { "/pcicards/v1/pcicards/{cardId}/pinblock": { "put": { "operationId": "put-v1-update-pin-from-pinblock", "summary": "Update PIN from PINblock", "description": "Update the card PIN (Personal Identification Number) from its PINBlock. PINlBocks are 64-bit strings that encode a PIN ready for encryption and secure transmission in banking networks. \n\nFor more information, refer to the [PIN/PINBlock](https://developers.pismo.io/pismo-docs/docs/pinpinblock-tutorial) tutorial.\n\n**Note**: This does not change the password recorded on an embossed card's chip. If the card is configured for offline password verification, you need to change the password on the physical card. To do that, you can use a [card script](https://developers.pismo.io/pismo-docs/docs/card-scripts).\n\nThis endpoint generates a [Card password changed](https://developers.pismo.io/events/docs/cards-update-password-1) event.\n\n**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.\n", "tags": [ "PCI" ], "parameters": [ { "$ref": "#/components/parameters/cardId" } ], "requestBody": { "description": "Request body*", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePinFromPinblockBody" } } } }, "responses": { "204": { "$ref": "#/components/responses/204NoContent" }, "401": { "$ref": "#/components/responses/401Unauthorized" }, "403": { "$ref": "#/components/responses/403Forbidden" }, "404": { "$ref": "#/components/responses/404NotFound" }, "500": { "$ref": "#/components/responses/500InternalServer" } } } } } } ```