NAV Navbar
Wallex api logo

Getting Started v2

Introduction

Welcome to the Wallex API ! Our API allows you to programmatically perform conversions, payments and collections, allowing you to automate your payment processes.

Our API is built by developers for developers making it straightforward to integrate with our systems.

Browse through our documentation and log in to our demo system to check out live responses right here in Developer Center and if you still have any questions, please let us know.

You can reach out to us via email at contact@wallextech.com if you need technical support on Wallex API integration.

Credentials

To start using our API you will require certain credentials that we will use to identify and authorise the use of wallex API.

How to get your Credentials

Please reach out to us at contact@wallextech.com to obtain your credentials. You are suppose to get the following credentials from us to start using the API.

Name Description
X-Api-Key Will be used to identify you on consuming the API.
accessKeyId Will need this to obtain the authorisation token which is used to access restricted resources.
secretAccessKey Will need this to obtain the authorisation token which is used to access restricted resources.

Headers

To successfully communicate with Wallex API, you must provide the following headers in your API requests when necessary:

Name Description
X-Api-Key This header must be present in every API request that you make.
Authorization This header should be provided when accessing restricted resources.

If the X-Api-Key header wasn’t included in any API request you will be returned a 403 Forbidden as the response.

If the Authorization header wasn’t included in any API request that is trying to access a restricted resource you will be returned a 401 Unauthorized with authentication_failed message.

For the Authorization, you should generate the token by calling our Authentication API.

API Call Rate Limits

By default we allow 5 API requests per second and a Total of 432,000 API requests per day. If you need a customised rate limit for your API calls please contact us at contact@wallextech.com describing your request to us.

Wallex Endpoints

All Wallex endpoints are located on a single domain: https://api.wallex.asia. Though you can access our demo endpoints at: https://api.wallex.rocks.

Users

Users are objects that is entitled to an account. The flow chart below visualizes how you might want to implement the user registration and screening prosses. User Flow

Once apporved, Users may conduct payments to their beneficiaries through the Beneficiary API and Simple Payments API, make Transfers to other users with the Transfer API or receive payments through Collection Accounts with the Collection API.

Signup

Request body:

{
    "email": "from.api2@yopmail.com",
    "firstName": "From",
    "lastName": "Api",
    "password": "veryverysecret",
    "language": "en",
    "countryCode": "SG",
    "accountType": "individual"
}

Response:

{
    "id": "dd0b2b32-6bbc-4c27-a047-e2d3884ea676",
    "userId": "dd0b2b32-6bbc-4c27-a047-e2d3884ea676",
    "accountId": "ac29ff3c-ecde-4f76-9356-66f75cce21e1",
    "email": "from.api2@yopmail.com",
    "username": "from.api2@yopmail.com",
    "firstName": "From",
    "lastName": "Api",
    "language": "en",
    "countryCode": "SG",
    "accountType": "individual",
    "registrationDate": "2021-06-09T04:00:37Z"
}

Call this endpoint to signup and create a user.

HTTP Request

POST /v2/signup

Body Parameters

Parameter Description
email
required
string Your email
Maximum 128 characters
firstName
required
string Your first name
Maximum 64 characters
lastName
required
string Your last name
Maximum 64 characters
password
optional
string Your password
Must contain at least one letter, a number and minimum of 8 characters with no space
language
optional
string Your preferred language: en or id, defaults to en
countryCode
required
string Your country, in iso 3166 two letter code
accountType
required
string Can be company or individual
companyName
optional
string company name when signup as company

Response

Once the signup is successful, the user will receive a confirmation email, describing the next steps to follow.

Parameter Description
id string The user ID
userId
depreceated
string The user ID. Change to id
accountId string The ID of account
email string The email of user
username string The username of user
firstName string The first name of user
lastName string The last name of user
language string preferred language
countryCode string Your country, in iso 3166 two letter code
accountType string Can be company or individual
companyName string company name when signup as company
registrationDate string The registration date of user

Listing Users

Response:

{
    "data": [
        {
            "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
            "accountId": "b3b38121-2b5c-4391-a02c-9d1669d94126",
            "email": "user@example.com",
            "username": "user@example.com",
            "firstName": "Wallex",
            "lastName": "Asia",
            "language": "en",
            "countryCode": "SG",
            "accountType": "individual",
            "registrationDate": "2021-06-09T04:00:37Z",
            "status": "pending",
            "remarks": "description remarks..."
        },
        {
            "id": "247d23fa-1e4c-42ce-a2fa-69ce652590d7",
            "accountId": "b3b38121-2b5c-4391-a02c-9d1669d94127",
            "email": "example@user.com",
            "username": "example@user.com",
            "firstName": "Wallex",
            "lastName": "Asia",
            "language": "en",
            "countryCode": "SG",
            "accountType": "individual",
            "registrationDate": "2021-06-09T04:00:37Z",
            "status": "approved",
            "remarks": "description remarks..."
        }
    ],
    "pagination": {
        "itemCount": 2,
        "page": 1,
        "perPage": 100,
        "search": [],
        "totalEntries": 2,
        "totalPages": 1
    }
}

Returns a list of your users. The users are returned sorted by registrationDate, with the most recent users appearing first.

HTTP Request

GET /v2/users/

Query Parameters

Parameter Description
pagination[page]
optional
number page number
startDate
optional
string filtering records registrationDate greater than or equal to startDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
endDate
optional
string filtering records registrationDate less than endDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
accountId
optional
string filtering records by accountId
email
optional
string filtering records by email
username
optional
string filtering records by username
firstName
optional
string filtering records by firstName
lastName
optional
string filtering records by lastName
language
optional
string filtering records by language
countryCode
optional
string filtering records by countryCode
accountType
optional
string filtering records by accountType
status
optional
string filtering records by status

Response

Property Description
id string The user ID
accountId string The ID of account
email string The email of user
username string The username of user
firstName string The first name of user
lastName string The last name of user
language string preferred language
countryCode string Your country, in iso 3166 two letter code
accountType string Can be company or individual
companyName string company name when signup as company
registrationDate string The registration date of user
status string The user status
remarks
optional
string more info from us regarding the user status if status is
rejected or documents_need_resubmission

Retrieve User

Response:

{
    "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
    "accountId": "b3b38121-2b5c-4391-a02c-9d1669d94127",
    "email": "user@example.com",
    "username": "user@example.com",
    "firstName": "Wallex",
    "lastName": "Asia",
    "language": "en",
    "countryCode": "SG",
    "accountType": "individual",
    "registrationDate": "2021-06-09T04:00:37Z",
    "status": "pending",
    "remarks": "description remarks..."
}

Retrieves basic details of an existing user given a valid user id. For more complete details, call /v2/users/:userId/detail with GET.

HTTP Request

GET /v2/users/:userId

Path Parameters

Parameter Description
userId string The id of the user

Response

Property Description
id string The user ID
accountId string The ID of account
email string The email of user
username string The username of user
firstName string The first name of user
lastName string The last name of user
language string preferred language
countryCode string Your country, in iso 3166 two letter code
accountType string Can be company or individual
companyName string company name when signup as company
registrationDate string The registration date of user
status string The user status
remarks
optional
string more info from us regarding the user status if status is
rejected or documents_need_resubmission

Retrieve User Details

Response:

