Skip to content

Add a new client public key

Request

Upload a client public key for request payload signing or response payload encryption.

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.

Security
ClientCredentialsToken
Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
Bodyapplication/jsonrequired
keyIdstring, (uuid)

Unique public key identifier in UUID format.

validFromstring

The key is valid from this date. Format: yyyy-MM-dd HH:mm:ss (UTC).

validTillstring

The key is valid until this date. Format: yyyy-MM-dd HH:mm:ss (UTC).

scopestring

Scope of the payload operation.

Enum:"PAYLOAD_SIGNING""PAYLOAD_ENCRYPTION"
publicKeyMaterialobject
curl -i -X POST \
  https://api.wise.com/v1/auth/jose/request/public-keys \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
  -d '{
    "keyId": "e87da464-8e5e-4380-8f2d-4e4e04052672",
    "scope": "PAYLOAD_SIGNING",
    "validFrom": "2023-04-27 00:00:00",
    "validTill": "2024-04-01 00:00:00",
    "publicKeyMaterial": {
      "algorithm": "ES512",
      "keyMaterial": "MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBYAwVICxD0Paq7MOuO34omujHxSrQXZtiTQ/VMteqAeUfM4wE+vTSpbYCqb1pNhhcQpF+FJd2H8jB1H1zil7qLLcBw+yl4PrnLza1pmNLr+kqQVoVXVyVx/xxMK2WObLn8tHxXtW4k+bm1/ySF+0RQ265IZcw2i8YYX2FY59JkwE2Fac="
    }
  }'

Responses

Public key created successfully.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
clientIdstring or null

This field is currently not in use and will always return null.

keyIdstring, (uuid)

Unique public key identifier in UUID format.

scopestring

Scope of the payload operation.

Enum:"PAYLOAD_SIGNING""PAYLOAD_ENCRYPTION"
validFromstring

The key is valid from this date. Format: yyyy-MM-dd HH:mm:ss (UTC).

validTillstring

The key is valid until this date. Format: yyyy-MM-dd HH:mm:ss (UTC).

publicKeyMaterialobject
deactivationTimestampstring or null

This field is currently not in use and will always return null.

Response
{ "clientId": null, "keyId": "e87da464-8e5e-4380-8f2d-4e4e04052672", "scope": "PAYLOAD_SIGNING", "validFrom": "2023-04-27 00:00:00", "validTill": "2024-04-01 00:00:00", "publicKeyMaterial": { "algorithm": "ES512", "keyMaterial": "MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBYAwVICxD0Paq7MOuO34omujHxSrQXZtiTQ/VMteqAeUfM4wE+vTSpbYCqb1pNhhcQpF+FJd2H8jB1H1zil7qLLcBw+yl4PrnLza1pmNLr+kqQVoVXVyVx/xxMK2WObLn8tHxXtW4k+bm1/ySF+0RQ265IZcw2i8YYX2FY59JkwE2Fac=" }, "deactivationTimestamp": null }