Skip to content

Wise Platform API

The Wise Platform API is a REST-based interface that enables programmatic access to Wise's payment infrastructure. All endpoints return JSON-formatted responses and use standard HTTP methods and status codes.

New to wise?

We strongly recommend first reading our Getting Started Guide to help you set up credentials and make your first call.

Before you begin

To use this API reference effectively, you should have:

  • Received Valid API credentials from Wise (Client ID and Client Secret)
  • Understand OAuth 2.0 authentication
  • Be familiar with RESTful API concepts

Core API resources

ResourcePurpose
QuoteExchange rate and fee calculations
RecipientBeneficiary account management
TransferPayment creation and execution
BalanceMulti-currency account operations
ProfileAccount ownership details
RateCurrent and historical exchange rates

Not sure which workflow to build?
Start with our Integration Guides for step-by-step implementation examples.

Languages
Servers
Production Environment
https://api.wise.com/
Sandbox Environment
https://api.wise-sandbox.com/

3D Secure Authentication

To manage certain aspects of the 3D Secure (3DS) authentication, you will need to integrate with the following APIs.

Operations

Activity

Activity represents a snapshot of a performed action for a profile.

Operations

Additional Customer Verification

In certain situations, additional evidence is required to verify customers and ensure we’re compliant with the KYC regulations.

Additional Verification APIs support a list of evidences that can be found in the Supported Evidences guide.

If you use the Customer Account with Partner KYC model and your customers are primarily based in the EU, refer to this Onboarding EU customers guide for instructions on how to use these APIs.

If you use the Customer Account with Partner KYC model and you are onboarding high risk business customers based primarily based in the US, refer to this Onboarding High Risk US Businesses guide for instructions on how to use these APIs.

Operations

Upload Evidences

Request

Uploads verification evidence for a specific profile.

The request body varies significantly between Personal and Business profiles.

Submitting an evidence that was already uploaded will result in an attempt to update the evidence.

Security
UserToken
Path
profileIdinteger(int64)required

The unique identifier of the profile.

Bodyapplication/jsonrequired
One of:

Payload for Personal profile verification.

accountPurposestring

The primary reason for using the account.

Enum"MOVING_SAVINGS""SENDING_MONEY_TO_FRIENDS_OR_FAMILY""GENERAL_LIVING_EXPENSES""BUYING_GOODS_OR_SERVICES_ABROAD""PAYING_FOR_MORTGAGE_OR_LOAN""PAYING_BILLS""RECEIVING_SALARY_OR_PENSION""INVESTING"
Example: "MOVING_SAVINGS"
accountPurposeExplanationstring

Additional reasons and specific examples for using Wise account. This is a free-text field.

intendedCountriesArray of strings

List of ISO 3166-1 alpha-3 country codes.
Check the lists of countries you can send money to with Wise.

Example: ["deu","esp"]
yearlyAnticipatedVolumestring

Expected yearly transaction volume in Euros.

Enum"0_2350""2351_6000""6001_11500""11501_60000""60001_175000""175001_+"
Example: "0_2350"
mainSourceOfIncomestring

Primary source of income. Must be submitted with annualIncome.

Enum"SALARY""INVESTMENTS""PENSION""INHERITANCE""LOAN""OTHER"
Example: "SALARY"
annualIncomestring

Expected annual income in Euros. Must be submitted with mainSourceOfIncome.

Enum"0_11500""11501_19000""19001_28500""28501_47500""47501_75000""75001_+"
Example: "0_11500"
incomeExplanationstring

Additional ways you earn money that were not identified in the provided documents. This is a free-text field.

curl -i -X POST \
  'https://api.wise.com/v5/profiles/{profileId}/additional-verification/upload-evidences' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "accountPurpose": "MOVING_SAVINGS",
    "intendedCountries": [
      "deu",
      "esp"
    ],
    "yearlyAnticipatedVolume": "0_2350",
    "mainSourceOfIncome": "SALARY",
    "annualIncome": "0_11500"
  }'

Responses

Multi-Status - Evidence(s) successfully uploaded, fully or partially.

Bodyapplication/json
overallStatusstring

Status of the entire request.

Enum"SUCCESS""PARTIAL_SUCCESS""FAIL"
resultsArray of objects

Results for each evidence.

results[].​evidenceRequirementKeystring

Name of the evidence.

results[].​resultstring

Result for the evidence.

Enum"SUCCESS""FAIL"
results[].​messagestring

Explanation of result for the evidence.

Response
application/json
{ "overallStatus": "SUCCESS", "results": [ { "evidenceRequirementKey": "accountPurpose", "result": "SUCCESS", "message": "SUCCESS" }, { "evidenceRequirementKey": "annualIncome", "result": "SUCCESS", "message": "SUCCESS" }, { "evidenceRequirementKey": "intendedCountries", "result": "SUCCESS", "message": "SUCCESS" }, { "evidenceRequirementKey": "mainSourceOfIncome", "result": "SUCCESS", "message": "SUCCESS" }, { "evidenceRequirementKey": "yearlyAnticipatedVolume", "result": "SUCCESS", "message": "SUCCESS" } ] }