{
    "title": "Mr",
    "firstName": "From",
    "lastName": "Api",
    "mobileCountryCode": null,
    "mobileNumber": null,
    "formerName": null,
    "aliasName": null,
    "gender ": "male",
    "countryOfBirth": "ID",
    "countryOfResidence": "SG",
    "countryCode": "SG",
    "state": "Singapore",
    "city": "Singapore",
    "postalCode": "123456789",
    "dateOfBirth": "01-04-1970",
    "identificationType": "passport",
    "identificationNumber": "YC12345",
    "issueDate": "20-02-1990",
    "expiryDate": "20-02-2000",
    "employmentIndustry": "Banking/Finance/Insurance", 
    "employmentStatus": "Employed",
    "employmentPosition": "Mid-Level/Supervisory/Management",
    "occupation": "Account Manager",
    "status": {
        "value": "incomplete",
        "missing_fields": ["mobileCountryCode", "mobileNumber", "nationality", "residentialAddress"]
    },
    "nameInChineseCharacters": "名稱"
}

Retrieves the full details of a user given a valid user id.

HTTP Request

GET /v2/users/:userId/detail

Response

Parameter Description
title string The user’s title. Possible values: Mr, Mrs, Miss, Ms, Dr
firstName string The user’s first name
required for kyc screening
lastName string The user’s last name
required for kyc screening
mobileCountryCode string The user’s mobile country code
required for kyc screening
mobileNumber string The user’s mobile number
required for kyc screening
formerName string The user’s former name
aliasName string The user’s alias
gender string The user’s gender. Possible values: male, female
required for kyc screening
countryOfBirth string The user’s country of birth
required for kyc screening
nationality string The user’s nationality
required for kyc screening
countryOfResidence string The user’s country of residence
required for kyc screening
residentialAddress string The user’s residential address
required for kyc screening
countryCode string The country of the users residential address, in iso 3166 two letter code
required for kyc screening
state string The user’s state or province
city string The user’s city of residence
postalCode string The user’s postal code
required for kyc screening
dateOfBirth string The user’s date of birth
format DD-MM-YYYY
required for kyc screening
identificationType string The user’s identification type. Possible values: passport, nric
required for kyc screening
identificationNumber string The user’s identification number
required for kyc screening
issueDate string The issue date of the identification document
format DD-MM-YYYY
required for kyc screening
expiryDate string The expiry date of the identification document, if applicable, for example: passport
format DD-MM-YYYY
required for kyc screening
status string The status of the current submitted user details. Provides additional information about missing fields
employmentIndustry string user employment industry
employmentStatus string user employment status
employmentPosition string user employment position
occupation string user occupation
nameInChineseCharacters string name of user in Chinese characters

Update User Details

Request body:

{
    "firstName": "From",
    "lastName": "Api",
    "countryCode": "SG",
    "employmentIndustry": "Banking/Finance/Insurance", 
    "employmentStatus": "Employed",
    "employmentPosition": "Mid-Level/Supervisory/Management",
    "nameInChineseCharacters": "名稱"
}

Response:

{
    "title": "Mr",
    "firstName": "From",
    "lastName": "Api",
    "mobileCountryCode": null,
    "mobileNumber": null,
    "formerName": null,
    "aliasName": null,
    "gender ": "male",
    "countryOfBirth": "ID",
    "countryOfResidence": "SG",
    "countryCode": "SG",
    "state": "Singapore",
    "city": "Singapore",
    "postalCode": "123456789",
    "dateOfBirth": "01-04-1970",
    "identificationType": "passport",
    "identificationNumber": "YC12345",
    "issueDate": "20-02-1990",
    "expiryDate": "20-02-2000",
    "employmentIndustry": "Banking/Finance/Insurance", 
    "employmentStatus": "Employed",
    "employmentPosition": "Mid-Level/Supervisory/Management",
    "occupation": "Account Manager",
    "status": {
        "value": "incomplete",
        "missing_fields": ["mobileCountryCode", "mobileNumber", "nationality", "residentialAddress"]
    },
    "nameInChineseCharacters": "名稱"
}

This endpoint updates a specific user, based on a valid user id, by setting the values of the passed body paramaters. Some parameters are required so that the account can be approved. These include: title, firstName, lastName, mobileCountryCode, mobileNumber, gender, countryOfBirth, nationality, countryOfResidence, residentialAddress, countryCode, state, city, and occupation. When this endpoint is called, any parameter not provided will be left unchanged.

This endpoint may only be called when if user’s status is pending_docs, approved or documents_need_resubmission. Otherwise, it will return an error response.

HTTP Request

PATCH /v2/users/:userId/detail

Path Parameters

Parameter Description
userId string The id of the user

Body Parameters

The payload for body should be submitted in application/json format. Set the value as null to remove the value of a property.

Parameter Description
title
optional
string The user’s title. Possible values: Mr, Mrs, Miss, Ms, Dr
required for kyc screening
firstName
optional
string The user’s first name
required for kyc screening
lastName
optional
string The user’s last name
required for kyc screening
mobileCountryCode
optional
string The user’s mobile country code
required for kyc screening
mobileNumber
optional
string The user’s mobile number
required for kyc screening
formerName
optional
string The user’s former name
aliasName
optional
string The user’s alias
gender
optional
string The user’s gender. Possible values: male, female
required for kyc screening
countryOfBirth
optional
string The user’s country of birth
required for kyc screening
nationality
optional
string The user’s nationality, in iso 3166 two letter code, the complete list can be fetched from Country List
required for kyc screening
countryOfResidence
optional
string The user’s country of residence, in iso 3166 two letter code, the complete list can be fetched from Country List
required for kyc screening
residentialAddress
optional
string The user’s residential address
required for kyc screening
countryCode
optional
string The country of the users residential address, in iso 3166 two letter code, the complete list can be fetched from Country List
required for kyc screening
state
optional
string The user’s state or provincerequired for kyc screening
city
optional
string The user’s city of residencerequired for kyc screening
postalCode
optional
string The user’s postal code
required for kyc screening
dateOfBirth
optional
string The user’s date of birth
format DD-MM-YYYY
required for kyc screening
identificationType
optional
string The user’s identification type. Possible values: passport, nric
required for kyc screening
identificationNumber
optional
string The user’s identification number
required for kyc screening
issueDate
optional
string The issue date of the identification document
format DD-MM-YYYY
required for kyc screening
expiryDate
optional
string The expiry date of the identification document, if applicable, for example: passport.
format DD-MM-YYYY
required for kyc screening if applicable
employmentIndustry
optional
string user employment industry
See list
employmentStatus
optional
string user employment status
See list
employmentPosition
optional
string user employment position
See list
occupation
optional
string user occupation
required for kyc screening
nameInChineseCharacters
optional
string name of user in Chinese characters

Response

Parameter Description
title string The user’s title. Possible values: Mr, Mrs, Miss, Ms, Dr
firstName string The user’s first name
lastName string The user’s last name
mobileCountryCode string The user’s mobile country code
mobileNumber string The user’s mobile number
formerName string The user’s former name
aliasName string The user’s alias
gender string The user’s gender. Possible values: male, female
countryOfBirth string The user’s country of birth
nationality string The user’s nationality
countryOfResidence string The user’s country of residence
residentialAddress string The user’s residential address
countryCode string The country of the users residential address, in iso 3166 two letter code
state string The user’s state or province
city string The user’s city of residence
postalCode string The user’s postal code
dateOfBirth string The user’s date of birth
identificationType string The user’s identification type. Possible values: passport, nric
identificationNumber string The user’s identification number
issueDate string The issue date of the identification document
expiryDate string The expiry date of the identification document, if applicable, for example: passport
status string The status of the current submitted user details. Provides additional information about missing fields
employmentIndustry string Employment industry
employmentStatus string Employment status
employmentPosition string Employment position
occupation string user occupation
nameInChineseCharacters string name of user in Chinese characters

Retrieve Company

Response:

{
    "accountId": "b3b38121-2b5c-4391-a02c-9d1669d94127",
    "companyName": "Wallex" ,
    "countryOfIncorporation": "SG",
    "countryOfOperations": "AU",
    "businessType": "Engineering",
    "companyAddress": "Address 1",
    "postalCode": 761711,
    "state": "Singapore",
    "city": "Singapore",
    "registrationNumber": "RIYUF67756181",
    "incorporationDate": "19-08-1989"
}

