Profile
A personal or business profile, the owner of balances, recipients and transfers.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/profiles/{profileId}/pin |
create |
The PIN has been successfully created |
POST |
/profiles/{profileId}/verification-status/bank-transfer |
create |
Verification status response |
POST |
/profiles/{profileId}/excess-money-account |
create |
OK - Excess money account configured successfully |
POST |
/profiles/{profileId}/update-window |
create |
Update window opened successfully |
POST |
/profiles/{profileId}/verification-documents |
create |
Identification document created successfully |
POST |
/profiles/{profileId}/verification-status/upload-document |
create |
No Content - Document successfully uploaded |
POST |
/profiles/personal-profile |
create |
Created personal profile |
GET |
/profiles |
list |
Array of profile objects. Note that there might be more than one business profile returned in the response |
GET |
/profiles/{profileId}/balance-capacity |
load |
OK - Successfully retrieved deposit limits |
GET |
/profiles/{profileId} |
load |
Profile object |
GET |
/profiles/{profileId}/business-profile/business-representative |
load |
Business representative object |
GET |
/profiles/{profileId}/multi-currency-account |
load |
Multi currency account object |
DELETE |
/profiles/{profileId}/pin |
remove |
The PIN has been deleted |
DELETE |
/profiles/{profileId}/update-window |
remove |
Update window closed successfully |
PUT |
/profiles/{profileId}/business-profile/business-representative |
update |
Business representative updated successfully |
PUT |
/profiles/{profileId}/personal-profile |
update |
Updated personal profile |
PUT |
/profiles/{profileId}/verification-documents |
update |
Identification document updated successfully |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
profiles, err := client.Profile(nil).List(nil, nil)
if err != nil {
panic(err)
}
fmt.Println(profiles)
profile, err := client.Profile(nil).Load(map[string]any{"id": 1}, nil)
if err != nil {
panic(err)
}
fmt.Println(profile)
Lua
Construct client as shown in the Lua setup, then call the operations:
local profiles, err = client:Profile():list()
local profile, err = client:Profile():load({ id = 1 })
PHP
Construct client as shown in the PHP setup, then call the operations:
$profiles = $client->Profile()->list();
$profile = $client->Profile()->load(["id" => 1]);
Python
Construct client as shown in the Python setup, then call the operations:
profiles = client.Profile().list()
profile = client.Profile().load({"id": 1})
Ruby
Construct client as shown in the Ruby setup, then call the operations:
profiles = client.Profile.list()
profile = client.Profile.load({ "id" => 1 })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const profiles = await client.Profile().list()
const profile = await client.Profile().load({ id: 1 })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
address |
object |
No | Address |
avatar |
string |
No | Avatar |
contactDetails |
object |
No | Contact Details |
createdAt |
string |
No | Created At |
currentState |
string |
No | Current State |
dateOfBirth |
string |
No | Date Of Birth |
email |
string |
No | |
firstName |
string |
No | First Name |
fullName |
string |
No | Full Name |
id |
integer |
No | Id |
lastName |
string |
No | Last Name |
phoneNumber |
string |
No | Phone Number |
preferredName |
string |
No | Preferred Name |
publicId |
string |
No | Public Id |
secondaryAddresses |
array |
No | Secondary Addresses |
type |
string |
No | Type |
updatedAt |
string |
No | Updated At |
userId |
integer |
No | User Id |
create
POST /profiles/{profileId}/pin
Operation ID: scaPinCreate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
Accept-Encoding |
header |
string |
Yes | |
Content-Encoding |
header |
string |
Yes | |
X-tw-jose-method |
header |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/jose+json
The request body is string.
Example request body:
"<JWE encrypted string>"
Responses
200: The PIN has been successfully created
409: A PIN has already been created for this profile
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/verification-status/bank-transfer
Operation ID: profileVerificationStatusCheck.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
source_currencies |
query |
string |
Yes | Comma-separated list of ISO 4217 currency codes. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Verification status response
application/json
| Property | Type | Required | Description |
|---|---|---|---|
request_id |
string |
No | Request identifier. |
routes |
array of object |
No | |
routes[].current_status |
enum: verified, not_verified |
No | Current verification status. - verified , Profile is verified. maximum_entitled_amount can be ignored (note that some regional limits may still apply). - not_verified with maximum_entitled_amount: 0 , Profile is not verified. Any payments from the user will be delayed by verification. - not_verified with maximum_entitled_amount > 0 , Profile is not yet verified but the user can make payments up to a cumulative limit. Once reached, further payments may be delayed by additional verification requirements. |
routes[].maximum_entitled_amount |
number |
No | Maximum entitled amount that can be transferred with the user's given verification state. |
routes[].source_currency |
string |
No | ISO 4217 currency code. |
Example response:
{
"request_id": "e66da5f6-2456-403c-bfcb-908885ee1a61",
"routes": [
{
"current_status": "verified",
"maximum_entitled_amount": 100000,
"source_currency": "GBP"
},
{
"current_status": "not_verified",
"maximum_entitled_amount": 0,
"source_currency": "USD"
},
{
"current_status": "not_verified",
"maximum_entitled_amount": 10000,
"source_currency": "EUR"
}
]
}
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/excess-money-account
Operation ID: excessMoneyAccount.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
recipientId |
integer (int64) |
Yes | ID of the recipient for excess money transfers. |
Responses
200: OK - Excess money account configured successfully
application/json
| Property | Type | Required | Description |
|---|---|---|---|
recipientId |
integer (int64) |
No | ID of the recipient for excess money transfers. |
userProfileId |
integer (int64) |
No | ID of the profile. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/update-window
Operation ID: profileUpdateWindowOpen.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Update window opened successfully
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/verification-documents
Operation ID: profileVerificationDocumentCreate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
birthCity |
string |
No | The city of birth of the customer. |
birthCountry |
string |
No | 2 characters ISO country code. |
employerCity |
string |
No | The city of the employer. Type must be EMIRATES_EMPLOYER. |
employerCountry |
string |
No | 2 characters ISO country code. Type must be EMIRATES_EMPLOYER. |
employerName |
string |
No | The name of the employer. Type must be EMIRATES_EMPLOYER. |
expiryDate |
string |
No | Document expiry date. |
firstName |
string |
No | Person first name in document. |
issueDate |
string |
No | Document issue date. |
issuerCountry |
string |
No | Issued by country code. For example "US". |
issuerState |
string |
No | Issued by state code. For example "NY". |
lastName |
string |
No | Person last name in document. |
nationality |
string |
No | 2 characters ISO country code. |
type |
enum: DRIVERS_LICENCE, IDENTITY_CARD, GREEN_CARD, MY_NUMBER, PASSPORT, SSN, ... |
No | Document type. |
uniqueIdentifier |
string |
No | Document number or value. Must be digits only for SSN or FINANCIAL_CAPACITY_BR. When using FINANCIAL_CAPACITY_BR, the value must contain the financial capacity amount in BRL (Brazilian Real). |
Responses
200: Identification document created successfully
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errorMessage |
string,null |
No | |
success |
boolean |
No |
422: Request could not be processed due to a missing prerequisite. Returned when submitting FINANCIAL_CAPACITY_BR for a profile that has no tax ID on record.
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errorMessage |
string |
No | |
success |
boolean |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/verification-status/upload-document
Operation ID: verificationUploadDocument.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID (personal or business). |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
multipart/form-data
| Property | Type | Required | Description |
|---|---|---|---|
documentType |
enum: SOURCE_OF_WEALTH, ID_PROOF, ADDRESS_PROOF, TRADING_ADDRESS_PROOF, BUSINESS_AUTH_REP_PROOF_BY_AUTH_LETTER |
Yes | Type of document being uploaded. Read our guides on acceptable documents for each of the following: - Source of wealth - guide - Id Proof - guide - Address Proof - guide - Trading Address Proof - guide - Business Authorisation Letter - guide |
files |
string (binary) |
Yes | Path of the files to be uploaded. |
Responses
204: No Content - Document successfully uploaded
400: Bad Request - Document cannot be uploaded in the current format. Check file size and extension
403: Forbidden - The client is not authorized to perform this request
409: Conflict - Document is already uploaded and cannot be re-submitted before review
413: Payload Too Large - Requested file size is too large
415: Unsupported Media Type - Request payload is in an unsupported format
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/personal-profile
Operation ID: profilePersonalCreate.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
X-idempotence-uuid |
header |
string (uuid) |
No | Unique idempotency key for the request. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
address |
object |
Yes | |
address.addressFirstLine |
string |
Yes | First line of address. |
address.city |
string |
Yes | City. |
address.countryIso3Code |
string |
Yes | 3 letter country code (lower case). |
address.postCode |
string |
No | Postal code. |
address.stateCode |
string |
No | State code. Required for US, CA, BR and AU addresses. |
contactDetails |
object |
Yes | |
contactDetails.email |
string |
Yes | Contact email address. Please speak with your integration account manager for details on how customer communication is handled for your integration. |
contactDetails.phoneNumber |
string |
Yes | Contact phone number in international phone number format, example "+1408XXXXXXX". |
dateOfBirth |
string |
Yes | Date of birth. |
externalCustomerId |
string |
No | An external reference identifier mapping the customer of this profile to your system. |
firstName |
string |
Yes | First name (including middle names). |
firstNameInKana |
string,null |
No | First name in Katakana. Required for from-JPY personal transfers. |
lastName |
string |
Yes | Last name. |
lastNameInKana |
string,null |
No | Last name in Katakana. Required for from-JPY personal transfers. |
nationality |
string |
No | 3 letter country code (lower case). |
occupations |
array of object |
No | |
occupations[].code |
string |
No | Occupation field code - this field accepts any job or occupation that the customer does, as the only occupation format currently accepted is "FREE_FORM". |
occupations[].format |
string |
No | Occupation field format. As of now, it only accepts the value "FREE_FORM". |
preferredName |
string |
No | Preferred first name, if different to the legal first name. |
Responses
200: Created personal profile
application/json
| Property | Type | Required | Description |
|---|---|---|---|
details |
object |
No | Profile details. |
details.address |
object |
No | |
details.address.addressFirstLine |
string |
No | |
details.address.city |
string |
No | |
details.address.countryIso3Code |
string |
No | |
details.address.postCode |
string |
No | |
details.address.stateCode |
string |
No | |
details.contactDetails |
object |
No | |
details.contactDetails.email |
string |
No | |
details.contactDetails.phoneNumber |
string |
No | |
details.dateOfBirth |
string |
No | Date of birth. |
details.externalCustomerId |
string |
No | External reference identifier in your system. |
details.firstName |
string |
No | First name (including middle names). |
details.firstNameInKana |
string,null |
No | First name in Katakana. |
details.lastName |
string |
No | Last name. |
details.lastNameInKana |
string,null |
No | Last name in Katakana. |
details.localizedInformation |
array of object |
No | Localized information for the profile. |
details.nationality |
string |
No | 3 letter country code (lower case). |
details.occupations |
array of object |
No | |
details.occupations[].code |
string |
No | |
details.occupations[].format |
string |
No | |
details.preferredName |
string |
No | Preferred first name. |
id |
integer (int64) |
No | Unique profile ID. |
type |
enum: PERSONAL |
No | Profile type. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
list
GET /profiles
Operation ID: profileList.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Array of profile objects. Note that there might be more than one business profile returned in the response
application/json
The response is array of object or object.
Example response:
[
{
"address": {
"addressFirstLine": "24 Willow Creek Lane",
"city": "Bristol",
"countryIso2Code": "GB",
"countryIso3Code": "gbr",
"id": 36086782,
"postCode": "BS1 6AE",
"stateCode": null
},
"avatar": "https://example.com/avatars/sarah_jenkins.png",
"contactDetails": {
"email": "sarah.contact@example.com",
"phoneNumber": "+447700900123"
},
"createdAt": "2023-01-15T10:30:00",
"currentState": "VISIBLE",
"dateOfBirth": "1985-05-20",
"email": "sarah.jenkins@example.com",
"firstName": "Sarah",
"fullName": "Sarah Jenkins",
"id": 14575282,
"lastName": "Jenkins",
"phoneNumber": "+447700900456",
"preferredName": "Sal",
"publicId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"secondaryAddresses": [],
"type": "PERSONAL",
"updatedAt": "2025-06-18T14:20:00",
"userId": 9889627
},
{
"address": {
"addressFirstLine": "15 Tech Hub Studios",
"city": "Manchester",
"countryIso2Code": "GB",
"countryIso3Code": "gbr",
"id": 36152772,
"postCode": "M1 7JA",
"stateCode": null
},
"businessFreeFormDescription": "We create cutting-edge software for businesses.",
"businessName": "Innovate Solutions Ltd",
"companyType": "LIMITED_COMPANY",
"contactDetails": {
"email": "contact@innovate-solutions.co.uk",
"phoneNumber": "+441617891234"
},
"createdAt": "2024-03-10T09:00:00",
"descriptionOfBusiness": "IT_DEVELOPMENT",
"email": "info@innovate-solutions.co.uk",
"firstLevelCategory": "CONSULTING_IT_BUSINESS_SERVICES",
"fullName": "Innovate Solutions Ltd",
"id": 14599371,
"industryCategories": [
"SOFTWARE_DEVELOPMENT_PUBLISHING",
"IT_CONSULTANCY_TECHNICAL_SUPPORT_SERVICES"
],
"operationalAddresses": [
{
"addressFirstLine": "Unit 5, Innovation Park",
"city": "Leeds",
"countryIso2Code": "GB",
"countryIso3Code": "gbr",
"id": 36152773,
"postCode": "LS1 4YZ",
"stateCode": null
}
],
"publicId": "f0e9d8c7-b6a5-4321-fedc-ba9876543210",
"registrationNumber": "SC1234567890ABCD",
"secondLevelCategory": "IT_DEVELOPMENT",
"type": "BUSINESS",
"updatedAt": "2025-06-18T14:22:00",
"userId": 9889627,
"webpage": "https://www.innovate-solutions.co.uk"
}
]
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
load
GET /profiles/{profileId}/balance-capacity
Operation ID: balanceCapacity.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
currency |
query |
string |
Yes | Currency code (ISO 4217 Alphabetic Code). The deposit limit will be returned in this currency. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK - Successfully retrieved deposit limits
application/json
| Property | Type | Required | Description |
|---|---|---|---|
depositLimit |
object |
No | Amount of money that can be added to the account. |
depositLimit.amount |
number |
No | Deposit limit amount. |
depositLimit.currency |
string |
No | Currency code (ISO 4217 Alphabetic Code). |
hasLimit |
boolean |
No | True if there is a regulatory hold limit for the profile's country. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
GET /profiles/{profileId}
Operation ID: profileGet.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Profile object
application/json
The response is object or object.
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
GET /profiles/{profileId}/business-profile/business-representative
Operation ID: profileBusinessRepresentativeGet.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Business profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Business representative object
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
GET /profiles/{profileId}/multi-currency-account
Operation ID: mcaGet.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Multi currency account object
application/json
| Property | Type | Required | Description |
|---|---|---|---|
active |
boolean |
No | Whether multi currency account is active or not. |
creationTime |
string (date-time) |
No | Datetime when multi currency account was created. |
eligible |
boolean |
No | Whether multi currency account is eligible or not. |
id |
integer (int64) |
No | Multi currency account ID. |
modificationTime |
string (date-time) |
No | Datetime when multi currency account was last modified. |
profileId |
integer (int64) |
No | Profile ID the multi currency account is attributed to. |
recipientId |
integer (int64) |
No | Recipient ID of the multi currency account, to be used for transfer recipient. |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
remove
DELETE /profiles/{profileId}/pin
Operation ID: scaPinDelete.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
204: The PIN has been deleted
404: No PIN has been set up for this profile
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
DELETE /profiles/{profileId}/update-window
Operation ID: profileUpdateWindowClose.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: Update window closed successfully
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
update
PUT /profiles/{profileId}/business-profile/business-representative
Operation ID: profileBusinessRepresentativeUpdate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Business profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
actorEmail |
string |
No | Email of the actor. |
address |
object |
No | |
address.addressFirstLine |
string |
No | First line of address. |
address.city |
string |
No | City. |
address.countryIso3Code |
string |
No | 3 letter country code (lower case). |
address.postCode |
string |
No | Postal code. |
address.stateCode |
string |
No | State code (max 5 chars). Required for US, CA, BR and AU addresses. |
contactDetails |
object |
No | |
contactDetails.email |
string |
No | Contact email address of the person representing the business. Please speak with your integration account manager for details on how customer communication is handled for your integration. |
contactDetails.phoneNumber |
string |
No | Contact phone number in international phone number format, example "+1408XXXXXXX" of the person representing the business. Please speak with your integration account manager for details on how customer communication is handled for your integration. |
dateOfBirth |
string |
No | Date of birth. |
firstName |
string |
No | First name of the person representing the business (including middle names). |
lastName |
string |
No | Last name of the person representing the business. |
localizedInformation |
array of object |
No | Optional localized information for the business representative. For Kana names, provide both firstName and lastName entries with localeScriptCode set to Kana. Each combination of key and localeScriptCode must be unique. |
localizedInformation[].key |
string |
Yes | Name of the field being localized. |
localizedInformation[].localeScriptCode |
string |
Yes | Script code for the localized value. |
localizedInformation[].value |
string |
Yes | Localized value of the field. |
preferredName |
string |
No | Preferred first name, if different to the legal first name. |
updateContext |
enum: UPDATE_DETAILS, TRANSFER_OF_AUTHORISATION |
No | Context of the update. |
Responses
200: Business representative updated successfully
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
PUT /profiles/{profileId}/personal-profile
Operation ID: profilePersonalUpdate.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Personal profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
address |
object |
No | |
address.addressFirstLine |
string |
No | First line of address. |
address.city |
string |
No | City. |
address.countryIso3Code |
string |
No | 3 letter country code (ISO3, lower case). |
address.postCode |
string |
No | Postal code or ZIP code. |
address.stateCode |
string |
No | State code. Required for US, CA, BR and AU addresses. |
contactDetails |
object |
No | |
contactDetails.email |
string |
No | Contact email address. Please speak with your integration account manager for details on how customer communication is handled for your integration. |
contactDetails.phoneNumber |
string |
No | Contact phone number in international phone number format, example "+1408XXXXXXX". |
dateOfBirth |
string |
No | Date of birth. |
externalCustomerId |
string |
No | An external reference identifier mapping the customer of this profile to your system. |
firstName |
string |
No | First name (including middle names). |
firstNameInKana |
string,null |
No | First name in Katakana. Required for from-JPY personal transfers. |
lastName |
string |
No | Last name. |
lastNameInKana |
string,null |
No | Last name in Katakana. Required for from-JPY personal transfers. |
nationality |
string |
No | 3 letter country code (ISO3, lower case). |
occupations |
array of object |
No | |
occupations[].code |
string |
No | Occupation field code - this field accepts any job or occupation that the customer does, as the only occupation format currently accepted is "FREE_FORM". |
occupations[].format |
string |
No | Occupation field format. As of now, it only accepts the value "FREE_FORM". |
preferredName |
string |
No | Preferred first name, if different to the legal first name. |
Responses
200: Updated personal profile
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
PUT /profiles/{profileId}/verification-documents
Operation ID: profileVerificationDocumentUpdate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
clientId |
string |
Yes | The partner's client ID. |
expiryDate |
string |
No | Document expiry date. |
firstName |
string |
No | Person first name in document. |
issueDate |
string |
No | Document issue date. |
issuerCountry |
string |
No | Issued by country code. For example "US". |
issuerState |
string |
No | Issued by state code. For example "NY". |
lastName |
string |
No | Person last name in document. |
nationality |
string |
No | 2 characters ISO country code. |
placeOfBirth |
string |
No | Place of birth as stated in the document. |
sex |
enum: MALE, FEMALE |
No | Sex as stated in the document. |
type |
enum: DRIVERS_LICENCE, IDENTITY_CARD, GREEN_CARD, MY_NUMBER, PASSPORT, SSN, ... |
Yes | Document type. |
uniqueIdentifier |
string |
No | Document number or value. Must be digits only for SSN or FINANCIAL_CAPACITY_BR. When using FINANCIAL_CAPACITY_BR, the value must contain the financial capacity amount in BRL (Brazilian Real). |
Responses
200: Identification document updated successfully
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errorMessage |
string,null |
No | |
success |
boolean |
No |
400: Validation error. Possible error codes: - not.allowed.for.clientId , Partner is not found or is not a KYC partner. - not.allowed.for.uniqueIdentifier , Document number exceeds maximum length (30 characters). - NotNull , A required field (type or clientId) is missing.
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errors |
array of object |
No | |
errors[].code |
string |
No | |
errors[].field |
string |
No | |
errors[].message |
string |
No |
422: Request could not be processed due to a missing prerequisite. Returned when submitting FINANCIAL_CAPACITY_BR for a profile that has no tax ID on record.
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errorMessage |
string |
No | |
success |
boolean |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.