Deprecated APIs

Deprecated APIs are those that are no longer the standard version and have been marked as such. They will continue to work for the foreseeable future, but should not be used for new integrations.

Get account balance

GET /v1/borderless-accounts?profileId={{profileId}}

Get available balances for all activated currencies in your multi-currency account.

Use profile id obtained earlier to make this call.

Response
idinteger

Multi-currency account id

profileIdinteger

Personal or business profile id

recipientIdinteger

Recipient id you can use for a multi-currency account deposit

creationTimetimestamp

Date when multi-currency account was opened

modificationTimetimestamp

Date when multi-currency account setup was modified.

activeboolean

Is multi-currency account active or inactive

eligibleboolean

Ignore

balances[n].balanceTypetext

AVAILABLE

balances[n].currencytext

Currency code

balances[n].amount.valuedecimal

Available balance in specified currency

balances[n].amount.currencytext

Currency code

balances[n].reservedAmount.valuedecimal

Reserved amount from your balance

balances[n].reservedAmount.currencytext

Reserved amount currency code

balances[n].bankDetailsgroup

Bank account details assigned to your multi-currency account. Available for EUR, GBP, USD, AUD, NZD

balances[n].bankDetails.idinteger

Bank account details id

balances[n].bankDetails.currencytext

Bank account currency

balances[n].bankDetails.bankCodetext

Bank account code

balances[n].bankDetails.accountNumbertext

Bank account number

balances[n].bankDetails.swifttext

Bank account swift code

balances[n].bankDetails.ibantext

Bank account iban

balances[n].bankDetails.bankName

Bank name

balances[n].bankDetails.accountHolderNametext

Bank account holder name

balances[n].bankDetails.bankAddress.addressFirstLinetext

Bank address street and house

balances[n].bankDetails.bankAddress.postCodetext

Bank address zip code

balances[n].bankDetails.bankAddress.citytext

Bank address city

balances[n].bankDetails.bankAddress.countrytext

Bank address country

balances[n].bankDetails.bankAddress.stateCodetext

Bank address state code

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v1/borderless-accounts?profileId={{profileId}} \
-H 'Authorization: Bearer <your api token>'
Example Response
[
{
"id": 64,
"profileId": 33333333,
"recipientId": 13828530,
"creationTime": "2018-03-14T12:31:15.678Z",
"modificationTime": "2018-03-19T15:19:42.111Z",
"active": true,
"eligible": true,
"balances": [
{
"balanceType": "AVAILABLE",
"currency": "GBP",
"amount": {
"value": 10999859,
"currency": "GBP"
},
"reservedAmount": {
"value": 0,
"currency": "GBP"
},
"bankDetails": null
},
{
"balanceType": "AVAILABLE",
"currency": "EUR",
"amount": {
"value": 9945236.2,
"currency": "EUR"
},
"reservedAmount": {
"value": 0,
"currency": "EUR"
},
"bankDetails": {
"id": 90,
"currency": "EUR",
"bankCode": "DEKTDE7GXXX",
"accountNumber": "DE51 7001 1110 6050 1008 91",
"swift": "DEKTDE7GXXX",
"iban": "DE51 7001 1110 6050 0008 91",
"bankName": "Handelsbank",
"accountHolderName": "Oliver Wilson",
"bankAddress": {
"addressFirstLine": "Elsenheimer Str. 41",
"postCode": "80687",
"city": "München",
"country": "Germany",
"stateCode": null
}
}
}
]
}
]

Convert currencies between balances

POST /v1/borderless-accounts/{{borderlessAccountId}}/conversions

Convert funds between your multi-currency account currencies. Quote which is used in this call must be created with "payOut": "BALANCE".

Note that this call needs an extra field in header called "X-idempotence-uuid".

Request Fields
quoteIdinteger

Conversion quote id

X-idempotence-uuiduuid

Unique identifier assinged by you. Used for idempotency check purposes. Should your call fail for technical reasons then you can use the same value again for making retry call.