Retrieves the basic details of a company given a valid user id.

HTTP Request

GET /v2/users/:userId/company

Path Parameters

Parameter Description
userId string The id of the user

Response

Property Description
accountId string The account id
companyName string The name of company
countryOfIncorporation string The country of the company, in iso 3166 two letter code
countryOfOperations string The company’s country of operation,
in iso 3166 two letter code
businessType string The business Type of company, the complete list can be get from Business Type
companyAddress string The address of company
postalCode string The postal code of company
state string The state of company
city string The city of company
registrationNumber string The business registration of company
incorporationDate string The incorporation date of company
format DD-MM-YYYY

Update Company Details

Request body:

{
    "countryOfIncorporation": "SG",
    "countryOfOperations": "AU",
    "businessType": "Engineering",
    "companyAddress": "Address 1",
    "postalCode": 761711,
    "state": "Singapore",
    "city": "Singapore",
    "registrationNumber": "RIYUF67756181",
    "incorporationDate": "19-08-1989"
}

Response:

{
    "accountId": "b3b38121-2b5c-4391-a02c-9d1669d94127",
    "companyName": "Wallex" ,
    "countryOfIncorporation": "SG",
    "countryOfOperations": "AU",
    "businessType": "Engineering",
    "companyAddress": "Address 1",
    "postalCode": 761711,
    "state": "Singapore",
    "city": "Singapore",
    "registrationNumber": "RIYUF67756181",
    "incorporationDate": "19-08-1989"
}

This endpoint updates a specific company, based on a valid user id, by setting the values of the passed body paramaters. The Paramters listed under Body Parameters are all required for user approval.

This endpoint may only be called when if user’s status is pending_docs, approved or documents_need_resubmission. Otherwise, it will return an error response.

HTTP Request

PATCH /v2/users/:userId/company

Path Parameters

Parameter Description
userId string The id of the user

Body Parameters

The payload for body should be submitted in application/json format.

Parameter Description
countryOfIncorporation
required
string The company’s country code, in iso 3166 two letter code, the complete list can be fetched from Country List
required for kyc screening
countryOfOperations
required
string The company’s country of operation, in iso 3166 two letter code, the complete list can be fetched from Country List
required for kyc screening
businessType
required
string The company’s business type, the complete list can be get from Business Type
required for kyc screening
companyAddress
required
string The company’s address
required for kyc screening
postalCode
required
string The company’s postal code
required for kyc screening
state
required
string The company’s state
required for kyc screening
city
required
string The company’s city
required for kyc screening
registrationNumber
required
string The company’s business of registration
required for kyc screening
incorporationDate
required
string The incorporation date of company
format DD-MM-YYYY
required for kyc screening

Response

Parameter Description
accountId string The account id
companyName string The name of company
countryOfIncorporation string The country of the company, in iso 3166 two letter code
countryOfOperations string The company’s country of operation,
in iso 3166 two letter code
businessType string The business Type of company
companyAddress string The address of company
postalCode string The postal code of company
state string The state of company
city string The city of company
registrationNumber string The business registration of company
incorporationDate string The incorporation date of company
format DD-MM-YYYY

Create Document

Request body:

{
    "documentType": "passport",
    "documentName": "MyPassport.pdf"
}

Response:

{
    "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
    "documentType": "passport",
    "documentName": "MyPassport.pdf",
    "uploadURL": "https://wallex-files-dev.s3.ap-southeast-1.amazonaws.com/wallex/1/a7a11768-303f-4e56-934c-c53e649603f8/MyPassport.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA36PECD57ZT7DNHHK%2F20190402%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20190402T100353Z&X-Amz-Expires=900&X-Amz-Security-Token=FQoGZXIvYXdzEPf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDE0YbCXMucNWNffJ5yL3ASrrrUZQ%2Fd5nPtKHaaF%2FSJj%2FzcKiFo7JU9qAwKz928gZnneBSTIR1E6ekaMCVHobYurQI7B2lo6UflYfciFUmAiUd%2B1hX0hwFpOqsWASpYBgXOtb52uq8wfU%2BSkzmGPAxk%2BEOLQzqOxV%2BQ9K9S3NhBAqzgotivrS9lmhkP4AK7PAD7P5Du1aX%2BB0YwXt0DZ3TF3OJFeWk2FsMkcnKLey2h6DxgJ18fi6N60uakX6zF1hC4GjQ44wAkjgvtgEmc7OsEfACC2ZewxXa2x2%2F6TRxmBxipM4e2vkQl%2BWsCsaYQVrnNguVW%2F6M2u59ywxFJeO3vF1K%2FrkVkAohOqL5QU%3D&X-Amz-SignedHeaders=host%3Bx-amz-storage-class&X-Amz-Signature=5619defcde541c696e153c40da7f0509219d98ff9308054e9e5fd04054697710"
}

This endpoint creates a document entry by generating an upload URL.

HTTP Request

POST /v2/users/:userId/documents

Path Parameters

Parameter Description
userId string The id of the user who is the owner of this document

Body Parameters

Parameter Description
documentType string The type of the document, possible values are:

national_identity
company_proof
company_address_proof
nric
passport
ktp
employment_pass
s_pass
work_permit
photo
bank_statement
utility_bill
phone_bill
tax_bill
family_card
identity_report
fdw
documentName string The name of file associated with the document
contentType
optional
string MIME type of file name to be uploaded
contentLength
optional
number File size in bytes (Maximum size 10 Mb)

Response

Property Description
id string The document id
documentType string The type of the document,

national_identity
company_proof
company_address_proof
nric
passport
ktp
employment_pass
s_pass
work_permit
photo
bank_statement
utility_bill
phone_bill
tax_bill
family_card
fdw
documentName string The name of file associated with the document
uploadUrl string The URL to upload the document file. The URL is valid only for 5 minutes.

File upload

To upload the files using url generated from wallex please follow this configuration.

HTTP Request

PUT https://urlgeneratedfromwallex.com

Header Value
x-amz-storage-class
required
string STANDARD
Content-Type
required
string MIME type of the file to be uploaded, e.g. application/pdf, image/png, image/jpeg, etc.

Body

the file need to be uploaded directly as binary

Retrieve Document

Response:

{
    "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
    "documentType": "passport",
    "documentName": "MyPassport.pdf",
    "downloadURL": "https://wallex-files-dev.s3.ap-southeast-1.amazonaws.com/wallex/1/a7a11768-303f-4e56-934c-c53e649603f8/MyPassport.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA36PECD57ZT7DNHHK%2F20190402%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20190402T100353Z&X-Amz-Expires=900&X-Amz-Security-Token=FQoGZXIvYXdzEPf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDE0YbCXMucNWNffJ5yL3ASrrrUZQ%2Fd5nPtKHaaF%2FSJj%2FzcKiFo7JU9qAwKz928gZnneBSTIR1E6ekaMCVHobYurQI7B2lo6UflYfciFUmAiUd%2B1hX0hwFpOqsWASpYBgXOtb52uq8wfU%2BSkzmGPAxk%2BEOLQzqOxV%2BQ9K9S3NhBAqzgotivrS9lmhkP4AK7PAD7P5Du1aX%2BB0YwXt0DZ3TF3OJFeWk2FsMkcnKLey2h6DxgJ18fi6N60uakX6zF1hC4GjQ44wAkjgvtgEmc7OsEfACC2ZewxXa2x2%2F6TRxmBxipM4e2vkQl%2BWsCsaYQVrnNguVW%2F6M2u59ywxFJeO3vF1K%2FrkVkAohOqL5QU%3D&X-Amz-SignedHeaders=host%3Bx-amz-storage-class&X-Amz-Signature=5619defcde541c696e153c40da7f0509219d98ff9308054e9e5fd04054697710"
}

