Wise uses the JOSE framework to accept and respond with signed and encrypted payloads. These endpoints allow you to manage keys and test your signing and encryption implementation.
For more information, please speak with your Implementation team.
Returns a public key issued by Wise.
Depending on the scope requested, the key will be used for verifying HTTP responses signed by Wise or for for encrypting the payload prior to sending it to Wise.
For both signature verification and payload encryption, the process involves storing this public key after retrieval. In both cases, the stored public key should be used without calling this endpoint.
If verification of the signed request fails or Wise is unable to decrypt your request payload, call this API to issue a fresh key from Wise and reattempt the operation again.
This endpoint requires a client credentials token, not a user level access token. Make sure you use your client details to fetch a valid client credentials token before performing this call.
Algorithm to be used for signature verification or payload encryption. This must match the algorithm used during request.
- Signature verification (Scope:
PAYLOAD_SIGNING):ES256,ES384,ES512,PS256,PS384,PS512 - Payload encryption (Scope:
PAYLOAD_ENCRYPTION):RSA_OAEP_256
Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.
- Production Environmenthttps://api.wise.com/2026Q3/auth/jose/response/public-keys
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q3/auth/jose/response/public-keys
const query = new URLSearchParams({
version: '0',
algorithm: 'ES512',
scope: 'PAYLOAD_SIGNING'
}).toString();
const resp = await fetch(
`https://api.wise-sandbox.com/2026Q3/auth/jose/response/public-keys?${query}`,
{
method: 'GET',
headers: {
'X-External-Correlation-Id': 'f47ac10b-58cc-4372-a567-0e02b2c3d479',
Authorization: 'Bearer <YOUR_JWT_HERE>'
}
}
);
const data = await resp.text();
console.log(data);Public key object.
Echoed back when X-External-Correlation-Id was included in the request. Learn more.
{ "version": 1, "keyMaterial": { "algorithm": "ES512", "keyMaterial": "MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBYAwVICxD0Paq7MOuO34omujHxSrQXZtiTQ/VMteqAeUfM4wE+vTSpbYCqb1pNhhcQpF+FJd2H8jB1H1zil7qLLcBw+yl4PrnLza1pmNLr+kqQVoVXVyVx/xxMK2WObLn8tHxXtW4k+bm1/ySF+0RQ265IZcw2i8YYX2FY59JkwE2Fac=" }, "scope": "PAYLOAD_SIGNING" }