Example Request
curl -X POST https://api.sandbox.transferwise.tech/v1/borderless-accounts/{{borderlessAccountId}}/conversions \
-H 'Authorization: Bearer <your api token>' \
-H 'Content-Type: application/json' \
-H 'X-idempotence-uuid: <generated uuid>' \
-d '{
"quoteId": <conversion quote id>
}'
Example Response
{
"id": 1,
"type": "CONVERSION",
"state": "COMPLETED",
"balancesAfter": [
{
"value": 10000594.71,
"currency": "GBP"
},
{
"value": 9998887.01,
"currency": "EUR"
}
],
"creationTime": "2017-11-21T09:55:49.275Z",
"steps": [
{
"id": 369588,
"type": "CONVERSION",
"creationTime": "2017-11-21T09:55:49.276Z",
"balancesAfter": [
{
"value": 9998887.01,
"currency": "EUR"
},
{
"value": 10000594.71,
"currency": "GBP"
}
],
"channelName": null,
"channelReferenceId": null,
"tracingReferenceCode": null,
"sourceAmount": {
"value": 113.48,
"currency": "EUR"
},
"targetAmount": {
"value": 100,
"currency": "GBP"
},
"fee": {
"value": 0.56,
"currency": "EUR"
},
"rate": 0.88558
}
],
"sourceAmount": {
"value": 113.48,
"currency": "EUR"
},
"targetAmount": {
"value": 100,
"currency": "GBP"
},
"rate": 0.88558,
"feeAmounts": [
{
"value": 0.56,
"currency": "EUR"
}
]
}

Create a business profile

POST /v1/profiles

You must always create a personal profile first. Business profiles cannot be created without personal profile.

Title
typetext

"business"

details.nametext

Business name

details.registrationNumbertext

Business registration number

details.acntext

Australian Company Number (only for Australian businesses)

details.abntext

Australian Business Number (only for Australian businesses)

details.arbntext

Australian Registered Body Number (only for Australian businesses)

details.companyTypetext

Company legal form. Allowed values:

  • LIMITED
  • PARTNERSHIP
  • SOLE_TRADER
  • LIMITED_BY_GUARANTEE
  • LIMITED_LIABILITY_COMPANY
  • FOR_PROFIT_CORPORATION
  • NON_PROFIT_CORPORATION
  • LIMITED_PARTNERSHIP
  • LIMITED_LIABILITY_PARTNERSHIP
  • GENERAL_PARTNERSHIP
  • SOLE_PROPRIETORSHIP
  • PRIVATE_LIMITED_COMPANY
  • PUBLIC_LIMITED_COMPANY
  • TRUST
  • OTHER
details.companyRoletext

Role of person. Allowed Values:

  • OWNER
  • DIRECTOR
  • OTHER
details.descriptionOfBusinesstext

Sector / filed of activity (DEPRECATED)

details.webpage (conditional)text

Business webpage. Required if companyType is OTHER

details.businessCategorytext

Type of business, see below for permitted values

details.businessSubCategorytext

Specific sub category of the business type, see below for permitted values

Business Category

Ensure when submitting a business profile that you submit a category and associated sub-category from the list below. You should map from the information you have about the business to one of our categories and sub-categories. If this is problematic please get in touch with us to discuss alternate solutions.