Retrieves a document entry given a valid documentId.

HTTP Request

GET /v2/users/:userId/documents/:documentId

Path Parameters

Parameter Description
userId string The id of the user who is the owner of this document
documentId string The id of the document

Response

Property Description
id string The document id
documentType string The type of the document
documentName string The name of file associated with the document
downloadUrl string The URL to download the document file. The URL is valid only for 5 minutes.

Update Document

Request body:

{
    "documentType": "nric",
    "documentName": "MyNRIC.pdf"
}

Response:

{
    "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
    "documentType": "nric",
    "documentName": "MyNRIC.pdf",
    "uploadURL": "https://wallex-files-dev.s3.ap-southeast-1.amazonaws.com/wallex/1/a7a11768-303f-4e56-934c-c53e649603f8/MyNRIC.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA36PECD57ZT7DNHHK%2F20190402%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20190402T100353Z&X-Amz-Expires=900&X-Amz-Security-Token=FQoGZXIvYXdzEPf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDE0YbCXMucNWNffJ5yL3ASrrrUZQ%2Fd5nPtKHaaF%2FSJj%2FzcKiFo7JU9qAwKz928gZnneBSTIR1E6ekaMCVHobYurQI7B2lo6UflYfciFUmAiUd%2B1hX0hwFpOqsWASpYBgXOtb52uq8wfU%2BSkzmGPAxk%2BEOLQzqOxV%2BQ9K9S3NhBAqzgotivrS9lmhkP4AK7PAD7P5Du1aX%2BB0YwXt0DZ3TF3OJFeWk2FsMkcnKLey2h6DxgJ18fi6N60uakX6zF1hC4GjQ44wAkjgvtgEmc7OsEfACC2ZewxXa2x2%2F6TRxmBxipM4e2vkQl%2BWsCsaYQVrnNguVW%2F6M2u59ywxFJeO3vF1K%2FrkVkAohOqL5QU%3D&X-Amz-SignedHeaders=host%3Bx-amz-storage-class&X-Amz-Signature=5619defcde541c696e153c40da7f0509219d98ff9308054e9e5fd04054697710"
}

Updates a document entry. This endpoints allows the client to change an existing document entry, in which case a new upload URL will be generated.

HTTP Request

PATCH /v2/users/:userId/documents/:documentId

Path Parameters

Parameter Description
userId string The id of the user who is the owner of this document
documentId string The id of the document

Body Parameters

Parameter Description
documentType
optional
string The type of the document,

national_identity
company_proof
company_address_proof
nric
passport
ktp
employment_pass
s_pass
work_permit
photo
bank_statement
utility_bill
phone_bill
tax_bill
family_card
fdw
documentName
optional
string The name of file associated with the document
contentType
optional
string MIME type of file name to be uploaded
contentLength
optional
number File size in bytes (Maximum size 10 Mb)

Response

Property Description
id string The document id
documentType string The type of the document, either nric or passport
documentName string The name of file associated with the document
uploadUrl string The URL to download the document file. The URL is valid only for 5 minutes.

Delete Document

Response:

{
    "documentId": "fa7de24a-dac1-4953-b54e-fbe943d20ca7",
    "documentType": "passport",
    "documentName": "MyPassport.pdf"
}

Deletes the specified document.

HTTP Request

DELETE /v2/users/:userId/documents/:documentId

Path Parameters

Parameter Description
userId
required
string The type of the document,

national_identity
company_proof
company_address_proof
nric
passport
ktp
employment_pass
s_pass
work_permit
photo
bank_statement
utility_bill
phone_bill
tax_bill
family_card
fdw
documentId
required
string The id of the document

Response

Property Description
documentId string The document id
documentType string The type of the document, either nric or passport
documentName string The name of file associated with the document

Listing Documents

Response:

{
    "data": [
        {
            "id": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
            "documentType": "passport",
            "documentName": "MyPassport.pdf",
            "downloadURL": "https://wallex-files-dev.s3.ap-southeast-1.amazonaws.com/wallex/1/a7a11768-303f-4e56-934c-c53e649603f8/MyPassport.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA36PECD57ZT7DNHHK%2F20190402%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20190402T100353Z&X-Amz-Expires=900&X-Amz-Security-Token=FQoGZXIvYXdzEPf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDE0YbCXMucNWNffJ5yL3ASrrrUZQ%2Fd5nPtKHaaF%2FSJj%2FzcKiFo7JU9qAwKz928gZnneBSTIR1E6ekaMCVHobYurQI7B2lo6UflYfciFUmAiUd%2B1hX0hwFpOqsWASpYBgXOtb52uq8wfU%2BSkzmGPAxk%2BEOLQzqOxV%2BQ9K9S3NhBAqzgotivrS9lmhkP4AK7PAD7P5Du1aX%2BB0YwXt0DZ3TF3OJFeWk2FsMkcnKLey2h6DxgJ18fi6N60uakX6zF1hC4GjQ44wAkjgvtgEmc7OsEfACC2ZewxXa2x2%2F6TRxmBxipM4e2vkQl%2BWsCsaYQVrnNguVW%2F6M2u59ywxFJeO3vF1K%2FrkVkAohOqL5QU%3D&X-Amz-SignedHeaders=host%3Bx-amz-storage-class&X-Amz-Signature=5619defcde541c696e153c40da7f0509219d98ff9308054e9e5fd04054697710"
        },
        {
            "id": "ca2c43c7-e0c3-bfeb-f588-92cbad1e3458",
            "documentType": "nric",
            "documentName": "MyNRIC.pdf",
            "downloadURL": "https://wallex-files-dev.s3.ap-southeast-1.amazonaws.com/wallex/1/a7a11768-303f-4e56-934c-c53e649603f8/MyNRIC.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIA36PECD57ZT7DNHHK%2F20190402%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20190402T100353Z&X-Amz-Expires=900&X-Amz-Security-Token=FQoGZXIvYXdzEPf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDE0YbCXMucNWNffJ5yL3ASrrrUZQ%2Fd5nPtKHaaF%2FSJj%2FzcKiFo7JU9qAwKz928gZnneBSTIR1E6ekaMCVHobYurQI7B2lo6UflYfciFUmAiUd%2B1hX0hwFpOqsWASpYBgXOtb52uq8wfU%2BSkzmGPAxk%2BEOLQzqOxV%2BQ9K9S3NhBAqzgotivrS9lmhkP4AK7PAD7P5Du1aX%2BB0YwXt0DZ3TF3OJFeWk2FsMkcnKLey2h6DxgJ18fi6N60uakX6zF1hC4GjQ44wAkjgvtgEmc7OsEfACC2ZewxXa2x2%2F6TRxmBxipM4e2vkQl%2BWsCsaYQVrnNguVW%2F6M2u59ywxFJeO3vF1K%2FrkVkAohOqL5QU%3D&X-Amz-SignedHeaders=host%3Bx-amz-storage-class&X-Amz-Signature=5619defcde541c696e153c40da7f0509219d98ff9308054e9e5fd04054697710"
        }
    ],
    "pagination": {
        "itemCount": 2,
        "page": 1,
        "perPage": 100,
        "search": [],
        "totalEntries": 2,
        "totalPages": 1
    }
}

Retrieves a list of all documents.

HTTP Request

GET /v2/users/:userId/documents

Path Parameters

Parameter Description
userId
required
string The id of the user who is the owner of this document

Response

Property Description
value array Array of document entries
id string The document id
documentType string The type of the document, either nric or passport
documentName string The name of file associated with the document
downloadUrl string The URL to download the document file. The URL is valid only for 5 minutes.