Upload Document

Request

Uploads verification documents for review. You can upload multiple files at once.

A valid document must fulfil these requirements:

  • The document must be clear.
  • The document needs to be a .jpg, .png., or .pdf file type up to 10MB in size.
Security
UserToken
Path
profileIdinteger(int64)required

The profile ID (personal or business).

Bodymultipart/form-datarequired
filesstring(binary)required

Path of the files to be uploaded.

Example: "@/Users/test/file.png"
documentTypestringrequired

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
Enum"SOURCE_OF_WEALTH""ID_PROOF""ADDRESS_PROOF""TRADING_ADDRESS_PROOF""BUSINESS_AUTH_REP_PROOF_BY_AUTH_LETTER"
curl -i -X POST \
  'https://api.wise.com/v3/profiles/{profileId}/verification-status/upload-document' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F files=@/Users/test/file.png \
  -F documentType=SOURCE_OF_WEALTH

Responses

No Content - Document successfully uploaded.

Required Evidences

Request

Fetches the required evidences for a profile to complete additional customer verification.

If one or more evidences are returned, the customer should submit those evidences using the upload-evidences endpoint.

See the Supported Evidences guide for the list of possible evidence types and how to submit them.

Security
UserToken
Path
profileIdinteger(int64)required

The unique identifier of the profile.

curl -i -X GET \
  'https://api.wise.com/v3/profiles/{profileId}/verification-status/required-evidences' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK - Successfully retrieved required evidences.

Bodyapplication/json
required_evidencesArray of strings

List of evidence types required to complete verification.

Response
application/json
{ "required_evidences": [ "SOURCE_OF_WEALTH", "INCOME", "USE_CASE_COUNTRIES" ] }

Upload Evidences (v3)Deprecated

Request

Uploads verification evidence for a specific profile.

The request body varies significantly between Personal and Business profiles.

Security
UserToken
Path
profileIdinteger(int64)required

The unique identifier of the profile.

Bodyapplication/jsonrequired
One of:

Payload for Personal profile verification.

accountPurposestring

The primary reason for using the account.

Enum"MOVING_SAVINGS""SENDING_MONEY_TO_FRIENDS_OR_FAMILY""GENERAL_LIVING_EXPENSES""BUYING_GOODS_OR_SERVICES_ABROAD""PAYING_FOR_MORTGAGE_OR_LOAN""PAYING_BILLS""RECEIVING_SALARY_OR_PENSION""INVESTING"
Example: "MOVING_SAVINGS"
accountPurposeExplanationstring

Additional reasons and specific examples for using Wise account. This is a free-text field.

intendedCountriesArray of strings

List of ISO 3166-1 alpha-3 country codes.
Check the lists of countries you can send money to with Wise.

Example: ["deu","esp"]
yearlyAnticipatedVolumestring

Expected yearly transaction volume in Euros.

Enum"0_2350""2351_6000""6001_11500""11501_60000""60001_175000""175001_+"
Example: "0_2350"
mainSourceOfIncomestring

Primary source of income. Must be submitted with annualIncome.

Enum"SALARY""INVESTMENTS""PENSION""INHERITANCE""LOAN""OTHER"
Example: "SALARY"
annualIncomestring

Expected annual income in Euros. Must be submitted with mainSourceOfIncome.

Enum"0_11500""11501_19000""19001_28500""28501_47500""47501_75000""75001_+"
Example: "0_11500"
incomeExplanationstring

Additional ways you earn money that were not identified in the provided documents. This is a free-text field.

curl -i -X POST \
  'https://api.wise.com/v3/profiles/{profileId}/additional-verification/upload-evidences' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "accountPurpose": "MOVING_SAVINGS",
    "intendedCountries": [
      "deu",
      "esp"
    ],
    "yearlyAnticipatedVolume": "0_2350",
    "mainSourceOfIncome": "SALARY",
    "annualIncome": "0_11500"
  }'

Responses

No Content - Evidence successfully uploaded.

Address

Manage physical addresses associated with user profiles.

Address requirements vary by country — use the address requirements endpoints to dynamically discover which fields are needed before creating an address.

SchemasOperations

Balance

Create and manage balance accounts within a multi-currency account.

Each profile can hold multiple balance accounts in different currencies. A STANDARD balance is limited to one per currency, while SAVINGS balances (Jars) allow multiple in the same currency. Creating the first balance for a profile automatically creates the multi-currency account.

Balances include an investmentState field. Only balances with NOT_INVESTED can be operated on via the API. Invested balances should be shown but not actionable.

For a complete guide on multi-currency accounts, see Multi-Currency Accounts.

SchemasOperations

Balance Statement

Balance statements contain transactional activities on a Wise Multi-Currency Account, including deposits, withdrawals, conversions, card transactions, and fees.

Statements can be retrieved in multiple formats: JSON, CSV, PDF, XLSX, CAMT.053, MT940, or QIF.

Operations