The categories and their sub-categories are as follows:

  • CHARITY_NON_PROFIT
    • CHARITY_ALL_ACTIVITIES
  • CONSULTING_IT_BUSINESS_SERVICES
    • ADVERTISING_AND_MARKETING
    • ARCHITECTURE
    • COMPANY_ESTABLISHMENT_FORMATION_SERVICES
    • DESIGN
    • FINANCIAL_CONSULTING_ACCOUNTING_TAXATION_AUDITING
    • IT_DEVELOPMENT
    • IT_HOSTING_SERVICES
    • IT_CONSULTING_AND_SERVICES
    • LEGAL_SERVICES
    • MANAGEMENT_CONSULTING
    • SCIENTIFIC_AND_TECHNICAL_CONSULTING
    • SOFTWARE_AS_A_SERVICE
    • TRANSLATION_AND_LANGUAGE_SERVICES
    • CONSULTING_OTHER
    • SERVICES_OTHER
    • FREELANCE_PLATFORMS
    • RECRUITMENT_SERVICES
    • MAINTENANCE_SERVICES
    • FREELANCE_PLATFORMS
  • DESIGN_MARKETING_COMMUNICATIONS
    • ADVERTISING_AND_MARKETING
    • ARCHITECTURE
    • AUDIO_AND_VIDEO
    • DESIGN
    • PHOTOGRAPHY
    • PRINT_AND_ONLINE_MEDIA
    • TELECOMMUNICATIONS_SERVICES
    • TRANSLATION_AND_LANGUAGE_SERVICES
  • MEDIA_COMMUNICATION_ENTERTAINMENT
    • ADULT_CONTENT
    • AUDIO_AND_VIDEO
    • FINE_ARTS
    • ARTS_OTHER
    • EVENTS_AND_ENTERTAINMENT
    • GAMBLING_BETTING_AND_ONLINE_GAMING
    • NEWSPAPERS_MAGAZINES_AND_BOOKS
    • PERFORMING_ARTS
    • PHOTOGRAPHY
    • TELECOMMUNICATIONS_SERVICES
    • VIDEO_GAMING
  • EDUCATION_LEARNING
    • SCHOOLS_AND_UNIVERSITIES,
    • TEACHING_AND_TUTORING
    • ONLINE_LEARNING
  • FINANCIAL_SERVICES_PRODUCTS_HOLDING_COMPANIES
    • CROWDFUNDING
    • CRYPTOCURRENCY_FINANCIAL_SERVICES
    • FINANCIAL_CONSULTING_ACCOUNTING_TAXATION_AUDITING
    • HOLDING_COMPANIES
    • INSURANCE
    • INVESTMENTS
    • MONEY_SERVICE_BUSINESSES
    • FINANCIAL_SERVICES_OTHER
  • FOOD_BEVERAGES_TOBACCO
    • ALCOHOL
    • FOOD_MANUFACTURING_RETAIL
    • RESTAURANTS_AND_CATERING
    • SOFT_DRINKS
    • TOBACCO
    • VITAMINS_AND_DIETARY_SUPPLEMENTS
  • HEALTH_PHARMACEUTICALS_PERSONAL_CARE
    • HEALTH_AND_BEAUTY_PRODUCTS_AND_SERVICES
    • DENTAL_SERVICES
    • DOCTORS_AND_MEDICAL_SERVICES
    • ELDERLY_OR_OTHER_CARE_HOME
    • FITNESS_SPORTS_SERVICES
    • MEDICAL_EQUIPMENT
    • NURSING_AND_OTHER_CARE_SERVICES
    • PHARMACEUTICALS
    • PHARMACY
    • VITAMINS_AND_DIETARY_SUPPLEMENTS
  • PUBLIC_GOVERNMENT_SERVICES
    • PUBLIC_ALL_SERVICES
    • MAINTENANCE_SERVICES
    • GOVERNMENT_SERVICES
    • TELECOMMUNICATIONS_SERVICES
    • UTILITY_SERVICES
  • REAL_ESTATE_CONSTRUCTION
    • ARCHITECTURE
    • CONSTRUCTION
    • REAL_ESTATE_DEVELOPMENT
    • REAL_ESTATE_SALE_PURCHASE_AND_MANAGEMENT
  • RETAIL_WHOLESALE_MANUFACTURING
    • AGRICULTURE_SEEDS_PLANTS
    • FINE_ARTS
    • ARTS_OTHER
    • AUTOMOTIVE_SALES_SPARE_PARTS_TRADE
    • AUTOMOTIVE_MANUFACTURING
    • CHEMICALS
    • CLOTHING
    • ELECTRICAL_PRODUCTS
    • FIREARMS_WEAPONS_AND_MILITARY_GOODS_SERVICES
    • HOME_ACCESSORIES_FURNITURE
    • FINE_JEWELLERY_WATCHES
    • FASHION_JEWELLERY
    • HEALTH_AND_BEAUTY_PRODUCTS_AND_SERVICES
    • LEGAL_HIGHS_AND_RELATED_ACCESSORIES
    • MACHINERY
    • PETS
    • PRECIOUS_STONES_DIAMONDS_AND_METALS
    • SPORTING_EQUIPMENT
    • MANUFACTURING_OTHER
    • RETAIL_WHOLESALE_MARKETPLACE_AUCTION
    • RETAIL_WHOLESALE_OTHER
    • TOYS_AND_GAMES
  • TRAVEL_TRANSPORT_TOUR_AGENCIES
    • ACCOMMODATION_HOTELS
    • PASSENGER_TRANSPORT
    • FREIGHT_TRANSPORT
    • RIDESHARING_TRANSPORT_SHARING_SERVICES
    • TRANSPORT
    • TRAVEL_AGENCIES
    • TOUR_OPERATORS
    • TRAVEL_OR_TOUR_ACTIVITIES_OTHER
  • OTHER
    • OTHER_NOT_LISTED_ABOVE