KYC Screening

Response:

{
    "userId": "e26fda80-c845-11e8-8910-8541dfd4ff96",
    "status": "pending_approval"
}

If the required user data documents are complete, calling this endpoint signals to Wallex’s compliance layer to perform a screening based on the submitted data. During this period, the user’s status will be pending_approval.

HTTP Request

POST /v2/users/:userId/screen

Body Parameters

none

Response

Property Description
userId string id of users
status string status of the screening

Status Value

Employment Statuses

This listing can be used for supporting data in user detail request

Employment Statuses
Employed
Unemployed
Student
Self-Employed

Employment Industries

This listing can be used for supporting data in user detail request

Employment Industries
Advertising/Media/Communications
Administration/Clerical/Facilities Svc
Agriculture/Manufacturing
Banking/Finance/Insurance
Construction
Government/Civil Servant
Personal Care Services
Domestic Helper/Child Care
Education/Teaching
Hotel/Restaurant
Information Technology
Transportation/Shipping
Military/Law Enforcement
Automotive Repairs and Sales
Medical & Health
Real Estate/Property
Retail/Sales
Tourism/Airlines/Maritime
Arts/Entertainment and Recreation
Mining/Oil and Gas/Energy
Water/Utilities/Waste Management
Science

Employment Positions

This listing can be used for supporting data in user detail request

Employment Positions
Entry Level
Mid-Level/Supervisory/Management
Senior Level/Executive
Owner

Business Type

This listing can be used for business type in company update payload

Business Type
Accounting/Audit/Consulting
Agriculture
Antiques & Artpiece
Banking/Financial/Insurance
Construction & Development
Education
Engineering
Entertainment & Recreation
Food & Beverages
Forestry & Logging
Government Bodies
Hotel & Lodging
Information Technology
Legal & Judiciary
Logistics
Manufacturing
Media & Communications
Medical & Healthcare
Mining & Quarrying
Money Lending
Non-Profit Organisation
Oil & Gas
Pawnshop
Professional Services Firm
Real Estate
Trading/Retail/Wholesale
Transportation
Utilities
Travel/Tourism
Unknown - Unknown
Others

User Notifications

We support user notifications via webhook

Payload :

{
    "resource": "user",
    "resourceId": "282c5ec7-50c0-4fe9-b586-92cbad1e3458",
    "status": "approved"
}

Payload

Property Description
resource string The name of the related resource. eg: user
resourceId string The ID of resource
status string The status of user

Status values:








Funding

Get a Funding

Response:

{
    "id" : "75569d30-692c-4518-a8c4-0a0219f308e7",
    "balanceId" : "2fcb0f63-1d31-11e9-9f08-06655537f802",
    "accountId" : "32258c6f-ae0f-11e9-9f08-06655537f802",
    "currency" : "IDR",
    "amount" : 100000,
    "reference" : "180607-00164",
    "status" : "pending"
}

Returns the specified funding of the current user.

HTTP Request

GET /v2/fundings/:fundingId

Query Parameters

Property Description
fundingId
required
string The ID of funding
onBehalfOf
optional
string The account id that you acted on for this funding

Response

Property Description
id string The ID of funding
balanceId string The ID of balances
accountId string The ID of accounts
currency string Currency code
amount number The amount to funding, i.e. 100000
reference string The reference for funding
status string The status of funding

Listing Fundings

List of funding transactions

Request:

{
    "onBehalfOf": "70f1722d-b997-44c2-a2e8-691c1090d1be",
    "pagination": {
        "page": 1
    }
}

Response:

{
    "data":[
        {
            "id" : "75569d30-692c-4518-a8c4-0a0219f308e7",
            "balanceId" : "2fcb0f63-1d31-11e9-9f08-06655537f802",
            "accountId" : "32258c6f-ae0f-11e9-9f08-06655537f802",
            "currency" : "IDR",
            "amount" : 30000,
            "reference" : "180607-00164",
            "status" : "failed"
        }, 
        {
            "id" : "eca069e4-f1f9-4b35-95eb-5ca946299de2",
            "balanceId" : "2fcb0f63-1d31-11e9-9f08-06655537f802",
            "accountId" : "32258c6f-ae0f-11e9-9f08-06655537f802",
            "currency" : "IDR",
            "amount" : 100000,
            "reference" : "180607-00164",
            "status" : "completed"
        }
    ],
    "pagination": {
        "itemCount": 2,
        "page": 1,
        "perPage": 100,
        "search": [],
        "totalEntries": 2,
        "totalPages": 1
    }
}

HTTP Request

GET /v2/fundings

Query Parameters

Property Description
onBehalfOf
optional
string The account id that you acted on for this funding
status
optional
string filter by funding status completed or pending
pagination[page]
optional
number page number

Response

Property Description
id string The ID of funding
balanceId string Balance Id
accountID string The ID of accounts
currency string Currency code
amount number The amount to funding, i.e. 30000
reference string The reference for funding
status string The status of funding

Funding Notification

Payload:

{
    "resource": "funding",
    "resourceId": "eca069e4-f1f9-4b35-95eb-5ca946299de2",
    "status": "completed"
}

Notification of funding transactions

Payload

Property Description
resource string The name of the related resource. eg: funding
resourceId string The ID of resource
status string The status of funding

Status value

Transfers

To transfer funds between two users, you create a Transfer object. With this API, you can also retrieve individual transfers and list all transfers. Transfers are identified by a unique ID.

Create a Transfer

Request body:

{
    "onBehalfOf": "4b98116c-6326-4215-aa91-ce6440f09834",
    "receiverAccountId": "4f73fba0-3e1f-45c8-ac4a-2dc62af6b5b0",
    "amount": 10000,
    "currency": "USD",
    "purposesOfTransfer": "other",
    "supportingDocuments": [
      "3dd786c3-833b-4602-9c70-bef0fd72ee39"
    ],
    "reference": "X-123",
    "remarks": "remarks",
    "comments": "comments"
}

Response:

{
    "id": "af798a49-8b3f-4f0c-81a5-180ab05ed4b2",
    "senderAccountId": "4b98116c-6326-4215-aa91-ce6440f09834",
    "receiverAccountId": "4f73fba0-3e1f-45c8-ac4a-2dc62af6b5b0",
    "amount": 10000,
    "currency": "USD",
    "purposesOfTransfer": "other",
    "reference": "X-123",
    "remarks": "remarks",
    "comments": "comments",
    "type": "out",
    "status": "completed",
    "createdAt": "2021-03-01T07:38:27Z"
}

To transfer funds between two users, you call this endpoint to create a Transfer request. The onBehalfOf paramater corresponds to the accountId of the sender, while the receiverAccountId corresponds to the accountId of the receiver. A list of potential senders and receivers can be found by firing /v2/users/ via GET.

HTTP Request

POST /v2/transfers/

Body Parameters

Parameter Description
onBehalfOf
optional
string The account id that you acted on for this transfer, which can be used to identify the sender
receiverAccountId
required
string Receiver account ID
amount
required
number The amount to transfer, i.e. 1000.
currency
required
string The transfer currency, i.e. “SGD”
purposesOfTransfer
required
string The transfer purposes, the complete list can be get from Purpose of Transfer
supportingDocuments
optional
array Array of file id to be included in the transfer
reference
optional
string Will be displayed on receivers statement which can be used for reconciliations
remarks
optional
string Will be displayed on receivers statement, to indicate additional info on the transfer
comments
optional
string Will be displayed for your own reference, wont be displayed on receivers statement

Response

