Set or Replace Represented Business NRS QR Material
Store both optional NRS QR values for one represented business, or replace a pair stored earlier. Gateway freshly authorizes the exact parent, domain state, and child, hashes the opaque strings, and sends a short-lived signed proof plus the values to Spend for storage. It does not call NRS or validate certificate structure, dates, RSA key size, or a certificate/key match.
The QR generator interprets the stored public key only when QR generation is attempted. Missing or unusable QR material is not an onboarding, validation, signing, or transmission precondition. A foreign or unknown represented-business ID returns the same not-found result and does not reveal another tenant's data.
Authorization
apiKey The API key generated for your business in Duplo Dashboard.
In: header
Path Parameters
The gatewaySubBusinessId returned when the represented business was onboarded.
uuidHeader Parameters
Stable key identifying one logical command. Gateway management keys contain 8–128 letters, digits, dots, underscores, colons, or hyphens. For onboarding, the key binds the normalized optional profile; a completed replay may omit NRS credentials and QR material.
^[A-Za-z0-9._:-]+$8 <= length <= 128Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/sub-businesses/44444444-4444-4444-8444-444444444444/nrs-crypto-material" \ -H "x-idempotency-key: command-acme-retail-0001" \ -H "Content-Type: application/json" \ -d '{ "nrsCryptoKeys": { "certificate": "nrs-issued-certificate-value", "publicKey": "-----BEGIN PUBLIC KEY-----\\n...\\n-----END PUBLIC KEY-----\\n" } }'{
"gatewaySubBusinessId": "44444444-4444-4444-8444-444444444444",
"cryptoVersion": 1,
"rotatedAt": "2026-08-31T15:20:36.000Z"
}{
"message": "nrsCryptoKeys.privateKey is not supported",
"error": "Bad Request",
"statusCode": 400
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "Sub-business not found for this account"
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "string",
"error": "string",
"statusCode": 0
}{
"message": "string",
"error": "string",
"statusCode": 0
}How is this guide?
Last updated on