Example Request
curl -X POST https://api.sandbox.transferwise.tech/v1/profiles \
-H 'Authorization: Bearer <your api token>' \
-H 'Content-Type: application/json' \
-d '{
"type": "business",
"details": {
"name": "ABC Logistics Ltd",
"registrationNumber": "12144939",
"acn": null,
"abn": null,
"arbn": null,
"companyType": "LIMITED",
"companyRole": "OWNER",
"webpage": "https://abc-logistics.com",
"businessCategory":"CONSULTING_IT_BUSINESS_SERVICES",
"businessSubCategory":"DESIGN"
}
}'

List recipient accounts by currency for a profile

GET /v1/accounts?profile={{profileId}}&currency={{currency}}

Fetch a list of the user's recipient accounts. Use the profileId parameter to filter by the profile who created the accounts, you should do this based on the personal or business profile ID you have linked to, based on your use case. Other filters are listed below for your convenience, for example currency is a useful filter to use when presenting the user a list of recipients to chose from in the case they have already submitted the target currency of their in your flow.

Pagination

Pagination is supported for this endpoint. The response includes the seekPositionForNext and size parameters to manage this.

It works by setting size and seekPosition parameters in the call. Set the value in the seekPositionForNext of the previous response into the seekPosition parameter of your subsequent call in order to get the next page. To get the current page again, use the seekPositionForCurrent value.

Sorting

You can also set the sort parameter to control the sorting of the response, for example:

?sort=id,asc sort by id ascending.
?sort=id,desc sort by id descending.
?sort=currency,asc sort by currency ascending.

All query parameters are optional.

Query Parameters
creatorIdinteger

Creator of the account.

profileIdinteger

Filter by personal or business profile, returns only those owned by this profile. Defaults to the personal profile.

currencytext

Filter responses by currency, comma separated values are supported (e.g. USD,GBP).

activeboolean

Filter by whether this profile is active. Defaults to true.

typetext

Filter responses by account type, comma separated values are supported (e.g. iban,swift_code).

ownedByCustomerboolean

Filter to get accounts owned by the customer or not, leave out to get all accounts.

sizeinteger

Page size of the response. Defaults to a maximum of 20.

seekPositioninteger

Account ID to start the page of responses from in the response. null if no more pages.

sortinteger

Sorting strategy for the response. Comma separated options: firstly either id or currency, followed by asc or desc for direction.

Response

An array of complete Recipient objects is returned.

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v1/accounts?profile={{profileId}}&currency={{currency}} \
-H 'Authorization: Bearer <your api token>'

Retrieve a recipient account by Id

GET /v1/accounts/{{accountId}}

Get recipient account info by id.

Response

A complete Recipient object is returned when created.

This response also includes a hash of a recipient, this can be used to track if the recipient details change, which they can in some scenarios. This is a security feature to allow you to re-run any checks your system does on the recipient to validate them against, for example, fraud engines. The hash will remain constant unless the recipient's name or information in the details object changes.

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v1/accounts/{{accountId}} \
-H 'Authorization: Bearer <your api token>'