Property Description
id string The ID of the transfer
senderAccountId string Sender account ID
receiverAccountId string Receiver account ID
amount number The amount to transfer, i.e. 1000.
currency string The transfer currency, i.e. “SGD”
purposesOfTransfer string The transfer purposes
reference string Will be displayed on receivers statement which can be used for reconciliations
remarks string Will be displayed on receivers statement, to indicate additional info on the transfer
comments string Will be displayed for your own reference, wont be displayed on receivers statement
type string The type of transfer, available options in and out
status string The status of transfer

Listing Transfers

Request:

{
  "onBehalfOf": "3496aec9-668a-4034-8386-7f27f730c5fd",
  "startDate": "2021-03-01T08:59:49Z",
  "endDate": "2021-06-07T08:59:49Z"
}

Response body:

{
  "data": [
    {
      "id": "af798a49-8b3f-4f0c-81a5-180ab05ed4b2",
      "senderAccountId": "3496aec9-668a-4034-8386-7f27f730c5fd",
      "receiverAccountId": "4f73fba0-3e1f-45c8-ac4a-2dc62af6b5b0",
      "amount": 10000,
      "currency": "USD",
      "purposesOfTransfer": "other",
      "reference": "X-123",
      "remarks": "remarks",
      "comments": "comments",
      "type": "out",
      "status": "completed",
      "createdAt": "2021-03-01T17:38:27Z"
    },
    {
      "id": "04eed34b-a419-4d9f-93ec-ffafe1fe2435",
      "senderAccountId": "4f73fba0-3e1f-45c8-ac4a-2dc62af6b5b0",
      "receiverAccountId": "3496aec9-668a-4034-8386-7f27f730c5fd",
      "amount": 10000,
      "currency": "SGD",
      "purposesOfTransfer": "other",
      "reference": "X-123",
      "remarks": "remarks",
      "comments": "comments",
      "type": "in",
      "status": "completed",
      "createdAt": "2021-04-01T04:13:45Z"
    }
  ],
  "pagination": {
    "itemCount": 2,
    "page": 1,
    "perPage": 100,
    "search": [],
    "totalEntries": 2,
    "totalPages": 1
  }
}

Call this endpoint to list all transfers among your users.

HTTP Request

GET /v2/transfers

Query Parameters

Parameter Description
pagination[page]
optional
number page number
startDate
optional
string filtering records greater than or equal to startDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
endDate
optional
string filtering records less than endDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
onBehalfOf
optional
string filtering records by onBehalfOf
reference
optional
string filtering records by reference
type
optional
string filtering records by type
currency
optional
string filtering records by currency

Response

Property Description
id string The ID of the transfer
senderAccountId string Sender account ID
receiverAccountId string Receiver account ID
amount number The amount to transfer, i.e. 1000.
currency string The transfer currency, i.e. “SGD”
purposesOfTransfer string The transfer purposes
reference string Will be displayed on receivers statement which can be used for reconciliations
remarks string Will be displayed on receivers statement, to indicate additional info on the transfer
comments string Will be displayed for your own reference, wont be displayed on receivers statement
type string The type of transfer, available options in and out
status string The status of transfer

Retrieve a Transfer

Response body:

{
    "id": "04eed34b-a419-4d9f-93ec-ffafe1fe2435",
    "senderAccountId": "3496aec9-668a-4034-8386-7f27f730c5fd",
    "receiverAccountId": "73829f79-701d-4ea3-b4c4-29d6e94c922d",
    "amount": 10000,
    "currency": "SGD",
    "purposesOfTransfer": "other",
    "reference": "X-123",
    "remarks": "remarks",
    "comments": "comments",
    "type": "out",
    "status": "completed",
    "createdAt": "2021-03-01T07:38:27Z"
}

Retrieves the details of a specific transfer given a valid id.

HTTP Request

get /v2/transfer/:id

Path Parameters

Parameter Description
id
required
string The ID of the transfer
onBehalfOf
optional
string The account id that you acted on for this transfer

Response

Property Description
id string The ID of the transfer
senderAccountId string Sender account ID
receiverAccountId string Receiver account ID
amount number The amount to transfer, i.e. 1000.
currency string The transfer currency, i.e. “SGD”
purposesOfTransfer string The transfer purposes
reference string Will be displayed on receivers statement which can be used for reconciliations
remarks string Will be displayed on receivers statement, to indicate additional info on the transfer
comments string Will be displayed for your own reference, wont be displayed on receivers statement
type string The type of transfer, available options in and out
status string The status of transfer

Status values:

Deduction

Listing Deductions

Request:

{
  "onBehalfOf": "3496aec9-668a-4034-8386-7f27f730c5fd",
  "startDate": "2021-03-01T08:59:49Z",
  "endDate": "2021-07-07T08:59:49Z"
}

Response body:

{
  "data": [
    {
      "id": "ecf6f44f-c154-4db8-a250-cf23d93e2cc6",
      "accountId": "7863184f-e321-4481-bd86-e29b798209bc",
      "amount": 120,
      "currency": "SGD",
      "deductionType": "WITHDRAWAL",
      "remarks": "personal",
      "createdAt": "2021-06-16T04:17:03Z"
    },
    {
      "id": "ef2642b7-a2b7-4839-b01e-462a640e1542",
      "accountId": "7863184f-e321-4481-bd86-e29b798209bc",
      "amount": 121,
      "currency": "SGD",
      "deductionType": "WITHDRAWAL",
      "remarks": "personal",
      "createdAt": "2021-06-16T04:08:12Z"
    }
  ],
  "pagination": {
    "itemCount": 2,
    "page": 1,
    "perPage": 100,
    "search": [],
    "totalEntries": 2,
    "totalPages": 1
  }
}

HTTP Request

GET /v2/deductions/

Query Parameters

Parameter Description
pagination[page]
optional
number page number
startDate
optional
string filtering records greater than or equal to startDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
endDate
optional
string filtering records less than endDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
onBehalfOf
optional
string filtering records by onBehalfOf
currency
optional
string filtering records by currency
deductionType
optional
string filtering records by deduction type
remarks
optional
string filtering records by remarks

Response

Property Description
id string The ID of the deduction
accountId string Deduction account ID
amount number The amount to deduction, i.e. 1000.
currency string The deduction currency, i.e. “SGD”
deductionType string The deduction type, the complete list can be get from Deduction Type
remarks string The deduction remarks

Retrieve a Deduction

Response body:

{
  "id": "ef2642b7-a2b7-4839-b01e-462a640e1542",
  "accountId": "7863184f-e321-4481-bd86-e29b798209bc",
  "amount": 121,
  "currency": "SGD",
  "deductionType": "WITHDRAWAL",
  "remarks": "personal",
  "createdAt": "2021-06-16T04:08:12Z"
}

HTTP Request

get /v2/deductions/:id

Path Parameters

Parameter Description
id
required
string The ID of the deduction
onBehalfOf
optional
string The account id that you acted on for this deduction

Response

Property Description
id string The ID of the deduction
accountId string Deduction account ID
amount number The amount to deduction, i.e. 1000.
currency string The deduction currency, i.e. “SGD”
deductionType string The deduction type, the complete list can be get from Deduction Type
remarks string The deduction remarks

Deduction Type

This listing can be used for deduction type in payload

Deduction Type Meaning
bank_fees_inward_credit Bank Fees (Inward Credit)
bank_fees_others Bank Fees (Others)
wallex_fees_late_funding Wallex Fees (Late Funding)
wallex_fees_fx_losses Wallex Fees (FX Losses)
wallex_fees_payment_cancellation Wallex Fees (Payment Cancellation)
wallex_fees_change_in_payment_terms Wallex Fees (Change in Payment Terms)
other Other

Deduction Notification

Payload:

{
  "resource": "deduction",
  "resourceId": "ef2642b7-a2b7-4839-b01e-462a640e1542",
  "status": "completed"
}

Notification of deduction transactions

Payload

Property Description
resource string The name of the related resource. eg: deduction
resourceId string The ID of resource
status string The status of deduction

Status value

Collection

The Collection API allows anyone to deposite funds into a user’s Wallex wallet via Virtual Accounts. This is useful if your users would like to collect payments from third parties. Once a collection is completed, the user’s balance will be incremented by the transfered amount.

The flowchart bellow visualizes how you might want to set up a collection account and process a collection. My Accounts

Create Collection Account

Request body:

{
    "onBehalfOf": "9205897b-746a-4446-8243-63290b97ef49",
    "name": "Handy Permana",
    "fundingReference": "CVB123456",
    "reference": "Handy Permana - work",
    "currency": "IDR",
    "purpose": "Personal",
    "description": "consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
}

Response:

{
    "id":"e51f2af6-e755-42db-92ea-8042f36cdd64",
    "name":"Handy Permana",
    "currency":"IDR",
    "description":"consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
    "fundingReference": "CVB123456",
    "reference": "Handy Permana - work",
    "purpose":"Personal",
    "createdAt":"2021-03-22T07:27:27Z",
    "bankDetails":[
        {
            "bankName":"Mandiri",
            "currency":"IDR",
            "paymentType":"local",
            "accountNumber":"89022105923180490",
            "accountHolderName":"Handy Permana",
            "accountNumberType":"account_number"
        },
        {
            "bankName":"Permata",
            "currency":"IDR",
            "paymentType":"local",
            "accountNumber":"88561570923180490",
            "accountHolderName":"Handy Permana",
            "accountNumberType":"account_number"
        },
        {
            "bankName":"CIMB",
            "currency":"IDR",
            "paymentType":"local",
            "accountNumber":"51491509923180490",
            "accountHolderName":"Handy Permana",
            "accountNumberType":"account_number"
        }
    ]
}

In order for your users to receive collections, you must first create a collection account. This will generate virtual accounts for a specified currency, designated for a specified user. The onBehalfOf paramater corresponds to an accountId of the user to receive the collections. A list of potential receivers can be found by firing /v2/users/ via GET.

HTTP Request

POST /v2/collections/accounts

Body Parameters

Parameter Description
onBehalfOf
optional
string The account id that you acted on for this collection account
name
conditional
string Name of the account holder, required for IDR collection accounts
fundingReference
conditional
string For SGD, used for forwarding payments
reference
optional
string reference to identify account
currency
required
string Receiving currency
purpose
conditional
string collection, intermediary
description
optional
string A description for your own reference, won’t be displayed to payer

Response

Property Description
id string The ID of collection accounts
name string Name of the account holder, required for IDR collection accounts
currency string Receiving currency
description string A description for your own reference, won’t be displayed to payer
fundingReference string For SGD, used for forwarding payments
reference string reference to identify account
purpose string collection, intermediary
createdAt string Date the Collection account created
bankDetails string The bank detail informations

Get Collection Account by Id

Response:

{
    "id": "e51f2af6-e755-42db-92ea-8042f36cdd64",
    "name": "Handy Permana",
    "currency": "IDR",
    "description": "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
    "fundingReference": "RNS12345",
    "reference": "Handy Permana - work",
    "purpose": "Personal",
    "createdAt": "2021-03-22T07:27:27Z",
    "bankDetails":[
        {
            "bankName": "Mandiri",
            "currency": "IDR",
            "paymentType": "local",
            "accountNumber": "89022105923180490",
            "accountHolderName": "Handy Permana",
            "accountNumberType": "account_number"
        },
        {
            "bankName": "Permata",
            "currency": "IDR",
            "paymentType": "local",
            "accountNumber": "88561570923180490",
            "accountHolderName": "Handy Permana",
            "accountNumberType": "account_number"
        },
        {
            "bankName": "CIMB",
            "currency": "IDR",
            "paymentType": "local",
            "accountNumber": "51491509923180490",
            "accountHolderName": "Handy Permana",
            "accountNumberType": "account_number"
        }
    ]
}

This endpoint will return a specified collection account given a valid id.

HTTP Request

GET /v2/collections/accounts/:id

Path Parameters

Parameter Description
id
required
string The ID of collection accounts
onBehalfOf
optional
string The account id that you acted on for this collection account

Response

Property Description
id string The ID of collection accounts
name string Name of the account holder, required for IDR collection accounts
currency string Receiving currency
description string A description for your own reference, won’t be displayed to payer
fundingReference string For SGD, used for forwarding payments
reference string reference to identify account
purpose string collection, intermediary
createdAt string Date the Collection account created
bankDetails string The bank detail informations

Listing Collection Account(s)

Request:

{
  "onBehalfOf": "3496aec9-668a-4034-8386-7f27f730c5fd",
  "startDate": "2021-03-01T08:59:49Z",
  "endDate": "2021-07-07T08:59:49Z"
}

Response:

{
    "data": [
        {
            "id":"3d601e11-f82a-4739-83c3-6564183ea2f7",
            "name":"Account Partner",
            "currency":"EUR",
            "description":"perspiciatis unde omnis iste natus error sit",
            "fundingReference": "JK99997",
            "reference": "Handy Permana - work",
            "purpose":"Travel",
            "createdAt":"2021-03-22T07:27:27Z",
            "bankDetails":[
                {
                    "bankName":"The Currency Cloud Limited",
                    "currency":"EUR",
                    "bankAddress":"12 Steward Street, The Steward Building, London, E1 6FQ, GB",
                    "bankCountry":"GB",
                    "paymentType":"local",
                    "routingCode":"TCCLGB31",
                    "accountNumber":"GB01TCCL07961211359330",
                    "routingCodeType":"bic_swift",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"iban"
                },
                {
                    "bankName":"The Currency Cloud Limited",
                    "currency":"EUR",
                    "bankAddress":"12 Steward Street, The Steward Building, London, E1 6FQ, GB",
                    "bankCountry":"GB",
                    "paymentType":"swift",
                    "routingCode":"TCCLGB3L",
                    "accountNumber":"GB11TCCL12345638670912",
                    "routingCodeType":"bic_swift",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"iban"
                }
            ]
        },
        {
            "id":"ce5001be-f63d-4b64-9ae2-b22d6ea0b227",
            "name":"Account Partner",
            "currency":"USD",
            "description":"perspiciatis something",
            "fundingReference": "JK99998",
            "reference": "Handy Permana - work",
            "purpose":"Travel",
            "createdAt":"2021-03-22T07:27:27Z",
            "bankDetails":[
                {
                    "bankName":"Community Federal Savings Bank",
                    "currency":"USD",
                    "bankAddress":"810 Seventh Avenue, New York, NY 10019, US",
                    "bankCountry":"US",
                    "paymentType":"local",
                    "routingCode":"026073008",
                    "accountNumber":"0338567354",
                    "routingCodeType":"wire_routing_number",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"account_number"
                },
                {
                    "bankName":"Community Federal Savings Bank",
                    "currency":"USD",
                    "bankAddress":"810 Seventh Avenue, New York, NY 10019, US",
                    "bankCountry":"US",
                    "paymentType":"local",
                    "routingCode":"026073150",
                    "accountNumber":"0338567354",
                    "routingCodeType":"ach_routing_number",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"account_number"
                },
                {
                    "id":"05552157-987d-4ad6-afe2-bde49844f38a",
                    "bankName":"The Currency Cloud Limited",
                    "currency":"USD",
                    "accountId":"9aa9e851-6188-4d70-a749-17604411f320",
                    "createdAt":"2021-03-22T07:46:50+00:00",
                    "updatedAt":"2021-03-22T07:46:50+00:00",
                    "bankAddress":"12 Steward Street, The Steward Building, London, E1 6FQ, GB",
                    "bankCountry":"GB",
                    "paymentType":"swift",
                    "routingCode":"TCCLGB3L",
                    "accountNumber":"GB11TCCL12345638670912",
                    "routingCodeType":"bic_swift",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"iban"
                }
            ]
        },
        {
            "id":"f1275448-03df-4847-883d-f2db757895ac",
            "name":"Account Partner",
            "currency":"GBP",
            "description":"perspiciatis something",
            "fundingReference": "JK99999",
            "reference": "Handy Permana - work",
            "purpose":"Travel",
            "createdAt":"2021-03-22T07:27:27Z",
            "bankDetails":[
                {
                    "bankName":"The Currency Cloud Limited",
                    "currency":"GBP",
                    "accountId":"9aa9e851-6188-4d70-a749-17604411f320",
                    "createdAt":"2021-03-22T07:46:50+00:00",
                    "updatedAt":"2021-03-22T07:46:50+00:00",
                    "bankAddress":"12 Steward Street, The Steward Building, London, E1 6FQ, GB",
                    "bankCountry":"GB",
                    "paymentType":"local",
                    "routingCode":"123456",
                    "accountNumber":"38670912",
                    "routingCodeType":"sort_code",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"account_number"
                },
                {
                    "bankName":"The Currency Cloud Limited",
                    "currency":"GBP",
                    "accountId":"9aa9e851-6188-4d70-a749-17604411f320",
                    "bankAddress":"12 Steward Street, The Steward Building, London, E1 6FQ, GB",
                    "bankCountry":"GB",
                    "paymentType":"swift",
                    "routingCode":"TCCLGB3L",
                    "accountNumber":"GB11TCCL12345638670912",
                    "routingCodeType":"bic_swift",
                    "accountHolderName":"Account Partner",
                    "accountNumberType":"iban"
                }
            ]
        },
        {
            "id":"e51f2af6-e755-42db-92ea-8042f36cdd64",
            "name":"Handy Permana",
            "currency":"IDR",
            "description":"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
            "fundingReference": "RNS12345",
            "reference": "Handy Permana - work",
            "purpose":"Personal",
            "createdAt":"2021-03-22T07:27:27Z",
            "bankDetails":[
                {
                    "bankName":"Mandiri",
                    "currency":"IDR",
                    "paymentType":"local",
                    "accountNumber":"89022105923180490",
                    "accountHolderName":"Handy Permana",
                    "accountNumberType":"account_number"
                },
                {
                    "bankName":"Permata",
                    "currency":"IDR",
                    "paymentType":"local",
                    "accountNumber":"88561570923180490",
                    "accountHolderName":"Handy Permana",
                    "accountNumberType":"account_number"
                },
                {
                    "bankName":"CIMB",
                    "currency":"IDR",
                    "paymentType":"local",
                    "accountNumber":"51491509923180490",
                    "accountHolderName":"Handy Permana",
                    "accountNumberType":"account_number"
                }
            ]
        }
    ],
    "pagination": {
        "itemCount": 4,
        "page": 1,
        "perPage": 100,
        "search": [],
        "totalEntries": 4,
        "totalPages": 1
    }
}

Returns a list of your all the collection accounts attributed to your users.

HTTP Request

GET /v2/collections/accounts

Query Parameters

Parameter Description
onBehalfOf
optional
string The account id that you acted on for this collection account
startDate
optional
string filtering records greater than or equal to startDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
endDate
optional
string filtering records less than endDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
name
optional
string filtering records by name
currency
optional
string filtering records by currency
fundingReference
optional
string filtering records by fundingReference
reference
optional
string filtering records by reference
purpose
optional
string filtering records by purpose
pagination[page]
optional
number page number

Response

Property Description
id string The ID of collection accounts
name string Name of the account holder, required for IDR collection accounts
currency string Receiving currency
description string A description for your own reference, won’t be displayed to payer
fundingReference string For SGD, used for forwarding payments
reference string reference to identify account
purpose string collection, intermediary
createdAt string Date the Collection account created
bankDetails string The bank detail informations

Get Collection by Id

Response:

{
    "id": "2556de52-c964-46e0-9287-5daf9dd3c9e7",
    "collectionAccountId": "68f780c4-9616-44d9-a741-a3921ad37318",
    "currency": "IDR",
    "amount": 20000,
    "amountOrigin": 20000,
    "fee": 0,
    "status": "completed",
    "receiver": {
        "accountHolderName": "Sasuke Uchiha",
        "accountNumber": "5149192245715183",
        "bankName": "CIMB"
    },
    "creditedAt": "2021-07-01T14:14:41Z"
}

This endpoint will return a specified collection given a valid id.

HTTP Request

GET /v2/collections/:id

Path Parameters

Parameter Description
id
required
string The ID of collection accounts
onBehalfOf
optional
string The account id that you acted on for this collection account

Response

Property Description
id string The ID of collection
collectionAccountId string AccountId of collection
currency string Receiving currency
amount string The amount of collection
amountOrigin string The origin amount of collection
fee string The fee of collection
status string The status of collection
receiver string The receiver information of collection
creditedAt string Date the collection credited

Listing Collections

Request body:

{
    "onBehalfOf": "3496aec9-668a-4034-8386-7f27f730c5fd",
    "startDate": "2019-05-07T08:59:49Z",
    "endDate": "2021-06-07T08:59:49Z",
    "status": "completed"
}

Response:

{
    "data": [
        {
            "id": "0259d5c9-6cba-4100-8995-b42c65fbd488",
            "collectionAccountId": "1379af06-506e-4289-aee7-29d6e95141f4",
            "currency": "USD",
            "amount": 25588.53,
            "amountOrigin": 25588.53,
            "fee": 0,
            "status": "completed",
            "sender": {
                "name": "John Doe",
                "address": "124 CHIN SWEE RD  02-01 MANHATTAN H, SG, SG, 169876",
                "country": "SG",
                "routingCode": "091000029"
            },
            "creditedAt": "2021-07-01T14:14:41Z"
        },
        {
            "id": "2556de52-c964-46e0-9287-5daf9dd3c9e7",
            "collectionAccountId": "68f780c4-9616-44d9-a741-a3921ad37318",
            "currency": "IDR",
            "amount": 20000,
            "amountOrigin": 20000,
            "fee": 0,
            "status": "completed",
            "receiver": {
                "name": "Sasuke Uchiha",
                "accountNumber": "5149192245715183",
                "bankName": "CIMB"
            },
            "creditedAt": "2021-07-01T14:14:41Z"
        }
    ],
    "pagination": {
        "itemCount": 2,
        "page": 1,
        "perPage": 100,
        "search": [],
        "totalEntries": 2,
        "totalPages": 1
    }
}

Returns a list of your all the collections received by your users.

HTTP Request

POST /v2/collections

Body Parameters

Parameter Description
onBehalfOf
optional
string The account id that you acted on for this collection
startDate
optional
string filtering records greater than or equal to startDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
endDate
optional
string filtering records less than endDate
example: 2019-05-07T08:59:49Z
this dates is treated as UTC time
currency
optional
string The currency of collection
status
optional
string The status of collection

Response

Property Description
id string The ID of collection
collectionAccountId string AccountId of collection
currency string Receiving currency
amount string The amount of collection
amountOrigin string The origin amount of collection
fee string The fee of collection
status string The status of collection
receiver string The receiver information of collection
creditedAt string Date the collection credited

Collection Notification

Payload:

{
    "resource": "collection",
    "resourceId": "e51f2af6-e755-42db-92ea-8042f36cdd64",
    "status": "completed"
}

Payload

Property Description
resource string The name of the related resource. eg: collection
resourceId string The ID of resource
status string The status of collection

Status value