SettleGo API

SettleGo API

Getting Started

The SettleGo API lets you develop custom solutions to manage your organization’s payments. Our API offers an easy integration with all the functionality needed for the modern finance department. By accessing SettleGo’s core engine through the API, you will be able to manage the entire cash flow from collection to payout.

Sign up for a Sandbox SettleGo user and start exploring our REST API. If you need assistance following this documentation, contact us at contact@settlego.com and we will respond as soon as we can.

Environments
Sandbox https://sandbox-api.settlego.com/api/v1
Production https://api.settlego.com/api/v1
Authentication

Once you sign up for a SettleGo, you will receive an apiKey. You can then use your login id and apiKey to authenticate.

POST /authentication/login
POST /authentication/logout
Login
POST /authentication/login

Generates a token to authenticate all calls following login.

Request body

ApiKey and loginId are required for calling the login endpoint.

Object
apiKey
string

Generated after user creates SettleGo account

loginId
string

Email address used during SettleGo account signup

Responses

200 OK

Successful login

Body
Object
token
string

The authentication token (x-auth-token) that will be used for all subsequent calls

tfaEnabled
boolean
Example:
false
phoneList
Object
countryId
integer
number
string
type
string
email
string
mobilePhoneVerified
boolean
Example:
false
Example request
Example response

sample login request

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/authentication/login" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "loginId": "email@code.com",
  "apiKey": "25EC53548E5694299168201EE916029F5300CECF9669ABF496FE385F62B71152"
}'

sample login response

{
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlcm9yQGNvbS5jb20iLCJpbnN0YW5jZUlkIjoiMSIsInJvbGUiOlsiVVNSIiwiQVBJX1VTUiJdLCJjaGFubmVsIjoiQVBJIiwic2Vzc2lvbklkIjoiNWQ1NGMwYWItNWNhMS00OThkLTk5NWYtZDAzMjg2MWFlM2Y1IiwidXNlclR5cGUiOiJDTFUiLCJsb2dpbkV2ZW50SWQiOiIzNzU4NCIsInR5cGUiOiIxIiwiZXhwIjoxNTY1MTgwNjEwLCJ1c2VySWQiOiI1NDMiLCJpYXQiOjE1NjUxNzcwMTB9._RcwGz1ClWc4Rj-q1UD0zOQOICKrAja9W115lwmmmDybJ2AhzLq9XgHZ_lUE2L3FYyj5sDnGDUYtbcfuFe--Mg",
    "tfaEnabled": false,
    "tfaType": null,
    "phoneList": null,
    "email": null,
    "mobilePhoneVerified": false
}
Logout
POST /authentication/logout

Perform this call to manually end the session. Alternatively, the user can wait for the session to time out.

Request headers

x-auth-token
string required

Authorization token that was returned from the login call

Responses

200 OK
Example request

sample logout request

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/authentication/logout" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'
HTTP Request

The following HTTP header will be included in all requests after login.

x-auth-token
string required

The token returned from the login call.

HTTP Response codes
Code Description
200 Request succeeded.
400 Bad request, request is not well-formed or syntactically incorrect.
401 Authentication failure. Verify that the authorization token is correct.
500 Internal server error, although the client provided a correct request the server experienced a problem.
Postman Collection
You may grab our Postman collection and try calling our SettleGo api by clicking the “Run in Postman” button.
REST API
Currency Account

Once the SettleGo user is authenticated, a currency account can be created by calling the /currency-accounts endpoint.

POST /currency-accounts
GET /currency-accounts
GET /currency-accounts/{currency}
GET /currency-accounts/balance-history
GET /pay-ins/{id}
GET /pay-ins
Create a currency account
POST /currency-accounts

Creates a currency account of a given currency for the authenticated SettleGo user.

Request parameters

currency
string required

Three letter currency code

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
currency
string

Three letter currency code

status
string
Enumeration:
active
inactive
balance
string

Currency account balance

bankName
string

Bank name used for deposit (pay-in)

bankAccountHolderName
string

Account holder name

accountNumber
string

Account number

bicSwift
string

Swift Number for the bank account

iban
string

Iban for the bank account

bankAddress
string

Bank address

bankCountry
string

Bank country

routingCodeList
Array

List of routing codes

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
Enumeration:
aba
blz_code
branch_code
bsb_code
sort_code
ifs_code
clabe_code
ctn
value
string

Value of the routing code

Example request
Example response

Sample create a currency account request

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/currency-accounts" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "currency": "USD"
}'

Sample create a currency account response

{"currency":"USD",
"status":"active",
"balance":0,
"bankName":"SIM BANK",
"bankAccountHolderName":"SIM ACCOUNT",
"accountNumber":"12345678",
"bicSwift":"SIM0000",
"iban":"SM000000000000000000000000",
"bankAddress":null,
"bankCountry":null,
"routingCodeList":null}
List currency accounts
GET /currency-accounts

Returns the authenticated user’s currency accounts.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
currency
string optional

Three letter currency code

Example:
GBP
status
string optional
Enumeration:
active
inactive
minBalance
string optional

Minimum balance

maxBalance
string optional

Maximum balance

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

If a main client is performing this call to list its all linked clients, onBehalfOf parameter shouldn’t be sent

scope
string optional

Listing scope

DEPENDS ON: If a main client is performing this call to list its all linked clients, scope parameter shouldn’t be sent

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Responses

200 OK

Successful response will contain an array of the following response body

Body
Object
currency
string

Three letter currency code

status
string

active or inactive

balance
number

currency account balance

bankName
string

Bank name

bankAccountHolderName
string

Name of bank account holder

accountNumber
string

Bank account number

bicSwift
string

Bic or swift for the bank account

iban
string

Bank IBAN number

bankAddress
string

Bank address

bankCountry
string

Two digit bank country code

routingCodeList
Array

List of routing codes as key-value pairs

Examples:
routingCodeList
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
clientId
string

Id of the client that owns the currency account

Example request
Example response

sample request to list currency accounts

curl -X GET \
  'https://sandbox-api.settlego.com/api/v1/currency-accounts/?pageSize=100&pageNumber=1' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list currency accounts

"currencyAccountList": [
        {
            "currency": "GBP",
            "status": "active",
            "balance": 912,
            "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
            "bankName": "SIM BANK",
            "bankAccountHolderName": "SIM ACCOUNT",
            "accountNumber": "12345678",
            "bicSwift": "SIM0000",
            "iban": "DE04700TESTIBAN0000084",
            "bankAddress": null,
            "bankCountry": null,
            "routingCodeList": null
        },
        {
            "currency": "USD",
            "status": "active",
            "balance": 100,
            "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
            "bankName": null,
            "bankAccountHolderName": null,
            "accountNumber": null,
            "bicSwift": null,
            "iban": null,
            "bankAddress": null,
            "bankCountry": null,
            "routingCodeList": null
        },
        {
            "currency": "EUR",
            "status": "active",
            "balance": 190,
            "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
            "bankName": "SIM BANK",
            "bankAccountHolderName": "SIM ACCOUNT",
            "accountNumber": "12345678",
            "bicSwift": "SIM0000",
            "iban": "DE04700TESTIBAN0000090",
            "bankAddress": null,
            "bankCountry": null,
            "routingCodeList": null
        },
        {
            "currency": "TRY",
            "status": "active",
            "balance": 0,
            "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
            "bankName": null,
            "bankAccountHolderName": null,
            "accountNumber": null,
            "bicSwift": null,
            "iban": null,
            "bankAddress": null,
            "bankCountry": null,
            "routingCodeList": null
        }}]}
Get currency account
GET /currency-accounts/{currency}

Retrieves the currency account by specified currency code.

Path variables

currency
string required

Three letter currency code

Example:
GBP

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
currency
string

Three letter currency code

status
string
Enumeration:
active
inactive
balance
number

Currency account balance

bankName
string

Bank name

bankAccountHolderName
string

Bank account holder name

accountNumber
string

Bank account number

bicSwift
string

Bic or swift for the bank account

iban
string

Bank account IBAN number

bankAddress
string

Bank address

bankCountry
string

Two digit bank country code

routingCodeList
Array

List of routing codes

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
Example request
Example response

sample request to retrieve a currency account

curl "https://sandbox-api.settlego.com/api/v1/currency-accounts/GBP" \
          -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2VjQGNvZGVzcGFjZWRldi5jb20iLCJpbnN0YW5jZUlkIjoiMSIsInJvbGUiOlsiVVNSIl0sImNoYW5uZWwiOiJBUEkiLCJzZXNzaW9uSWQiOiI0ZmRmZjc3OS02ZDE1LTQ2ZmEtOTJjMi0yYTEyNzVmMDhmNmIiLCJsb2dpbkV2ZW50SWQiOiI4NzQiLCJ0eXBlIjoiMSIsImV4cCI6MTUyMTAxNTc4NiwidXNlcklkIjoiMTE3IiwiaWF0IjoxNTIxMDEyMTg2fQ.rBZIy5okAp5wiToXtEXAczHwHy2Mr-ACGANp4jF1eR_CW8lQ2xOGxwouq0AtvrsqQATpYSciKvNH51SbLoettA'

sample response to retrieve a currency account

{"currency":"GBP",
 "status":"active",
 "balance":0.00,
 "bankName":"SIM BANK",
 "bankAccountHolderName":"SIM ACCOUNT",
 "accountNumber":"12345678",
 "bicSwift":"SIM0000",
 "iban":"DE04700TESTIBAN0000084",
 "bankAddress":null,
 "bankCountry":null,
 "routingCodeList":null}
List Balance Histories
GET /currency-accounts/balance-history

Returns the balance history of SettleGo user’s currency accounts. A date range can be specified to retrieve balances during a specific time period.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
currency
string optional

Three letter currency code

minDate
string optional

Starting date to filter results

Example:
2017-01-01
maxDate
string optional

End date to filter results

Example:
2018-01-01
onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK

Successful response will be an array of below response object.

Body
Object
currency
string

Three letter currency code

date
string

Date of balance change

openingBalance
string

Balance before change

closingBalance
string

Balance after change

Example request
Example response

sample request to list balance histories

curl "https://sandbox-api.settlego.com/api/v1/currency-accounts/balance-history?pageSize=100&pageNumber=1&minDate=2017-01-01&maxDate=2018-03-18" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

sample response to list balance histories

{"pagination":{"totalEntryCount":2,"totalPageCount":1,"currentPage":1,
 "maximumPageSize":100,"currentPageSize":2,"previousPage":0,"nextPage":0},
 "balanceList":[
 {"currency":"GBP",
  "date":"2018-03-16",
  "openingBalance":0.00,
  "closingBalance":100.00},
  {"currency":"USD",
  "date":"2018-03-16",
  "openingBalance":0.00,
  "closingBalance":100.00}]}
Get pay-in
GET /pay-ins/{id}

Returns the pay-in (deposit into currency account) specified by the pay-in id.

Path variables

id
string required

Pay-in id

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Pay-in id

amount
number

Transaction amount

currency
string

Three letter currency code

transactionReference
string

SettleGo system reference number in human readable format

transactionDateTime
string

Time and date of transaction

senderName
string

Sender name

senderAddress
string

Sender address

senderBic
string

Sender bank indetifier code

senderIban
string

Sender iban

senderInformation
string

Sender information

Example request
Example response

sample request to get pay-in

   curl "https://sandbox-api.settlego.com/api/v1/pay-ins/8be9c226-44d5-4155-8c3c-8ba5acc8dc4f" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get pay-in

   "id":"8be9c226-44d5-4155-8c3c-8ba5acc8dc4f",
   "amount":50.00,
   "currency":"GBP",
   "transactionReference":"20180320-1E1QK9",
   "transactionDateTime":"2018-03-20T07:57:52",
   "senderName":null,
   "senderAddress":null,
   "senderBic":null,
   "senderIban":null,
   "senderInformation":null
List pay-in
GET /pay-ins

Lists payments received on user’s currency accounts.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

currency
string optional

Filter results by three letter currency code

minTransactionAmount
string optional

Filter by minimum transaction amount

maxTransactionAmount
string optional

Filter by maximum transaction amount

minTransactionDate
string optional

Filter by minimum transaction date

Example:
2017-01-01
maxTransactionDate
string optional

Filter by maximum transaction date

Example:
2018-01-01
scope
string optional

Listing scope

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by the main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Responses

200 OK

Successful response will return an array of below response object.

Body
Object
id
string

Pay-in id

amount
number

Transaction amount

currency
string

Three letter currency code

transactionReference
string

SettleGo system reference number in human readable format

transactionDateTime
string

Time and date of transaction

senderName
string

Sender name

senderAddress
string

Sender address

senderBic
string

Sender bank identifier code

senderIban
string

Sender iban

senderInformation
string

sender information

clientId
string

Id of the client that received the payment

Example request
Example response

sample request to list pay-ins

  curl "https://sandbox-api.settlego.com/api/v1/pay-ins?pageSize=100&pageNumber=1" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list pay-ins

  "pagination":{"totalEntryCount":1,"totalPageCount":1,"currentPage":1,"maximumPageSize":100,
  "currentPageSize":1,"previousPage":0,"nextPage":0},"transactionList":[
  {"id":"8be9c226-44d5-4155-8c3c-8ba5acc8dc4f",
   "amount":50.00,
   "currency":"GBP",
   "clientId":"3a63c0a6-0254-42cb-8c1b-15c246a52026"
   "transactionReference":"20180320-1E1QK9",
   "transactionDateTime":"2018-03-20T07:57:52",
   "senderName":null,
   "senderAddress":null,
   "senderBic":null,
   "senderIban":null,
   "senderInformation":null}]} 
Payment

POST /payments
POST /payments/validate
GET /payments
GET /payments/{id}
GET /payments/external/{id}
POST /payments/{id}/cancel
POST /payments/external/{id}/cancel
Create payment
POST /payments

Creates a payment from a currency account to a beneficiary account.

Request body

Object
currency
string required

Three letter currency code. Currency account must be active and supported.

amount
number required

Payment amount

paymentDate
string required

Payment date

Example:
2017-12-31
paymentType
string required
Enumeration:
standard
express
faster_payments
chaps
sepa
reasonCode
string required
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string required

If reasonCode is other then a text reason explanation is required

beneficiaryId
string required

Receiver beneficiary account id

paymentReference
string required

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

externalId
string

Client generated unique reference number

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

feeQuoteReference
string

Fee quote reference

Responses

200 OK
Body

The following fields are only populated if the currency account’s balance is insufficient and a pay in (deposit) is required to complete the payment. The payin fields are specifying the bank account that requires the deposit.

Fields
payInBankName
payInBankAccountHolderName
payInAccountNumber
payInBicSwift
payInIban
payInReference
Object
id
string

Payment id

currency
string

Payment currency

amount
number

Payment amount

paymentDate
string

Payment date

beneficiaryId
string

Beneficiary id that received the payment

paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
reason
string

Reason for payment

reasonCode
string
Enumeration:
personal
goods
staff
overheads
funds
income
other
paymentReference
string

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

paymentStatus
string

Payment status

Enumeration:
waiting_client_confirmation
pending
processing
released
completed
canceled
failed
externalId
string

Client generated unique reference number

payInBankName
string

Name of bank that expects the pay-in

payInBankAccountHolderName
string

Bank account holder name for the pay-in

payInAccountNumber
string

Bank account that expects the pay-in

payInBicSwift
string

Bic/Swift number for the pay-in account

payInIban
string

Iban for the pay-in account

payInReference
string

Pay-in reference number

onBehalfOf
string

If a main client is creating this payment transaction on behalf of a linked client, id of the linked client performing the payment is specified on this parameter

transactionReference
string

SettleGo system reference number in human readable format

creationDateTime
string

Date and time of request

clientId
string

Id of the client that performed the conversion

Example request
Example response

sample request to create a payment

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/payments" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
   "currency": "GBP",
   "amount": 358870,
   "paymentDate": "2019-07-26",
   "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
   "paymentType": "standard",
   "reason":"lorem ipsum",
   "reasonCode":"other",
   "paymentReference":"REFERENCE-A000BC",
   "feeQuoteReference": "91ca2c30-462f-4419-98b5-023e9f135da3"
}

sample response to create a payment

{
    "id": "2e36f60f-2ee7-413f-9cd1-bf2f59de9035",
    "clientId": "f5a4a5d2-05d1-4759-96c5-1f9ca792c7f7",
    "externalId": null,
    "currency": "GBP",
    "amount": 35910,
    "paymentDate": "2019-07-26",
    "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
    "paymentType": "standard",
    "reasonCode": "other",
    "reason": "lorem ipsum",
    "paymentReference": "REFERENCE-A000BC",
    "paymentStatus": "pending",
    "transactionReference": "20190704-VOLRXV",
    "totalFees": 98.72,
    "totalDebitAmount": 36008.72,
    "hasEnoughBalance": false,
    "feeCollectionType": "onsource",
    "creationDateTime": "2019-07-04T10:19:48.953",
    "payInBankName": "Clear Bank",
    "payInBankAccountHolderName": "eror",
    "payInAccountNumber": "00000017",
    "payInBicSwift": "CLRBGB22",
    "payInIban": "GB35CLRB04050900000017",
    "payInReference": null
}
Validate payment
POST /payments/validate

Validates a payment without creating a payment request. This endpoint uses the same request and response structure as create payment endpoint.

Request body

Object
currency
string required

Three letter currency code. Currency account must be active and supported.

Example:
GBP
amount
number required

Payment amount

Example:
300
paymentDate
string required
Example:
2017-12-31
beneficiaryId
string required

Receiver beneficiary account id

paymentType
string
Enumeration:
express
standard
faster_payments
chaps
sepa
reasonCode
string required
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string required

If reasonCode is other then a text reason explanation is required

paymentReference
string required

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
currency
string

Payment id

amount
string

Payment currency

paymentDate
string

Payment date

beneficiaryId
string

Beneficiary id that received the payment

paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
reasonCode
string
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string

Reason for payment

paymentReference
string

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

feeQuoteReference
string

Fee quote for payment creation

totalFees
string

Payment fee amount

totalDebitAmount
string

Payment amount + fee amount

hasEnoughBalance
string

Is balance enough flag

feeCollectionType
string
Enumeration:
invoice
onsource
parent_invoice
parent_onsource
Example Request
Example Response
 curl -X "POST" "https://sandbox-api.settlego.com/api/v1/payments/validate" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
   "currency": "GBP",
   "amount": 400.00,
   "paymentDate": "2019-07-26",
   "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
   "paymentType": "standard",
   "reason":"lorem ipsum",
   "reasonCode":"other",
   "paymentReference":"REFERENCE-A001BC"
}
{
    "currency": "GBP",
    "amount": 400,
    "paymentDate": "2019-07-26",
    "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
    "paymentType": "standard",
    "reasonCode": "other",
    "reason": "lorem ipsum",
    "paymentReference": "REFERENCE-A001BC",
    "feeQuoteReference": "d036ee7f-36c7-4e0b-9ee6-2e187aa35ee8",
    "totalFees": 98.73,
    "totalDebitAmount": 498.73,
    "hasEnoughBalance": true,
    "feeCollectionType": "onsource",
    "payInBankName": null,
    "payInBankAccountHolderName": null,
    "payInAccountNumber": null,
    "payInBicSwift": null,
    "payInIban": null,
    "payInReference": null
}
List payments
GET /payments

Lists payments for the authenticated SettleGo user.

Request parameters

Request uses the following URL parameters.

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
scope
string optional

Listing scope

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Request body

Following request parameters are optional.

Object
minCreationDate
string

Filter results by creation date from requested date onwards

Example:
2017-01-01
maxCreationDate
string

Filter results by creation date until requested date

Example:
2017-12-01
minPaymentDate
string

Filter results by payment date from requested date onwards

Example:
2017-01-01
maxPaymentDate
string

Filter results by payment date until requested date

Example:
2017-12-01
reference
string

Filter results by payment reference

currency
string

Filter by three digit currency code

minAmount
number

Filter results by minimum payment amount

Example:
10
maxAmount
number

Filter results by maximum payment amount

beneficiaryId
string

Filter by beneficiary id

paymentStatus
string
Enumeration:
waiting_client_confirmation
pending
processing
released
completed
canceled
failed
onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK

Successful response returns an array of the below response object.

Body
Object
id
string

Payment id

currency
string

Three letter currency code

amount
number

Payment amount

paymentDate
string

Date of payment

beneficiaryId
string

Beneficiary id that received the payment

paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
reasonCode
string
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string

Payment reason

paymentReference
string

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

paymentStatus
string

Payment status

Enumeration:
waiting_client_confirmation
pending
processing
released
completed
canceled
failed
externalId
string

Client generated unique reference number

transactionReference
string

SettleGo system reference number in human readable format

clientId
string

Id of the client that performed the payment

creationDateTime
string

Time and date when payment created

completionDateTime
string

Time and date when payment completed

Example request
Example response

sample request to list payments

curl "https://sandbox-api.settlego.com/api/v1/payments?pageSize=100&pageNumber=1" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list payments

{"pagination":{"totalEntryCount":1,"totalPageCount":1,"currentPage":1,
 "maximumPageSize":100,"currentPageSize":1,"previousPage":0,"nextPage":0},
 "paymentList":[
 {"id": "db08557a-3e97-42b4-994d-b0d2a5a8ceaa",
   "externalId": "testBankPayment132",
   "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
   "currency": "GBP",
   "amount": 1189,
   "paymentDate": "2018-03-21",
   "beneficiaryId": "e45d0182-a473-4dd7-892b-07692a522f91",
   "paymentType": "standard",
   "reasonCode": "other",
   "reason": "other",
   "paymentReference": "13378",
   "paymentStatus": "pending",
   "transactionReference": "20180509-G9RDJE",
   "creationDateTime":"2018-03-16T13:06:24.319",
   "completionDateTime":"2018-03-16T13:30:45.230"
 }]}
Get payment by id
GET /payments/{id}

Retrieves a payment by payment id.

Path variables

id
string required

Payment id

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Payment id

currency
string

Three letter currency code

amount
number

Payment amount

paymentDate
string

Date of payment

beneficiaryId
string

Beneficiary id that received the payment

paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
reasonCode
string
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string

Payment reason

paymentReference
string

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

paymentStatus
string

Payment status

Enumeration:
waiting_client_confirmation
pending
processing
released
completed
canceled
failed
externalId
string

Client generated unique reference number

transactionReference
string

SettleGo system reference number in human readable format

beneficiaryExternalId
string

Client generated unique reference number

beneficiaryName
string

Beneficiary name

beneficiaryType
string

retail or corporate

beneficiaryFirstName
string

Only required if type is retail

beneficiaryLastName
string

Only required if type is retail

beneficiaryBirthDate
string

Only required if type is retail

beneficiaryCompanyName
string

Only required if type is corporate, title of company

beneficiaryCountry
string

Beneficiary address country

beneficiaryState
string

Beneficiary address state

beneficiaryPostalCode
string

Beneficiary address postal code

beneficiaryCity
string

Beneficiary address city

beneficiaryAddressLine
string

Beneficiary address line

beneficiaryAccountNumber
string

Beneficiary account number

beneficiaryIban
string

Beneficiary account iban

beneficiaryBic
string

Beneficiary account bank identifier code

beneficiaryCurrency
string

Three letter currency code

beneficiaryBankAccountCountry
string

Beneficiary bank account country

Example:
GB
beneficiaryBankAccountHolderName
string

Beneficiary bank account holder name

beneficiaryPaymentTypeList
Array of string

one or two of standard, express, faster_payments, chaps, sepa

Example:
[
        "standard"
    ]
beneficiaryRoutingCodeList
Array
Example:
[
   {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
beneficiaryBankName
string

Beneficiary bank name

beneficiaryBankAddress
string

Beneficiary bank address

totalFees
number

Total fee

creationDateTime
string

Time and date when conversion created

completionDateTime
string

Time and date when conversion completed

Example request
Example response

sample request to get a payment by id

 curl "https://sandbox-api.settlego.com/api/v1/payments/d74df780-71d7-4b73-8f00-2750c2ab80ee" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2'

sample response to get a payment by id

{
    "id": "9265fbd2-b66f-4d5f-a0f7-71088a8cab9e",
    "externalId": null,
    "currency": "GBP",
    "amount": 35910,
    "paymentDate": "2019-07-26",
    "paymentType": "standard",
    "reasonCode": "other",
    "reason": "lorem ipsum",
    "paymentReference": "REFERENCE-A000BC",
    "paymentStatus": "completed",
    "transactionReference": "20190704-EPLZ19",
    "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
    "beneficiaryExternalId": "12345678-1234-5678-1234-567812349678",
    "beneficiaryName": "Mysterious Beneficiary",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "beneficiaryCompanyName": "Murder Mistery Business",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "beneficiaryAccountNumber": "12332143",
    "beneficiaryIban": "GB85CLRB04050900000281",
    "beneficiaryBic": "BUKBGB22",
    "beneficiaryCurrency": "GBP",
    "beneficiaryBankAccountCountry": "GB",
    "beneficiaryBankAccountHolderName": "Sherlock Holmes",
    "beneficiaryPaymentTypeList": [
        "standard"
    ],
    "beneficiaryRoutingCodeList": [
        {
            "key": "sort_code",
            "value": "123123"
        }
    ],
    "beneficiaryBankName": null,
    "beneficiaryBankAddress": null,
    "totalFees": 98.73,
    "creationDateTime": "2019-07-04T10:20:48.495",
    "completionDateTime": "2019-07-04T10:25:15.210",
}
Get payment by external id
GET /payments/external/{id}

Retrieves a payment by an external id.

Path variables

id
string required

External id (specified on payment creation)

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Payment id

currency
string

Three letter currency code

amount
number

Payment amount

paymentDate
string

Date of payment

beneficiaryId
string

Receiver beneficiary id

paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
reasonCode
string
Enumeration:
personal
goods
staff
overheads
funds
income
other
reason
string

Payment reason

paymentReference
string

End-to-end reference entered by the payer which will be received by the payee on the other end. It can be used for reconciliation purposes.

paymentStatus
string

Payment status

Enumeration:
waiting_client_confirmation
pending
processing
released
completed
canceled
failed
externalId
string

Client generated unique reference number

transactionReference
string

SettleGo system reference number in human readable format

beneficiaryExternalId
string

Client generated unique reference number

beneficiaryName
string

Beneficiary name

beneficiaryType
string

retail or corporate

beneficiaryFirstName
string

Only required if type is retail

beneficiaryLastName
string

Only required if type is retail

beneficiaryBirthDate
string

Only required if type is retail

beneficiaryCompanyName
string

Only required if type is corporate, title of company

beneficiaryCountry
string

Beneficiary address country

beneficiaryState
string

Beneficiary address state

beneficiaryPostalCode
string

Beneficiary address postal code

beneficiaryCity
string

Beneficiary address city

beneficiaryAddressLine
string

Beneficiary address line

beneficiaryAccountNumber
string

Beneficiary account number

beneficiaryIban
string

Beneficiary account iban

beneficiaryBic
string

Beneficiary account bank identifier code

beneficiaryCurrency
string

Three letter currency code

beneficiaryBankAccountCountry
string

Beneficiary bank account country

beneficiaryBankAccountHolderName
string

Beneficiary bank account holder name

beneficiaryPaymentTypeList
Array of string

one or two of standard, express, faster_payments, chaps, sepa

Example:
[
    "standard"
]
beneficiaryRoutingCodeList
Array
Example:
[
   {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
beneficiaryBankName
string

Beneficiary bank name

beneficiaryBankAddress
string

Beneficiary bank address

totalFees
string

Total fee

creationDateTime
string

Time and date when conversion created

completionDateTime
string

Time and date when conversion completed

Example response

sample response to get payment by external id

{
    "id": "9265fbd2-b66f-4d5f-a0f7-71088a8cab9e",
    "externalId": "12345678-1234-5678-1234-567812345678",
    "currency": "GBP",
    "amount": 35910,
    "paymentDate": "2019-07-26",
    "paymentType": "standard",
    "reasonCode": "other",
    "reason": "lorem ipsum",
    "paymentReference": "REFERENCE-A000BC",
    "paymentStatus": "completed",
    "transactionReference": "20190704-EPLZ19",
    "beneficiaryId": "f26aa97f-bee5-47c2-bf46-2daacf55fafb",
    "beneficiaryExternalId": "12345678-1234-5678-1234-567812349678",
    "beneficiaryName": "Mysterious Beneficiary",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "beneficiaryCompanyName": "Murder Mistery Business",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "beneficiaryAccountNumber": "12332143",
    "beneficiaryIban": "GB85CLRB04050900000281",
    "beneficiaryBic": "BUKBGB22",
    "beneficiaryCurrency": "GBP",
    "beneficiaryBankAccountCountry": "GB",
    "beneficiaryBankAccountHolderName": "Sherlock Holmes",
    "beneficiaryPaymentTypeList": [
        "standard"
    ],
    "beneficiaryRoutingCodeList": [
        {
            "key": "sort_code",
            "value": "123123"
        }
    ],
    "beneficiaryBankName": null,
    "beneficiaryBankAddress": null,
    "totalFees": 98.73,
    "creationDateTime": "2019-07-04T10:20:48.495",
    "completionDateTime": "2019-07-04T10:25:15.210",
}
Cancel payment by id
POST /payments/{id}/cancel

Cancels a payment request using the payment id.

Path variables

id
string required

Id of the payment that will be cancelled

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Example request

sample request to cancel payment by id

 curl -X "POST" "https://sandbox-api.settlego.com/api/v1/payments/d74df780-71d7-4b73-8f00-2750c2ab80ee/cancel" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'
Cancel payment by external id
POST /payments/external/{id}/cancel

Cancels the payment using the external id.

Path variables

id
string required

External id of the payment that will be cancelled. In the below curl example “testBankExt12” is used for external id.

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Example request

sample request to cancel request by external id

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/payments/external/testBankExt12/cancel" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'
Beneficiary

A beneficiary account is a bank account you use to transfer funds from your currency accounts.

POST /beneficiaries
POST /beneficiaries/validate
GET /beneficiaries
GET /beneficiaries/{id}
GET /beneficiaries/external/{id}
POST /beneficiaries/{id}
DELETE /beneficiaries/{id}
DELETE /beneficiaries/external/{id}
Create a beneficiary
POST /beneficiaries

Creates a new beneficiary account.

Information that is required for creating a beneficiary bank account depends on various variables. Country specific fields such as sort code for UK, routing number for US, BLZ for Germany are few examples of bank account variations. If you are not sure of your beneficiary bank details, refer to Beneficiary required details endpoint to properly format your ‘create a beneficiary’ request.

Request body

If beneficiaryType is retail, firstName and lastName are required. If beneficiaryType is corporate, title is required.

Object
name
string required

Beneficiary name

beneficiaryType
string required

Corporate or retail

beneficiaryFirstName
string

Required for retail

beneficiaryLastName
string

Required for retail

companyName
string

Required for corporate

beneficiaryCountry
string required

Two letter country code

Example:
GB
beneficiaryPostalCode
string required

Postal code

beneficiaryCity
string required

City

beneficiaryAddressLine
string required

Address line

accountNumber
string

8 digit bank account number

iban
string

Iban

Example:
GB85CLRB04050900000281
bic
string

Bank identifier code

Example:
BUKBGB22
currency
string required

Three letter bank currency code

Example:
GBP
bankAccountCountry
string required

Two letter bank country code

Example:
GB
bankAccountHolderName
string required

Bank account holder name

paymentTypeList
string required
Enumeration:
express
standard
faster_payments
chaps
sepa
routingCodeList
Array

Routing code list as key-value pairs

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
Enumeration:
aba
blz_code
branch_code
bsb_code
sort_code
ifs_code
clabe_code
ctn
value
string

Value of the routing code

bankName
string

Bank name

bankAddress
string

Bank address

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

externalId
string required

Client generatred unique reference number

beneficiaryState
string

State of country

Example:
WA
beneficiaryBirthDate
string

For retail beneficiary

Example:
2019-07-26

Responses

200 OK
Body
Object
id
string

Beneficiary id

externalId
string

Client generated unique reference number

name
string

Client specified beneficiary name or alias

beneficiaryType
string

Beneficiary type

beneficiaryFirstName
string

First name

beneficiaryLastName
string

Last name

companyName
string

Company name or title

beneficiaryCountry
string

Country

beneficiaryPostalCode
string

Postal code

beneficiaryState
string

State or province

beneficiaryCity
string

City

beneficiaryAddressLine
string

Address Line

AccountNumber
string

Account number

Iban
string

Account iban

Bic
string

Bank identifier code

Currency
string

Three letter currency code

bankAccountCountry
string

Bank country

bankAccountHolderName
string

Holder name on bank account

PaymentTypeList
string

Supported payment types

RoutingCodeList
Array

Routing code list

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
BankName
string

Bank name

BankAddress
string

Bank address

onBehalfOf
string

If a main client is creating this beneficiary on behalf of a linked client, id of the linked client creating the beneficiary is specified on this parameter

Example request
Example response

sample request to create a benecificary

   curl -X "POST" "https://sandbox-api.settlego.com/api/v1/beneficiaries" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "name": "Mysterious Beneficiary",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "companyName": "Murder Mistery Business",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "accountNumber": "12332143",
    "iban": "GB85CLRB04050900000281",
    "bic": "BUKBGB22",
    "currency": "GBP",
    "bankAccountCountry": "GB",
    "bankAccountHolderName": "Sherlock Holmes",
    "paymentTypeList": [
      "standard"
    ],
    "routingCodeList": [
      {
        "key": "sort_code",
        "value": "123123"
      }
    ],
    "bankName": "ABCD BANK",
    "bankAddress": "12345 Main Street",
    "externalId": "12345678-1234-5678-1234-567812345678"
}'

sample response to create a beneficiary

{
    "id": "506dfc7e-93bb-479f-98ca-9e64ebeaa330",
    "externalId": "12345678-1234-5678-1234-567812345678",
    "name": "Mysterious Beneficiary",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "companyName": "Murder Mistery Business",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "accountNumber": "12332143",
    "iban": "GB85CLRB04050900000281",
    "bic": "BUKBGB22",
    "currency": "GBP",
    "bankAccountCountry": "GB",
    "bankAccountHolderName": "Sherlock Holmes",
    "paymentTypeList": [
        "standard"
    ],
    "routingCodeList": [
        {
            "key": "sort_code",
            "value": "123123"
        }
    ],
    "bankName": "ABCD BANK",
    "bankAddress": "12345 Main Street"
}
Validate beneficiary
POST /beneficiaries/validate

Validates a beneficiary without creating a beneficiary account.

Request body

If beneficiaryType is retail, firstName and lastName are required. If beneficiaryType is corporate, title is required.

Object
name
string required

Beneficiary name

beneficiaryType
string required

Corporate or retail

beneficiaryFirstName
string

Required for retail

beneficiaryLastName
string

Required for retail

beneficiaryBirthDate
string

For retail beneficiary

Example:
2019-07-26
companyName
string

Required for corporate

beneficiaryCountry
string required

Two letter country code

Example:
GB
beneficiaryState
string

State of country

Example:
WA
beneficiaryPostalCode
string required

Postal code

beneficiaryCity
string required

City

beneficiaryAddressLine
string

Address line

accountNumber
string

8 digit bank account number

iban
string

Iban

Example:
GB85CLRB04050900000281
bic
string

Bank identifier code

Example:
BUKBGB22
currency
string required

Three letter bank currency code

Example:
GBP
bankAccountCountry
string required

Two letter bank country code

Example:
GB
bankAccountHolderName
string required

Bank account holder name

paymentTypeList
string required
Enumeration:
express
standard
faster_payments
chaps
sepa
routingCodeList
Array

Routing code list as key-value pairs

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
Enumeration:
aba
blz_code
branch_code
bsb_code
sort_code
ifs_code
clabe_code
ctn
value
string

Value of the routing code

bankName
string

Bank name

bankAddress
string

Bank address

Responses

200 OK
Body
Object
bankName
string

Bank name

bankAccountType
string

Bank Account Type

bankAddress
string

Bank Address

Example request
Example response

sample request to validate a beneficiary

 curl -X "POST" "https://sandbox-api.settlego.com/api/v1/beneficiaries/validate" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "name": "Mysterious Beneficiary",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "companyName": "Murder Mistery Business",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "accountNumber": "12332143",
    "iban": "GB85CLRB04050900000281",
    "bic": "BUKBGB22",
    "currency": "GBP",
    "bankAccountCountry": "GB",
    "bankAccountHolderName": "Sherlock Holmes",
    "paymentTypeList": [
      "standard"
    ],
    "routingCodeList": [
      {
        "key": "sort_code",
        "value": "123123"
      }
    ],
    "bankName": "ABCD BANK",
    "bankAddress": "12345 Main Street",
}'

sample response to validate a beneficiary

{
    "bankName": "ABCD BANK",
    "bankAccountType": null,
    "bankAddress": "TEST ADDRESS"
}
List beneficiaries
GET /beneficiaries

Lists beneficiary accounts for the authenticated SettleGo user.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Enumeration:
100
scope
string optional

Listing scope

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Request body

Following parameters are optional.

Object
beneficiaryName
string

Filter by beneficiary name

currency
string

Filter by three letter currency code

bankCountry
string

Filter by two letter country code

Example:
GB
paymentType
string
Enumeration:
standard
express
faster_payments
chaps
sepa
externalId
string

Client generated unique reference number

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK

Successful response will return an array of the below response object.

Body
Object
id
string

Beneficiary id

externalId
string

Client generated unique reference number

beneficiaryName
string

Name of beneficiary

bankCountryName
string

Beneficiary bank country name

currency
string

Three letter currency code

clientId
string

Id of the client that is associated with the beneficiary account

Example request
Example response

sample request to list beneficiaries

curl "https://sandbox-api.settlego.com/api/v1/beneficiaries?pageSize=100&pageNumber=1" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

sample response to list beneficiaries

{"pagination":{"totalEntryCount":1,"totalPageCount":1,"currentPage":1,
 "maximumPageSize":100,"currentPageSize":1,"previousPage":0,"nextPage":0},
 "beneficiaryList":[
 {"id":"e45d0182-a473-4dd7-892b-07692a522f91",
  "externalId":null,
  "beneficiaryName":"First test bene",
  "currency":"GBP",
  "clientId": "3a63c0a6-0254-42cb-8c1b-15c246a52023",
  "bankCountryName":"United Kingdom of Great Britain and Northern Ireland"}]}
Get beneficiary by id
GET /beneficiaries/{id}

Returns the beneficiary account by beneficiary id.

Path variables

id
string required

Beneficiary id

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Beneficiary id

name
string

Beneficiary name

currency
string

Three letter currency code

bankAccountCountry
string

Bank country code

externalId
string

Client generated unique reference number

beneficiaryType
string

retail or corporate

beneficiaryFirstName
string

Only required if type is retail

beneficiaryLastName
string

Only required if type is retail

companyName
string

Only required if type is corporate, title of company

beneficiaryCountry
string

Address country

beneficiaryState
string

State

beneficiaryPostalCode
string

Postal code

beneficiaryCity
string

City

beneficiaryAddressLine
string

Address line

accountNumber
string

Account number

iban
string

Account iban

bic
string

Account bank identifier code

bankAccountHolderName
string

Account holder name

paymentTypeList
Array of string

one or two of standard, express, faster_payments, chaps, sepa

Example:
[
        "standard"
    ]
routingCodeList
Array
Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
bankName
string

Bank name

bankAddress
string

Bank address

Example request
Example response

sample request to get beneficiary by id

curl "https://sandbox-api.settlego.com/api/v1/beneficiaries/e45d0182-a473-4dd7-892b-07692a522f91" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get beneficiary by id

   {"id":"e45d0182-a473-4dd7-892b-07692a522f91",
    "externalId": "1115748-1234-4444-1234-567812345680",
    "name": "Sandbox Tester New Beneficiary 2",
    "beneficiaryType": "corporate",
    "beneficiaryFirstName": null,
    "beneficiaryLastName": null,
    "companyName": "Tester Business N1",
    "beneficiaryCountry": "GB",
    "beneficiaryState": null,
    "beneficiaryPostalCode": "12345",
    "beneficiaryCity": "London",
    "beneficiaryAddressLine": "221B Baker Street",
    "accountNumber": "12312312",
    "iban": null,
    "bic": null,
    "currency": "GBP",
    "bankAccountCountry": "GB",
    "bankAccountHolderName": "Sherlock Holmes",
    "paymentTypeList": [
        "standard"
    ],
    "routingCodeList": [
        {
            "key": "sort_code",
            "value": "123123"
        }
    ],
    "bankName": "TEST BANK",
    "bankAddress": "TEST ADDRESS"}
Get beneficiary by external id
GET /beneficiaries/external/{id}

Returns the beneficiary by the external id. This endpoint uses the same request and response structure as get beneficiary by id endpoint.

Path variables

id
string required

External id

Update beneficiary
POST /beneficiaries/{id}

Updates the beneficiary specified by the beneficiary id.

Path variables

id
string required

Beneficiary id

Request body

Fields that are not specified on the update request will be set to null.

Object
bankAddress
string

Bank line address

companyName
string

Company title

paymentTypeList
string
Enumeration:
express
standard
faster_payments
chaps
sepa
bankAccountHolderName
string

Account holder name

iban
string

Bank account iban

currency
string

Three letter account currency code

beneficiaryLastName
string

Last name

beneficiaryFirstName
string

First name

name
string

Client specified beneficiary name

bankAccountCountry
string

Two letter bank account country

Example:
GB
routingCodeList
Array

Routing codes as key-value pairs

Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
Enumeration:
aba
blz_code
bsb_code
branch_code
sort_code
ifs_code
clabe_code
ctn
value
string

Value of the routing code

beneficiaryType
string

Corporate or retail

bic
string

Bank identifier code

accountNumber
string

Bank account number

bankName
string

Bank name

externalId
string

Client generated unique reference number

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

beneficiaryBirthDate
string

Birth date

beneficiaryCountry
string

Two letter country code

Example:
GB
beneficiaryState
string

State of country

beneficiaryCity
string

City name

Example:
London
beneficiaryPostalCode
string

Beneficiary postal code

beneficiaryAddressLine
string

Address line

Responses

200 OK
Body
Object
id
string

Beneficiary id

externalId
string

Client generated unique reference number

name
string

Client specified beneficiary name

beneficiaryType
string

Corporate or retail

beneficiaryFirstName
string

First name

beneficiaryLastName
string

Last name

companyName
string

Company title

beneficiaryCountry
string

Two letter beneficiary country code

beneficiaryState
string

Beneficiary state or province code

beneficiaryPostalCode
string

Beneficiary postal code

beneficiaryCity
string

Beneficiary city

beneficiaryAddressLine
string

Beneficiary address line

accountNumber
string

Account number

iban
string

Iban

bic
string

Bank identifier code

currency
string

Three letter currency code

bankAccountCountry
string

Two letter country code of bank account country

bankAccountHolderName
string

Account holder name

paymentTypeList
string
Enumeration:
express
standard
faster_payments
chaps
sepa
routingCodeList
Array
Example:
[
    {
        "key": "sort_code",
        "value": "123123"
    }
]
Object
key
string
value
string
bankName
string

Bank name

bankAddress
string

Bank address

onBehalfOf
string

If a main client is updating this beneficiary on behalf of a linked client, id of the linked client updating the beneficiary is specified on this parameter

Example request
Example response

sample request to update beneficiary

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/beneficiaries/e45d0182-a473-4dd7-892b-07692a522f91" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "bankAddress": "12345 Main Street",
  "beneficaryFirstName": null,
  "paymentTypeList": [
    "standard"
  ],
  "bankAccountHolderName": "Sherlock Holmes",
  "iban": "GB11000010015555999966",
  "currency": "GBP",
  "beneficiaryLastName": null,
  "beneficiaryCountry": "GB",
  "beneficiaryCity": "London",
  "name": "Sandbox Tester Updated",
  "bankAccountCountry": "GB",
  "companyName": "Tester Business DEP",
  "routingCodeList": [
    {
      "key": "sort_code",
      "value": "123123"
    }
  ],
  "beneficiaryType": "corporate",
  "bic": "ABCDGB11",
  "accountNumber": "12312312",
  "bankName": "ABCD BANK",
  "beneficiaryAddressLine": "221B Baker Street",
  "externalId": "12365748-1234-4444-1234-567812345678",
  "beneficiaryPostalCode": "12345"
}'

sample response to update beneficiary

{"id":"e45d0182-a473-4dd7-892b-07692a522f91",
 "externalId":null,
 "name":"Sandbox Tester Updated",
 "beneficiaryType":"corporate",
 "beneficiaryFirstName":null,
 "beneficiaryLastName":null,
 "companyName":"Tester Business DEP",
 "beneficiaryCountry":"GB",
 "beneficiaryState":null,
 "beneficiaryPostalCode":"12345",
 "beneficiaryCity":"London",
 "beneficiaryAddressLine":"221B Baker Street",
 "accountNumber":"12312312",
 "iban":"GB11000010015555999966",
 "bic":"ABCDGB11",
 "currency":"GBP",
 "bankAccountCountry":"GB",
 "bankAccountHolderName":"Sherlock Holmes",
 "paymentTypeList": [
      "standard"
    ],
 "routingCodeList":[{"key":"sort_code","value":"123123"}],
 "bankName":"TEST BANK",
 "bankAddress":"TEST ADDRESS"}
Delete beneficiary by id
DELETE /beneficiaries/{id}

Deletes the beneficiary account specified by the beneficiary id.

Path variables

id
string required

Id of the beneficiary that will be deleted

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Example request

sample request to delete a beneficiary by id

curl -X "DELETE" "https://sandbox-api.settlego.com/api/v1/beneficiaries/12345678-1234-5678-1234-567812345678" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'
Delete beneficiary by external id
DELETE /beneficiaries/external/{id}

Deletes the beneficiary account specified by the external id. This endpoint uses the same request and response structure as delete beneficiary by id but uses the externalId instead.

Path variables

id
string required

External id of the beneficiary to be deleted

Conversion
POST /conversions/quotes
POST /conversions
GET /conversions/
GET /conversions/{id}
GET /conversions/external/{id}
Create a conversion quote
POST /conversions/quotes

Create a conversion quote between two currencies. This quote can then be used to convert to the desired currency.

Request parameters

buyCurrency
string required

Three letter currency code of the currency to convert to

sellCurrency
string required

Three letter currency code of the currency to convert from

fixedSide
string required

buy or sell

amount
number required

The amount of the fixed buy or sell currency

conversionDate
string required

Date of conversion (i.e. 2017-12-31)

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Internal quote id

buyCurrency
string

Currency to buy. Currency account must be active and supported.

sellCurrency
string

Currency to sell. Currency account must be active and supported.

buyAmount
number

Amount to buy after conversion

sellAmount
number

Amount to sell

fixedSide
string

buy or sell

midMarketRate
string

Market rate

offeredRate
string

Offered rate

expirationDateTime
string

Time at which this conversion quote will expire

settlementCutOffDateTime
string

Time at which this quote needs to settle by

Example request
Example response

sample request to create a quote

curl -X "POST" "https://sandbox-api.settlego.com/api/v1/conversions/quotes" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: text/plain; charset=utf-8' \
     -d $'{
  "buyCurrency": "USD",
  "sellCurrency": "GBP",
  "amount": "10.00",
  "fixedSide": "buy",
  "conversionDate": "2018-03-16"
}'

sample response to create a quote

{"id":"08daf41a-7f3f-4a08-945e-e636d4c6e68b",
 "buyCurrency":"USD",
 "sellCurrency":"GBP",
 "buyAmount":10,
 "sellAmount":7.18,
 "fixedSide":"buy",
 "midMarketRate":0.717,
 "offeredRate":0.7177,
 "expirationDateTime":"2018-03-16T12:54:40.090",
 "settlementCutOffDateTime":"2018-03-16T15:00:00.000"}
Create a conversion
POST /conversions

Once a conversion quote is ready, a conversion operation can be initiated to convert between currencies.

For sandbox testing, create a conversion call should be performed within 20 seconds of receiving a conversion quote. After 20 seconds, conversion quote will expire.

Request body

Object
quoteId
string required

id returned from the create a quote call

termAgreement
string required

true or false

externalId
string required

Client generated unique reference number

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Conversion id

transactionReference
string

SettleGo system reference number in human readable format

sellAmount
string

Amount sold

buyAmount
string

Amount bought

sellCurrency
string

Currency sold

buyCurrency
string

Currency bought

offeredRate
string

Rate used to perform conversion

midMarketRate
string

Market conversion rate

settlementDateTime
string

Time and date of settlement

externalId
string

Client generated unique reference number

creationDateTime
string

Time and date when conversion created

clientId
string

Id of the client that performed the conversion

Example request
Example response

sample request to create a conversion

 curl -X "POST" "https://sandbox-api.settlego.com/api/v1/conversions" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "quoteId": "4d0234e7-e338-4726-903a-e8899f932507",
  "termAgreement": "true",
  "externalId": "123434"
}'

sample response to create a conversion

{
    "id": "d1b86be6-fb36-4a85-a448-a1b939153ec4",
    "externalId": "123434",
    "transactionReference": "20190702-9Z3079",
    "sellAmount": 660,
    "buyAmount": 89.03,
    "sellCurrency": "TRY",
    "buyCurrency": "EUR",
    "offeredRate": 0.134906458,
    "midMarketRate": 0.157025,
    "settlementDateTime": "2019-07-02T22:00:00.000",
    "creationDateTime": "2019-07-02T15:42:44.878",
    "clientId": "6bc804fc-dfb8-403f-a67d-3ba7f4abdd67"
}
List conversions
GET /conversions/

Returns a list of conversions initiated by the SettleGo user.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
scope
string optional

Listing scope

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Request body

Following request parameters are optional, they can be used to filter returned results.

Object
sellCurrency
string

Three letter currency code of the currency sold.

buyCurrency
string

Three letter currency code of the currency bought.

minSellAmount
number

Filter results by minimum amount sold.

maxSellAmount
string

Filter results by maximum amount sold.

minBuyAmount
number

Filter results by minimum amount bought.

maxBuyAmount
number

Filter results by maximum amount bought.

status
string
Enumeration:
pending_awaiting_funds
completed
canceled
minSettlementDate
string

Filter results by settlement date from requested date onwards.

maxSettlementDate
string

Filter results by settlement date until requested date.

minCreationDate
string

Filter results by creation date from requested date onwards.

maxCreationDate
string

Filter results by creation date until requested date.

transactionReference
string

Filter results by reference number

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Internal conversion id

transactionReference
string

SettleGo system reference number in human readable format

sellCurrency
string

Currency sold

buyCurrency
string

Currency bought

sellAmount
number

Currency amount sold

buyAmount
number

Currency amount bought

status
string

Conversion operation status

offeredRate
string

Rate applied to conversion

midMarketRate
string

Market conversion rate

creationDateTime
string

Time and date when conversion created

settlementDateTime
string

Time and date when conversion settled

completionDateTime
string

Time and date when conversion completed

externalId
string

Client generated unique reference number

clientId
string

Id of the client that performed the conversion

Example request
Example response

sample request to list conversions

curl "https://sandbox-api.settlego.com/api/v1/conversions?pageSize=100&pageNumber=1" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list conversions

{"pagination": {"totalEntryCount":2,"totalPageCount":1,"currentPage":1,
 "maximumPageSize":100,"currentPageSize":2,"previousPage":0,"nextPage":0},
"conversionList":[
  "conversionList": [
        {
            "id": "d1b86be6-fb36-4a85-a448-a1b939153ec4",
            "externalId": "1222",
            "clientId": "6bc804fc-dfb8-403f-a67d-3ba7f4abdd67",
            "transactionReference": "20190702-9Z3079",
            "sellCurrency": "TRY",
            "buyCurrency": "EUR",
            "sellAmount": 660,
            "buyAmount": 89.03,
            "status": "pending_awaiting_funds",
            "offeredRate": 0.134906458,
            "midMarketRate": 0.157025,
            "creationDateTime": "2019-07-02T15:42:44.878",
            "settlementDateTime": "2019-07-02T22:00:00.000",
            "completionDateTime": null
        },
        {
            "id": "13ee1a69-b003-4286-ac63-fc3b4ad30455",
            "externalId": "122",
            "clientId": "fca29305-f9bb-4fda-8203-0025eae54bb8",
            "transactionReference": "20190626-9LD4QE",
            "sellCurrency": "TRY",
            "buyCurrency": "EUR",
            "sellAmount": 660,
            "buyAmount": 86.57,
            "status": "pending_awaiting_funds",
            "offeredRate": 0.13117865,
            "midMarketRate": 0.152686,
            "creationDateTime": "2019-06-26T08:08:06.237",
            "settlementDateTime": "2019-06-28T22:00:00.000",
            "completionDateTime": null}]}
Get conversion by id
GET /conversions/{id}

Retrieves a conversion by conversion id.

Path variables

id
string required

Conversion id

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Conversion id

externalId
string

Client generated unique reference number

transactionReference
string

SettleGo system reference number in human readable format

sellCurrency
string

Sell currency

buyCurrency
string

Buy currency

buyAmount
number

Conversion amount

status
string

Conversion status

offeredRate
string

Conversion rate

midMarketRate
string

Market rate

creationDateTime
string

Date and time of request

settlementDateTime
string

Date and time of settlement

completionDateTime
string

Date and time of completion

Example request
Example response

sample request to get conversion by id

 curl "https://sandbox-api.settlego.com/api/v1/conversions/347ddc6a-ea71-400c-b623-f796c159975e" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get conversion by id

   "id":"347ddc6a-ea71-400c-b623-f796c159975e",
   "externalId":"123434",
   "transactionReference":"20180316-XVKOX9",
   "sellCurrency":"GBP",
   "buyCurrency":"USD",
   "sellAmount":7.18,
   "buyAmount":10.00,
   "status":"pending_awaiting_funds",
   "offeredRate":0.717700000,
   "midMarketRate":0.717000000,
   "creationDateTime":"2018-03-16T13:06:24.319",
   "settlementDateTime":"2018-03-16T15:00:00.000",
   "completionDateTime":null
Get conversion by external id
GET /conversions/external/{id}

Retrieves a conversion by external id. This endpoint uses the same request and response structure as get conversion by id but uses an externalId to retrieve the conversion.

Path variables

id
string required

External conversion id

Linked Client

SettleGo offers its clients the ability to create linked clients, which can be used either to onboard their own clients or segregate funds and transactions. To be able to use this feature, please Contact-Us so that you are configured as a main client.

Once a linked client is created, the main client may:

  • receive money to the linked client currency account
  • send money from the linked client currency account
  • convert money between linked client currency accounts
  • transfer funds to/from/between linked clients

For a main client to perform above operations on behalf of a linked client, id of the linked client must be set to “onBehalfOf” parameter of each request.

POST /clients
GET /clients
GET /clients/{id}
Create a linked client
POST /clients

Creates a linked client for the authenticated main client.

Request body

Object
legalEntityType
string
Enumeration:
corporate
retail
legalName
string

Legal company name (required if legal entity type is corporate)

registrationNumber
string

Company registration number

incorporationDate
string

Incorporation date (required if legal entity type is corporate)

Example:
2015-11-21
legalForm
string

required if legal entity type is corporate

Enumeration:
partnership
public_limited_company
sole_trader
limited_liability
joint_stock_company
charity
industrySectorType
string

required if legal entity type is corporate

Enumeration:
travel
transport
fintech
credit
forestry
mining
exports
textiles/clothing
sports
telecom
chemical
accountancy
aerospace
agriculture
automotive
construction
digital/media/advertising
ecommerce
education
electronics
energy
entertainment
fishing
food
healthcare
hospitality
humanresources
informationtechnology
internet
luxurygoods
manufacturing
marine
payroll
pharmaceutical
publishing
pulpandpaper
retail
steel
timber
tobacco
water
other
industrySectorValue
string

If industrySectorType is other then this freetext field is populated with the client sector type

contactName
string

Name of contact person (required if legal entity type is corporate)

email
string required

Email of contact person

primaryPhoneCountry
string required

Two letter primary phone country code

Example:
TR
primaryPhoneNumber
string required

Primary phone number

registeredAddressCountry
string

Two letter address country code (required if legal entity type is corporate)

Example:
TR
registeredAddressState
string

Address state

registeredAddressPostalCode
string

Address postal code (required if legal entity type is corporate)

Example:
34330
registeredAddressCity
string

Address city (required if legal entity type is corporate)

registeredAddressLine
string

Address line (required if legal entity type is corporate)

Example:
123 Main street
residentialAddressCountry
string

Two letter address country code (required if legal entity type is retail)

Example:
TR
residentialAddressState
string

Address state

residentialAddressPostalCode
string

Address postal code (required if legal entity type is retail)

Example:
34330
residentialAddressCity
string

Address city (required if legal entity type is retail)

residentialAddressLine
string

Address line (required if legal entity type is retail)

Example:
123 Main street
firstName
string

First name of retail client (required if legal entity type is retail)

middleName
string

Middle name of retail client

lastName
string

Last name of retail client (required if legal entity type is retail)

dateOfBirth
string

date of birth of retail client (required if legal entity type is retail)

nationality
string

Two letter country code (required if legal entity type is retail)

Example:
TR
identificationType
string

required if legal entity type is retail

Enumeration:
drivers_license
passport
national_id
others
identificationValue
string

Identification number

nickname
string

Optional field for differentiating clients wtih similar attributes

Responses

200 OK
Body
Object
legalEntityType
string

corporate or retail

legalName
string

Legal name for the client

registrationNumber
string

Company registration number

incorporationDate
string

Incorporation date for the client

legalForm
string
Enumeration:
partnership
public_limited_company
sole_trader
limited_liability
joint_stock_company
charity
industrySectorType
string
Enumeration:
travel
transport
fintech
credit
forestry
mining
exports
textiles/clothing
sports
telecom
other
chemical
accountancy
aerospace
agriculture
automotive
construction
digital/media/advertising
ecommerce
education
electronics
energy
entertainment
fishing
food
healthcare
hospitality
humanresources
informationtechnology
internet
luxurygoods
manufacturing
marine
payroll
pharmaceutical
publishing
pulpandpaper
retail
steel
timber
tobacco
water
industrySectorValue
string

User specified sector

contactName
string

Contact person name

email
string

Contact person email

primaryPhoneCountry
string

Two letter country code for the primary phone number

primaryPhoneNumber
string

Primary phone number

registeredAddressCountry
string

Address country

registeredAddressState
string

Address state

registeredAddressCity
string

Address city

registeredAddressPostalCode
string

Address postal code

registeredAddressLine
string

Address line

residentialAddressCountry
string

Address country

residentialAddressState
string

Address state

residentialAddressCity
string

Address city

residentialAddressPostalCode
string

Address postal code

residentialAddressLine
string

Address line

» firstName
string

First name of retail client

middleName
string

Middle name of retail client

lastName
string

Last name of retail client

dateOfBirth
string

date of birth of retail client

nationality
string

Two letter country code (only if legal entity type is retail)

Example:
TR
identificationType
string

if legal entity type is retail

Enumeration:
drivers_license
passport
national_id
others
identificationValue
string

Identification number

nickname
string

Optional field for differentiating clients wtih similar attributes

status
string

Status of client

Enumeration:
active
inactive
pending
internalId
number

Internal id of created client

Example request(Corporate Client)
Example response(Corporate Client)
Example request(Retail Client)
Example response(Retail Client)

sample request to create a linked corporate client

curl -X POST \
  https://sandbox-api.settlego.com/api/v1/clients \
  -H 'Content-Type: application/json' \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
  -d '{
	"legalEntityType": "corporate",
    "legalName": "TESTLAPTOP INC. 220",
    "registrationNumber": "1011010",
    "incorporationDate": "2015-11-21",
    "legalForm": "partnership",
    "industrySectorType": "fintech",
    "industrySectorValue": null,
    "contactName": "simulator",
    "email": "elif@efttesting.com",
    "primaryPhoneCountry": "TR" , 
    "primaryPhoneNumber":"2130",
    "registeredAddressCountry": "TR",
    "registeredAddressState": null,
    "registeredAddressCity": "İstanbul",
    "registeredAddressPostalCode": 12345,
    "registeredAddressLine": "Kayapalas Apt. Registered",
}'

sample response to create a linked corporate client

{
    "id": "589463b6-445b-4d92-a7b9-b10ec64ceb16",
    "internalId": 31696,
    "legalName": "TESTLAPTOP INC. 220",
    "email": "elif@efttesting.com",
    "status": "pending",
    "legalEntityType": "corporate",
    "contactName": "simulator",
    "registrationNumber": "1011010",
    "primaryPhoneCountry": "TR",
    "primaryPhoneNumber": "2130",
    "registeredAddressCountry": "TR",
    "registeredAddressState": null,
    "registeredAddressPostalCode": "12345",
    "registeredAddressCity": "İstanbul",
    "registeredAddressLine": "Kayapalas Apt. Registered",
    "residentialAddressCountry": null,
    "residentialAddressState": null,
    "residentialAddressPostalCode": null,
    "residentialAddressCity": null,
    "residentialAddressLine": null,
    "legalForm": "partnership",
    "industrySectorType": "fintech",
    "industrySectorValue": null,
    "incorporationDate": "2015-11-21",
    "firstName": null,
    "middleName": null,
    "lastName": null,
    "dateOfBirth": null,
    "nationality": null,
    "identificationType": null,
    "identificationValue": "1011010",
    "nickname": null
}

sample request to create a linked retail client

curl -X POST \
  https://sandbox-api.settlego.com/api/v1/clients \
  -H 'Content-Type: application/json' \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
  -d '{
    "legalEntityType": "retail",
    "firstName": "John",
    "middleName": "John",
    "lastName": "Doe",
    
    "dateOfBirth": "2000-11-21",
    "nationality": "TR",
    "identificationType": "passport",
    "identificationValue": null,
    
    "nickname": "nickname",
    "email": "john@codespace.com",
    
    "primaryPhoneCountry": "TR" , 
    "primaryPhoneNumber":"2129",
    
    "residentialAddressCountry": "TR",
    "residentialAddressState": null,
    "residentialAddressCity": "İstanbul",
    "residentialAddressPostalCode": 12345,
    "residentialAddressLine": "Kayapalas Apt. Registered"
}

sample response to create a linked retail client

{
    "id": "b75dfd32-ac22-49c7-befe-41d3ebec6abc",
    "internalId": 31695,
    "legalName": "John John Doe",
    "email": "john@codespace.com",
    "status": "pending",
    "legalEntityType": "retail",
    "contactName": null,
    "registrationNumber": null,
    "primaryPhoneCountry": "TR",
    "primaryPhoneNumber": "2129",
    "registeredAddressCountry": null,
    "registeredAddressState": null,
    "registeredAddressPostalCode": null,
    "registeredAddressCity": null,
    "registeredAddressLine": null,
    "residentialAddressCountry": "TR",
    "residentialAddressState": null,
    "residentialAddressPostalCode": "12345",
    "residentialAddressCity": "İstanbul",
    "residentialAddressLine": "Kayapalas Apt. Registered",
    "legalForm": null,
    "industrySectorType": null,
    "industrySectorValue": null,
    "incorporationDate": null,
    "firstName": "John",
    "middleName": "John",
    "lastName": "Doe",
    "dateOfBirth": "2000-11-21",
    "nationality": "TR",
    "identificationType": "passport",
    "identificationValue": null,
    "nickname": "nickname"
}
List linked clients
GET /clients

Lists the linked clients for the main client.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
status
string optional
Enumeration:
active
inactive
pending
nickname
string optional

Optional field for differentiating clients wtih similar attributes

internalId
number optional

Internal id of a client that is wanted to search

Responses

200 OK

Response will include an array of the below response object

Body
Object
id
string

Client id

legalName
string

Legal name for the client

email
string

Client email address

status
string

Client status

type
string

Client type

firstName
string

First name of retail client

middleName
string

Middle name of retail client

lastName
string

Last name of retail client

nickname
string

Optional field for differentiating clients wtih similar attributes

Example request
Example response

sample request to list linked clients

curl -X GET \
  'https://sandbox-api.settlego.com/api/v1/clients?pageSize=10&pageNumber=1' \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list linked clients

{
    "pagination": {
        "totalEntryCount": 3,
        "totalPageCount": 1,
        "currentPage": 1,
        "maximumPageSize": 10,
        "currentPageSize": 10,
        "previousPage": 0,
        "nextPage": 0
    },
    "clientList": [
        {
            "id": "f7f6662b-8818-4a6e-b85f-29452a027ec2",
            "legalName": "TESTMIC INC.",
            "email": "smithsonian@efttesting.com",
            "status": "pending",
            "type": "corporate",
            "firstName": null,
            "middleName": null,
            "lastName": null,
            "nickname": null
        },
        {
            "id": "f37a50cd-3efb-4712-a9b6-9deb4789b6b9",
            "legalName": "TESTPHONE INC.",
            "email": "james3@efttesting.com",
            "status": "pending",
            "type": "corporate",
            "firstName": null,
            "middleName": null,
            "lastName": null,
            "nickname": null
        },
        {
            "id": "26f38be5-4d43-4969-b300-2c1a55e2e4be",
            "legalName": "TESTDESKTOP INC. 30",
            "email": "john2@efttesting.com",
            "status": "pending",
            "type": "corporate",
            "firstName": null,
            "middleName": null,
            "lastName": null,
            "nickname": null
        }
    ]
}
Get linked client
GET /clients/{id}

Returns the linked client by the specified client id.

Path variables

id
string required

Linked client id

Responses

200 OK
Body
Object
id
string

Client id

legalName
string

Legal name for the client

email
string

Email address

status
string

Client status

legalEntityType
string

corporate or retail

contactName
string

Contact person name

registrationNumber
string

Company registration number

primaryPhoneCountry
string

Two letter phone country code

primaryPhoneNumber
string

Phone number

registeredAddressCountry
string

Address country

registeredAddressState
string

Address state

registeredAddressPostalCode
string

Address postal code

registeredAddressCity
string

Address city

registeredAddressLine
string

Address line

legalForm
string
Enumeration:
partnership
public_limited_company
sole_trader
limited_liability
joint_stock_company
charity
industrySectorType
string
Enumeration:
travel
transport
fintech
credit
forestry
mining
exports
textiles/clothing
sports
telecom
industrySectorValue
string

User specified sector value (if sector type is other)

incorporationDate
string

Date of incorpration

internalId
number

Internal id of the client

Example request
Example response

sample request to get a linked client

curl -X GET \
  https://sandbox-api.settlego.com/api/v1/clients/c1bb6e08-cb58-4509-b1e6-bfb77a1037fc \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get a linked client

{
    "id": "f84360f8-2621-4d8a-af05-c335cf923056",
    "internalId": 12040,
    "legalName": "LAPTOP INC. 2202993",
    "email": "berk@eftsoftware.com",
    "status": "active",
    "legalEntityType": "corporate",
    "contactName": "simulator",
    "registrationNumber": null,
    "primaryPhoneCountry": "TR",
    "primaryPhoneNumber": "2129",
    "registeredAddressCountry": "TR",
    "registeredAddressState": null,
    "registeredAddressPostalCode": "12345",
    "registeredAddressCity": "İstanbul",
    "registeredAddressLine": "Kayapalas Apt. Registered",
    "residentialAddressCountry": null,
    "residentialAddressState": null,
    "residentialAddressPostalCode": null,
    "residentialAddressCity": null,
    "residentialAddressLine": null,
    "legalForm": "partnership",
    "industrySectorType": "fintech",
    "industrySectorValue": null,
    "incorporationDate": "2017-11-21",
    "firstName": null,
    "middleName": null,
    "lastName": null,
    "dateOfBirth": null,
    "nationality": null,
    "identificationType": null,
    "identificationValue": null,
    "nickname": null
}
Transfer

Transfer endpoint is used to transfer funds between the linked client currency accounts.

POST /transfers
GET /transfers
GET /transfers/{id}
GET /transfers/external/{id}
Create a transfer
POST /transfers

Creates a transaction to transfer funds between linked clients. Only main clients have the permission to create a transfer transaction.

Request body

Object
amount
number required

Transaction amount

currency
string required

Three letter currency code. Currency account must be active and supported.

Example:
GBP
receiverClientId
string required

Client id that will receive the funds

externalId
string required

User specified external reference id

onBehalfOf
string

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

transferReference
string

User specified reference number

transferReason
string

User specified reason for fund transfer

Responses

200 OK
Body
Object
amount
string

Transaction amount

currency
string

Three letter currency code

id
string

Transfer transaction id

externalId
string

User specified external id

senderClientId
string

Client id that is transferring the funds

receiverClientId
string

Client id that is receiving the funds

transferReference
string

User specified reference number

transferReason
string

User specified reason for transfer

transactionReference
string

SettleGo system reference number in human readable format

transactionDateTime
string

Date and time of request

transferStatus
string
Enumeration:
pending
waiting_client_confirmation
completed
rejected
Example request
Example response

sample request to create a transfer transaction

curl -X POST \
  https://sandbox-api.settlego.com/api/v1/transfers \
  -H 'Content-Type: application/json' \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
  -d '{
  "currency": "GBP",
  "amount": 20,
  "receiverClientId": "c1bb6e08-cb58-4509-b1e6-bfb77a1037fc",
  "externalId": "REF14"
}'

sample response to create a transfer transaction

{
    "id": "f38251f0-7614-4df2-89ad-315a60bf1b3a",
    "externalId": "REF14",
    "senderClientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
    "receiverClientId": "c1bb6e08-cb58-4509-b1e6-bfb77a1037fc",
    "currency": "GBP",
    "amount": 20,
    "transferReference": null,
    "transferReason": null,
    "transactionDateTime": "2018-03-16T13:06:24.319",
    "transferStatus": "completed"
}
List transfers
GET /transfers

Lists the transfers performed by the authenticated main client.

Request parameters

pageNumber
string required
Example:
1
pageSize
string required
Example:
100
onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

scope
string optional

Listing scope

Enumeration:
all

list everything (owned by main client and linked clients)

main

owned by main client

linked

owned by the linked client specified on “onBehalfOf” parameter

Default:
all

Responses

200 OK

Response will be an array of the below response object

Body
Object
id
string

Transfer transaction id

externalId
string

User specified external id for the transaction

senderClientId
string

Client that is transferring the funds

receiverClientId
string

Client that is receiving the funds

currency
string

Three letter currency code

amount
string

Amount of transfer

transferReference
string

User specified reference number for the transfer

transferReason
string

User specified reason for transfer

transactionReference
string

SettleGo system reference number in human readable format

clientId
string

Id of the client that performed the transfer

transactionDateTime
string

Date and time of request

Example request
Example response

sample request to list transfers

curl -X GET \
  'https://sandbox-api.settlego.com/api/v1/transfers?pageSize=10&pageNumber=1' \
  -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list transfers

{
    "pagination": {
        "totalEntryCount": 1,
        "totalPageCount": 1,
        "currentPage": 1,
        "maximumPageSize": 10,
        "currentPageSize": 1,
        "previousPage": 0,
        "nextPage": 0
    },
    "transferList": [
        {
            "id": "09be83ea-bc49-4064-a50a-e5b933ebd26a",
            "externalId": null,
            "senderClientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
            "receiverClientId": "c1bb6e08-cb58-4509-b1e6-bfb77a1037fc",
            "currency": "GBP",
            "amount": 25,
            "transferReference": "20180410-5EPJ1E",
            "transactionReference": "20180510-XVKLZ9",
            "transferReason": null,
            "transactionDateTime": "2018-03-16T13:06:24.319"
        }
    ]
}
Get transfer by id
GET /transfers/{id}

Retrieves the transfer specified by the transfer id.

Path variables

id
string required

Transfer id

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Transfer transaction id

externalId
string

User specified external id for the transaction

senderClientId
string

Client id transferring the funds

receiverClientId
string

Client id receiving the funds

currency
string

Three letter currency code

amount
string

Transfer amount

transferReference
string

User specified reference number

transferReason
string

User specified reason for transfer

transactionReference
string

SettleGo system reference number in human readable format

transactionDateTime
string

Date and time of request

transferStatus
string
Enumeration:
pending
waiting_client_confirmation
completed
rejected
Example request
Example response

sample request to get a transfer by id

curl -X GET \
  https://sandbox-api.settlego.com/api/v1/transfers/09be83ea-bc49-4064-a50a-e5b933ebd26a \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get a transfer by id

{
    "id": "09be83ea-bc49-4064-a50a-e5b933ebd26a",
    "externalId": null,
    "senderClientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
    "receiverClientId": "c1bb6e08-cb58-4509-b1e6-bfb77a1037fc",
    "currency": "GBP",
    "amount": 25,
    "transferReference": null,
    "transactionReference": "20180410-5EPJ1E",
    "transferReason": null,
    "transactionDateTime": "2018-03-16T13:06:24.319"
}
Get transfer by external id
GET /transfers/external/{id}

Retrieves the transfer transaction by the specified external id.

Path variables

id
string required

External reference id for the transfer

Request parameters

onBehalfOf
string optional

Id of the linked client

DEPENDS ON: If a main client is performing this call on behalf of a linked client, id of the linked client must be set on this parameter.

Responses

200 OK
Body
Object
id
string

Transfer id

externalId
string

User-specified external id for the transfer

senderClientId
string

Client id transferring the funds

receiverClientId
string

Client id receiving the funds

currency
string

Three letter currency code

amount
string

Transfer amount

transferReference
string

User specified reference number

transferReason
string

User specified reason for transfer

transactionReference
string

SettleGo system reference number in human readable format

transactionDateTime
string

Date and time of request

transferStatus
string
Enumeration:
pending
waiting_client_confirmation
completed
rejected
Example request
Example response

sample request to get transfer by external id

curl -X GET \
  https://sandbox-api.settlego.com/api/v1/transfers/external/REF14 \
  -H 'X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get transfer by external id

{
    "id": "f38251f0-7614-4df2-89ad-315a60bf1b3a",
    "externalId": "REF14",
    "senderClientId": "3a63c0a6-0254-42cb-8c1b-15c246a52026",
    "receiverClientId": "c1bb6e08-cb58-4509-b1e6-bfb77a1037fc",
    "currency": "GBP",
    "amount": 20,
    "transferReference": null,
    "transactionReference": "20180410-5EPJ1E",
    "transferReason": null,
    "transactionDateTime": "2018-03-16T13:06:24.319",
    "transferStatus": "completed"
}
Reference Data
GET /reference/beneficiary-required-details
GET /reference/payment-dates
GET /reference/conversion-dates
Beneficiary required details
GET /reference/beneficiary-required-details

This endpoint provides the required bank information to create a beneficiary. Bank accounts of different countries require different bank account information to route money. This endpoint provides the required information for the country and bank specified in the request.

Request parameters

beneficiaryCountry
string optional

Beneficiary account country

currency
string required

Three letter currency code of the account

bankAccountCountry
string required

Bank country

beneficiaryType
string required

corporate or retail

Responses

200 OK
Body
Object
metadataList
Array
Object
paymentType
string

express or standard

addressRequired
boolean

true or false

accountNumber
string

account number regex

Example:
^\\d{8}$
iban
string

iban regex

Example:
^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{8}([a-zA-Z0-9]?){3,19}$|^[A-Z]{2}\\d{5}[0-9A-Z]{13}$
bic
string

bic regex

Example:
^[0-9A-Z]{8}$|^[0-9A-Z]{11}$
beneficiaryFirstName
string

required if account type is retail

Example:
^.{1,255}
beneficiaryLastName
string

required if account type is retail

Example:
^.{1,255}
beneficiaryBirthDate
string

required if account type is retail

companyName
string

required if account type is corporate

Example:
^.{1,255}
beneficiaryType
string

retail or corporate

routingCodeType
string
Example:
sort_code
routingCodeFormat
string
Example:
^\\d{6}$
bankName
string
bankAccountType
string
taxId
string
Example request
Example response

sample request to get required beneficiary details

curl "https://sandbox-api.settlego.com/api/v1/reference/beneficiary-required-details?beneficiaryCountry=GB&currency=GBP&bankAccountCountry=GB&beneficiaryType=corporate" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get required beneficiary details

{
    "metadataList": [
        {
            "paymentType": "standard",
            "addressRequired": true,
            "accountNumber": "^\\d{8}$",
            "iban": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{8}([a-zA-Z0-9]?){3,19}$|^[A-Z]{2}\\d{5}[0-9A-Z]{13}$",
            "bic": "^[0-9A-Z]{8}$|^[0-9A-Z]{11}$",
            "beneficiaryFirstName": null,
            "beneficiaryLastName": null,
            "beneficiaryBirthDate": null,
            "companyName": "^.{1,255}",
            "beneficiaryType": "corporate",
            "routingCodeType": "sort_code",
            "routingCodeFormat": "^\\d{6}$",
            "bankName": null,
            "bankAccountType": null,
            "taxId": null
        }
    ]
}
Currency codes
GET /reference/currencies
GET /reference/currencies/{code}
List currency codes
GET /reference/currencies

Returns the list of currencies supported by SettleGo.

Available currencies might be different in live environment. Please contact your account manager for details.

Responses

200 OK

Successful response will return an array of below response body.

Body
Object
code
string

Three letter currency code

name
string

Name of currency

decimalPlace
number

Number of decimal places used for currency

Example request
Example response

sample request to list supported currencies

curl "https://sandbox-api.settlego.com/api/v1/reference/currencies" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2VjQGNvZGVzcGFjZWRldi5jb20iLCJpbnN0YW5jZUlkIjoiMSIsInJvbGUiOlsiVVNSIl0sImNoYW5uZWwiOiJBUEkiLCJzZXNzaW9uSWQiOiJjOTMxZmE4ZC02Y2M5LTQwYjQtYWNkNy1mMTk5MzQzOWNjNjAiLCJsb2dpbkV2ZW50SWQiOiI4MDQiLCJ0eXBlIjoiMSIsImV4cCI6MTUyMDU3OTI3NywidXNlcklkIjoiMTE3IiwiaWF0IjoxNTIwNTc1Njc3fQ.2anMgUu8cc1g7a2zTF5Rt2nc5y7gYopwoZ0s-TysTrECLRSCw2MF1BzYJQ_kwx9rjvaM-7AorljspEzgHYrZPw' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

sample response to list supported currencies call

{"currencyList":
[{"code":"GBP","name":"British Pound","decimalPlace":2},
 {"code":"USD","name":"United States Dollar","decimalPlace":2},
 {"code":"EUR","name":"Euro","decimalPlace":2},
 {"code":"JPY","name":"Japanese Yen","decimalPlace":0},
 {"code":"CAD","name":"Canadian Dollar","decimalPlace":2},
 {"code":"AUD","name":"Australian Dollar","decimalPlace":2},
 {"code":"NZD","name":"New Zealand Dollar","decimalPlace":2},
 {"code":"HKD","name":"Hong Kong Dollar","decimalPlace":2},
 {"code":"SGD","name":"Singapore Dollar","decimalPlace":2},
 {"code":"PLN","name":"Polish Zloty","decimalPlace":2},
 {"code":"NOK","name":"Norwegian Krone","decimalPlace":2},
 {"code":"SEK","name":"Swedish Krona","decimalPlace":2},
 {"code":"DKK","name":"Danish Krone","decimalPlace":2},
 {"code":"CHF","name":"Swiss Franc","decimalPlace":2},
 {"code":"ZAR","name":"South African Rand","decimalPlace":2},
 {"code":"BGN","name":"Bulgarian Lev","decimalPlace":2},
 {"code":"CZK","name":"Czech Koruna","decimalPlace":2},
 {"code":"AED","name":"Emirati Dirham","decimalPlace":2},
 {"code":"HUF","name":"Hungarian Forint","decimalPlace":2},
 {"code":"ILS","name":"Israeli Shekel","decimalPlace":2},
 {"code":"MXN","name":"Mexican Peso","decimalPlace":2},
 {"code":"QAR","name":"Qatari Rial","decimalPlace":2},
 {"code":"RON","name":"Romanian New Leu","decimalPlace":2},
 {"code":"SAR","name":"Saudi Riyal","decimalPlace":2},
 {"code":"THB","name":"Thai Baht","decimalPlace":2},
 {"code":"TRY","name":"Turkish Lira","decimalPlace":2},
 {"code":"INR","name":"Indian Rupee","decimalPlace":2}]}
Get currency
GET /reference/currencies/{code}

Retrieves a currency by the specified currency code.

Path variables

code
string required

Responses

200 OK

Successful response will return an array the below response body.

Body
Object
code
string

Three letter currency code

name
string

Currency name

decimalPlace
number

Number of decimal places used for currency

Example request
Example response

sample request to get a currency

curl "https://sandbox-api.settlego.com/api/v1/reference/currencies/GBP" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get a currency

{"currencyList":[
 {"code":"GBP","name":"British Pound","decimalPlace":2}]}
Country codes
GET /reference/countries
GET /reference/countries/{alpha2Code}
GET /reference/countries/{alpha2Code}/states
GET /reference/countries/{alpha2Code}/states/{code}
List country codes
GET /reference/countries

Returns a list of supported countries.

Responses

200 OK

Successful response will return an array of below response body.

Body
Object
alpha2Code
string

Two letter alpha country code

alpha3Code
string

Three letter alpha country code

numericCode
number

Three digit numeric country code

dialInCode
number

Country dial in code

name
string

Country name

Example request
Example response

sample request to list supported countries

curl "https://sandbox-api.settlego.com/api/v1/reference/countries" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list supported countries

{"countryList":
[{"alpha2Code":"DK","alpha3Code":"DNK","numericCode":"208","dialInCode":"45","name":"Denmark"},
{"alpha2Code":"BM","alpha3Code":"BMU","numericCode":"060","dialInCode":"1441","name":"Bermuda"},
{"alpha2Code":"BO","alpha3Code":"BOL","numericCode":"068","dialInCode":"591","name":"Bolivia (Plurinational State of)"},
{"alpha2Code":"DO","alpha3Code":"DOM","numericCode":"214","dialInCode":"1809","name":"Dominican Republic"},
{"alpha2Code":"BW","alpha3Code":"BWA","numericCode":"072","dialInCode":"267","name":"Botswana"},
{"alpha2Code":"BV","alpha3Code":"BVT","numericCode":"074","dialInCode":"47","name":"Bouvet Island"},
{"alpha2Code":"EG","alpha3Code":"EGY","numericCode":"818","dialInCode":"20","name":"Egypt"},
{"alpha2Code":"IO","alpha3Code":"IOT","numericCode":"086","dialInCode":"246","name":"British Indian Ocean Territory"},
{"alpha2Code":"EE","alpha3Code":"EST","numericCode":"233","dialInCode":"372","name":"Estonia"},
{"alpha2Code":"BN","alpha3Code":"BRN","numericCode":"096","dialInCode":"673","name":"Brunei Darussalam"},
{"alpha2Code":"FO","alpha3Code":"FRO","numericCode":"234","dialInCode":"298","name":"Faeroe Islands"},
{"alpha2Code":"FI","alpha3Code":"FIN","numericCode":"246","dialInCode":"358","name":"Finland"},
{"alpha2Code":"FR","alpha3Code":"FRA","numericCode":"250","dialInCode":"33","name":"France"},
{"alpha2Code":"BG","alpha3Code":"BGR","numericCode":"100","dialInCode":"359","name":"Bulgaria"},
{"alpha2Code":"BF","alpha3Code":"BFA","numericCode":"854","dialInCode":"226","name":"Burkina Faso"},
{"alpha2Code":"UA","alpha3Code":"UKR","numericCode":"804","dialInCode":"380","name":"Ukraine"},
{"alpha2Code":"AE","alpha3Code":"ARE","numericCode":"784","dialInCode":"971","name":"United Arab Emirates"}]}
Get country
GET /reference/countries/{alpha2Code}

Returns the country by the specified alpha code.

Path variables

alpha2Code
string required

Two letter country code

Responses

200 OK
Body
Object
alpha2Code
string

Alpha 2 code of the country

Example:
US
alpha3Code
string

Alpha 3 code of the country

Example:
USA
numericCode
string

Numeric code of the country

Example:
840
dialInCode
string

Dial in code of the country

Example:
1
name
string

Name of country

Example:
United States of America
Example request
Example response

sample request to get a country

curl "https://sandbox-api.settlego.com/api/v1/reference/countries/US" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get a country

{
    "alpha2Code": "US",
    "alpha3Code": "USA",
    "numericCode": "840",
    "dialInCode": "1",
    "name": "United States of America"
}
List state & province codes
GET /reference/countries/{alpha2Code}/states

Returns the list of states or provinces for the specified country.

Path variables

alpha2Code
string required

Two letter country code

Responses

200 OK
Body
Object
code
string

State code

name
string

Name of state

countryAlpha2Code
string

Two letter country code

Example request
Example response

sample request to list states

curl "https://sandbox-api.settlego.com/api/v1/reference/countries/US/states" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to list states

{"stateList":[
 {"code":"US","name":"United States of America", "countryAlpha2Code":"US"},
 {"code":"AL","name":"Alabama","countryAlpha2Code":"US"},
 {"code":"AK","name":"Alaska","countryAlpha2Code":"US"},
 {"code":"AZ","name":"Arizona","countryAlpha2Code":"US"},
 {"code":"AR","name":"Arkansas","countryAlpha2Code":"US"},
 {"code":"CA","name":"California","countryAlpha2Code":"US"},
 {"code":"CO","name":"Colorado","countryAlpha2Code":"US"},
 {"code":"CT","name":"Connecticut","countryAlpha2Code":"US"},
 {"code":"DE","name":"Delaware","countryAlpha2Code":"US"},
 {"code":"DC","name":"District of Columbia","countryAlpha2Code":"US"},
 {"code":"FL","name":"Florida","countryAlpha2Code":"US"},
 {"code":"GA","name":"Georgia","countryAlpha2Code":"US"},
 {"code":"HI","name":"Hawaii","countryAlpha2Code":"US"},
 {"code":"ID","name":"Idaho","countryAlpha2Code":"US"},
 {"code":"IL","name":"Illinois","countryAlpha2Code":"US"},
 {"code":"IN","name":"Indiana","countryAlpha2Code":"US"},
 {"code":"IA","name":"Iowa","countryAlpha2Code":"US"},
 {"code":"KS","name":"Kansas","countryAlpha2Code":"US"},
 {"code":"KY","name":"Kentucky","countryAlpha2Code":"US"},
 {"code":"LA","name":"Louisiana","countryAlpha2Code":"US"},
 {"code":"ME","name":"Maine","countryAlpha2Code":"US"},
 {"code":"MD","name":"Maryland","countryAlpha2Code":"US"},
 {"code":"MA","name":"Massachusetts","countryAlpha2Code":"US"},
 {"code":"MI","name":"Michigan","countryAlpha2Code":"US"},
 {"code":"MN","name":"Minnesota","countryAlpha2Code":"US"},
 {"code":"MS","name":"Mississippi","countryAlpha2Code":"US"},
 {"code":"MO","name":"Missouri","countryAlpha2Code":"US"},
 {"code":"MT","name":"Montana","countryAlpha2Code":"US"},
 {"code":"NE","name":"Nebraska","countryAlpha2Code":"US"},
 {"code":"NV","name":"Nevada","countryAlpha2Code":"US"},
 {"code":"NH","name":"New Hampshire","countryAlpha2Code":"US"},
 {"code":"NJ","name":"New Jersey","countryAlpha2Code":"US"},
 {"code":"NM","name":"New Mexico","countryAlpha2Code":"US"},
 {"code":"NY","name":"New York","countryAlpha2Code":"US"},
 {"code":"NC","name":"North Carolina","countryAlpha2Code":"US"},
 {"code":"ND","name":" North Dakota","countryAlpha2Code":"US"},
 {"code":"OH","name":"Ohio","countryAlpha2Code":"US"},
 {"code":"OK","name":"Oklahoma","countryAlpha2Code":"US"},
 {"code":"OR","name":"Oregon","countryAlpha2Code":"US"},
 {"code":"PA","name":"Pennsylvania","countryAlpha2Code":"US"},
 {"code":"RI","name":"Rhode Island","countryAlpha2Code":"US"},
 {"code":"SC","name":"South Carolina","countryAlpha2Code":"US"},
 {"code":"SD","name":"South Dakota","countryAlpha2Code":"US"},
 {"code":"TN","name":"Tennessee","countryAlpha2Code":"US"},
 {"code":"TX","name":"Texas","countryAlpha2Code":"US"},
 {"code":"UT","name":"Utah","countryAlpha2Code":"US"},
 {"code":"VT","name":"Vermont","countryAlpha2Code":"US"},
 {"code":"VA","name":"Virginia","countryAlpha2Code":"US"},
 {"code":"WA","name":"Washington","countryAlpha2Code":"US"},
 {"code":"WV","name":"West Virginia","countryAlpha2Code":"US"},
 {"code":"WI","name":"Wisconsin","countryAlpha2Code":"US"},
 {"code":"WY","name":"Wyoming","countryAlpha2Code":"US"},
 {"code":"AS","name":"American Samoa","countryAlpha2Code":"US"},
 {"code":"GU","name":"Guam","countryAlpha2Code":"US"},
 {"code":"MP","name":"Northern Mariana Islands","countryAlpha2Code":"US"},
 {"code":"PR","name":"Puerto Rico","countryAlpha2Code":"US"},
 {"code":"VI","name":"U.S. Virgin Islands","countryAlpha2Code":"US"},
 {"code":"UM","name":"U.S. Minor Outlying Islands","countryAlpha2Code":"US"},
 {"code":"AA","name":"U.S. Armed Forces – Americas","countryAlpha2Code":"US"},
 {"code":"AE","name":"U.S. Armed Forces – Europe","countryAlpha2Code":"US"},
 {"code":"AP","name":"U.S. Armed Forces – Pacific","countryAlpha2Code":"US"},
 {"code":"CM","name":"Northern Mariana Islands","countryAlpha2Code":"US"},
 {"code":"NB","name":"Nebraska","countryAlpha2Code":"US"}]}
Get state or province
GET /reference/countries/{alpha2Code}/states/{code}

Path variables

alpha2Code
string required
code
string required

Responses

200 OK
Body
Object
code
string

Two letter country code

name
string

Name of state or province

countryAlpha2Code
string

Two letter country code

Example request
Example response

sample request to get a state or province

curl "https://sandbox-api.settlego.com/api/v1/reference/countries/US/states/MD" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get a state or province

{"code":"MD","name":"Maryland","countryAlpha2Code":"US"}
List payment dates
GET /reference/payment-dates

Returns the first available payment date along with a list of dates when payments cannot be made (i.e. bank holidays).

Request parameters

currency
string required

Three letter currency code

Responses

200 OK
Body
Object
firstAvailablePaymentDate
string

First day that the payment can go through

Example:
2018-03-19
unavailablePaymentDateList
Array

List of offline days when payments cannot go through

string
string
Example request
Example response

sample request to get payment dates

curl "https://sandbox-api.settlego.com/api/v1/reference/payment-dates?currency=GBP" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'
{
    "firstAvailablePaymentDate": "2019-07-08",
    "unavailablePaymentDateList": [
        {
            "date": "2019-07-05",
            "description": "Past Cutoff: Next available trading date is {}"
        },
        {
            "date": "2019-07-06",
            "description": "No trading on Saturday"
        },
        {
            "date": "2019-07-07",
            "description": "No trading on Sunday"
        },
        {
            "date": "2019-07-13",
            "description": "No trading on Saturday"
        },
        {
            "date": "2019-07-14",
            "description": "No trading on Sunday"
        }
    ]
}
List conversion dates
GET /reference/conversion-dates

Returns the first available conversion date along with a list of dates when currency conversions cannot be completed (i.e. bank holidays).

Request parameters

currencyPair
string required

Three letter currency code pair to convert

Example:
GBPUSD

Responses

200 OK
Body
Object
firstAvailableConversionDate
string
mandatoryConversionDate
string
unavailableConversionDateList
Array

Dates when conversions cannot go through

string
string
Example request
Example response

sample request to get conversion dates

curl "https://sandbox-api.settlego.com/api/v1/reference/conversion-dates?currencyPair=GBPUSD" \
     -H 'x-auth-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbWlyLnl1cmRhZ2V'

sample response to get conversion dates

{"firstAvailableConversionDate":"2018-03-20",
 "mandatoryConversionDate":"2018-03-20",
 "unavailableConversionDateList":[
 {"date":"2018-03-19","description":"Past Cutoff: Next available trading date is 2018-03-20"},
 {"date":"2018-03-24","description":"No trading on Saturday"},
 {"date":"2018-03-25","description":"No trading on Sunday"},
 {"date":"2018-03-30","description":"Public Holiday"},
 {"date":"2018-03-31","description":"No trading on Saturday"},
 {"date":"2018-04-01","description":"No trading on Sunday"}]}
Webhook

Webhooks are HTTP callbacks that receive notification messages for events. Webhooks allow to notify client side when an event has occurred in the platform, so the client can take the corresponding actions without making any polling request. They are also called as Reverse API.

Integration Steps
1-Configuring Webhook Listener

A webhook listener is a server that listens at a specific URL for incoming HTTP POST notification messages that are triggered when events occur. You can create and configure one listener for all webhook events or separate listeners specific to each event. After you configure a listener, note the URL for the listener to subscribe related webhook type.

2-Verifying Webhook Notifcation Request

SettleGo signs each webhook message that it delivers to your webhook listener. You must verify DigitalSignature header with SettleGo public key and request body. The public key can be downloaded from the webhook configuration screen. You are able to verify that it is SettleGo who sent the webhook message by implementing these steps.

3-Signing Webhook Notifcation Response

SettleGo sends nonce value inside of the webhook message body to differentiate repeated requests having the same reference values. This nonce value also using as another verification mechanism and DigitalSignature value changer for repeated webhook calls. Your response to the webhook message request must contain that nonce value. Also, you have to use the body containing that nonce value at DigitalSignature generation as explained below.

Webhook Message Response Creation Steps;

  1. Take the Nonce number from the Webhook Request
  2. Place the Nonce into the body of the response, for example “{“nonce”: <value>}”.
  3. Hash the response body, using SHA 256.
  4. Sign the hash with your Private Key.
  5. Attach the signed hash as Base64 encoded in the DigitalSignature Response Header.
4-Uploading Your Public Key

You must upload your public key as a csr file from the webhook configuration screen before subscribing for any webhook type. By using your public key, response object’s nonce value and DigitalSignature header SettleGo can verify the response is really coming from you.

5-Subscribing to Webhook Events

You can subscribe your webhook listener/listeners to webhook configuration events from webhook configurations screen.

6-Testing your Integration

In order to test your integration end to end, you must first subscribe for an event called Test Event. This event is just for testing the all integration process and can be easily triggered via the webhook configuration screen.

Webhook Response Object

Generic response object for all webhook notifications.

Object
webhookType
string

type of webhook

Example:
WHTEST
webhookReference
string

unique reference for each notification

Example:
9a0474e0-d578-4335-953f-cbe0d465f25b
nonce
string

random digits to differentiate calls

Example:
732448
payload
Object

Payload object that changes by webhook type

message
string
Example:
Just for test
clientId
string
Example:
b19f0724-dc79-4f2c-9b39-6c5972defad6
Example 1
{
    "webhookType": "WHTEST",
    "webhookReference": "9a0474e0-d578-4335-953f-cbe0d465f25b",
    "nonce": "732448",
    "payload": {
        "message": "Just for test",
        "clientId": "b19f0724-dc79-4f2c-9b39-6c5972defad6"
    }
}
Webhook Types

Types of webhooks supported by our sytem.

Test Event

Event type to test integration from end to end. Representative code is WHTEST.

Test Event Payload

Payload object for Webhook Test Event.

Object
message
string
Example:
Just for test
clientId
string
Example:
fca29305-f9bb-4fda-8203-0025eae54bb8
Example 1
{
        "message": "Just for test",
        "clientId": "fca29305-f9bb-4fda-8203-0025eae54bb8"
}
Currency Account Created

Event that notifies after currency account creation. Representative code is ACCCRE.

Currency Account Payload

Payload object for Currency Account Created Event.

Object
status
string
Example:
active
balance
string
Example:
0.00
clientId
string
Example:
fca29305-f9bb-4fda-8203-0025eae54bb8
currency
string
Example:
HRK
Example 1
{
    "status": "active",
    "balance": "0.00",
    "clientId": "fca29305-f9bb-4fda-8203-0025eae54bb8",
    "currency": "HRK"
}
Currency Account Status Update

Event that triggers after currency account status updates. Representative code is ACCSUP.

Currency Account Payload

Payload object for Currency Account Status Update Event.

Object
status
string
Example:
inactive
balance
string
Example:
0.00
clientId
string
Example:
6bc804fc-dfb8-403f-a67d-3ba7f4abdd67
currency
string
Example:
USD
Example 1
{
    "status": "inactive",
    "balance": "0.00",
    "clientId": "6bc804fc-dfb8-403f-a67d-3ba7f4abdd67",
    "currency": "USD"
}
Client Created

Event that notifies after client creation. Representative code is CLICRE.

Client Payload

Payload object for Client Created Event.

Object
id
string
legalName
string
email
string
status
string
legalEntityType
string
contactName
string
registrationNumber
string
primaryPhoneCountry
string
primaryPhoneNumber
string
registeredAddressCountry
string
registeredAddressState
string
registeredAddressPostalCode
string
registeredAddressCity
string
registeredAddressLine
string
residentialAddressCountry
string
residentialAddressState
string
residentialAddressPostalCode
string
residentialAddressCity
string
residentialAddressLine
string
legalForm
string
industrySectorType
string
industrySectorValue
string
incorporationDate
string
firstName
string
middleName
string
lastName
string
dateOfBirth
string
nationality
string
identificationType
string
identificationValue
string
nickname
string
Example 1
{
  "id": "2db2cd2f-e1ec-4715-84ac-fab923d88538",
  "email": "web@com.com",
  "status": "active",
  "lastName": null,
  "nickname": "",
  "firstName": null,
  "legalForm": "public_limited_company",
  "legalName": "wep",
  "middleName": null,
  "contactName": "web@com.com",
  "dateOfBirth": null,
  "nationality": null,
  "legalEntityType": "corporate",
  "incorporationDate": "2019-05-05",
  "identificationType": null,
  "industrySectorType": "chemical",
  "primaryPhoneNumber": "123123",
  "registrationNumber": "",
  "identificationValue": "",
  "industrySectorValue": "",
  "primaryPhoneCountry": "AL",
  "registeredAddressCity": "İstanbul",
  "registeredAddressLine": "Mecidiyeköy",
  "registeredAddressState": null,
  "residentialAddressCity": null,
  "residentialAddressLine": null,
  "residentialAddressState": null,
  "registeredAddressCountry": "FO",
  "residentialAddressCountry": null,
  "registeredAddressPostalCode": "324324",
  "residentialAddressPostalCode": null
}
Client Status Update

Event that notifies after client status updates. Representative code is CLISUP.

Client Payload

Payload object for Client Status Update Event.

Object
id
string
legalName
string
email
string
status
string
legalEntityType
string
contactName
string
registrationNumber
string
primaryPhoneCountry
string
primaryPhoneNumber
string
registeredAddressCountry
string
registeredAddressState
string
registeredAddressPostalCode
string
registeredAddressCity
string
registeredAddressLine
string
residentialAddressCountry
string
residentialAddressState
string
residentialAddressPostalCode
string
residentialAddressCity
string
residentialAddressLine
string
legalForm
string
industrySectorType
string
industrySectorValue
string
incorporationDate
string
firstName
string
middleName
string
lastName
string
dateOfBirth
string
nationality
string
identificationType
string
identificationValue
string
nickname
string
Example 1
{
  "id": "2db2cd2f-e1ec-4715-84ac-fab923d88538",
  "email": "web@com.com",
  "status": "active",
  "lastName": null,
  "nickname": "",
  "firstName": null,
  "legalForm": "public_limited_company",
  "legalName": "wep",
  "middleName": null,
  "contactName": "web@com.com",
  "dateOfBirth": null,
  "nationality": null,
  "legalEntityType": "corporate",
  "incorporationDate": "2019-05-05",
  "identificationType": null,
  "industrySectorType": "chemical",
  "primaryPhoneNumber": "123123",
  "registrationNumber": "",
  "identificationValue": "",
  "industrySectorValue": "",
  "primaryPhoneCountry": "AL",
  "registeredAddressCity": "İstanbul",
  "registeredAddressLine": "Mecidiyeköy",
  "registeredAddressState": null,
  "residentialAddressCity": null,
  "residentialAddressLine": null,
  "residentialAddressState": null,
  "registeredAddressCountry": "FO",
  "residentialAddressCountry": null,
  "registeredAddressPostalCode": "324324",
  "residentialAddressPostalCode": null
}
Pay In Status Update

Event that notifies after pay in transaction status updates. Representative code is PAISUP.

Pay In Payload

Payload object for Pay In Status Update Event.

Object
id
string
status
string
clientId
string
amount
string
currency
string
transactionReference
string
transactionDateTime
string
senderName
string
senderAddress
string
senderBic
string
senderIban
string
senderInformation
string
Example 1
{
  "id": "bbabf8e6-475f-469c-b440-e859e2551ed5",
  "status": "Completed",
  "amount": 1000,
  "clientId": "f3580edc-2ceb-4b54-9ef0-a8059fd302b9",
  "currency": "USD",
  "senderBic": null,
  "senderIban": null,
  "senderName": null,
  "senderAddress": null,
  "senderInformation": null,
  "transactionDateTime": "2019-05-03T11:30:12.941",
  "transactionReference": "20190503-9L3KDV"
}
Transfer Status Update

Event that notifies after transfer transactions status updates. Representative code is TRASUP.

Transfer Payload

Payload object for Transfer Status Update Event.

Object
id
string
clientId
string
externalId
string
senderClientId
string
receiverClientId
string
currency
string
amount
number
transferReference
string
transferReason
string
transactionReference
string
status
string
Enumeration:
pending
waiting_client_confirmation
completed
rejected
Example 1
{
  "id": "98314a37-32e5-4cff-98f0-70d0e981363a",
  "amount": 500,
  "clientId": "2ff197d0-36a0-453f-8e0a-0b6d6241ff0d",
  "currency": "EUR",
  "externalId": null,
  "senderClientId": "2ff197d0-36a0-453f-8e0a-0b6d6241ff0d",
  "transferReason": "ads",
  "receiverClientId": "350d28f4-2264-493d-8451-3299acd9b51f",
  "transferReference": "20190506-94ZXQV",
  "transactionReference": "sadasd"
}
IBAN Assigned

Event type that notifies after the IBAN assignment. Representative code is IBANAS.

IBAN Assigned Payload

Payload object for IBAN Assigned Event.

Object
clientId
string
currency
string
status
string
balance
number
bankName
string
bankAccountHolderName
string
accountNumber
string
bicSwift
string
iban
string
bankAddress
string
bankCountry
string
Example 1
{
  "iban": "EE767777000202566375",
  "status": "active",
  "balance": 0,
  "bankName": null,
  "bicSwift": "LHVBEE22",
  "clientId": "8f9ab328-922f-4303-80cc-69c7f06272f0",
  "currency": "CAD",
  "bankAddress": null,
  "bankCountry": "EE",
  "accountNumber": null,
  "routingCodeList": null,
  "bankAccountHolderName": "Auto  Clear"
}
Payment Created

Event that notifies after pay out transactions status updates. Representative code is PAYCRE.

Payment Payload

Payload object for Payment Created Event.

Object
id
string
clientId
string
externalId
string
currency
string
amount
number
paymentDate
string
beneficiaryId
string
paymentType
string
reasonCode
string
reason
string
paymentReference
string
paymentStatus
string
transactionReference
string
totalFees
number
totalDebitAmount
number
hasEnoughBalance
boolean
feeCollectionType
string
creationDateTime
string
completionDateTime
string
Payment Rolled

Event type that notifies after pay out transactions rolled. Representative code is PAYROL.

Payment Payload

Payload object for Payment Rolled Event.

Object
id
string
clientId
string
externalId
string
currency
string
amount
number
paymentDate
string
beneficiaryId
string
paymentType
string
reasonCode
string
reason
string
paymentReference
string
paymentStatus
string
transactionReference
string
totalFees
number
totalDebitAmount
number
hasEnoughBalance
boolean
feeCollectionType
string
creationDateTime
string
completionDateTime
string
Payment Status Update

Event type that notifies after pay out transactions status updates. Representative code is PAYSUP.

Payment Payload

Payload object for Payment Status Event.

Object
id
string
clientId
string
externalId
string
currency
string
amount
number
paymentDate
string
beneficiaryId
string
paymentType
string
reasonCode
string
reason
string
paymentReference
string
paymentStatus
string
transactionReference
string
totalFees
number
feeCollectionType
string
creationDateTime
string
completionDateTime
string
Conversion Created

Event type that notifies after conversion transaction created. Representative code is CONCRE.

Conversion Payload

Payload object for Conversion Created Event.

Object
id
string
clientId
string
externalId
string
transactionReference
string
sellCurrency
string
buyCurrency
string
sellAmount
number
buyAmount
number
status
string
offeredRate
number
midMarketRate
number
creationDateTime
string
settlementDateTime
string
completionDateTime
string
Example 1
{
  "id": "a160b23b-80a3-46d0-99fd-966b5a05d81e",
  "status": "pending_awaiting_funds",
  "clientId": "350d28f4-2264-493d-8451-3299acd9b51f",
  "buyAmount": 119.8,
  "externalId": null,
  "sellAmount": 120,
  "buyCurrency": "EUR",
  "offeredRate": 0.998406594,
  "sellCurrency": "GBP",
  "midMarketRate": 1.1621,
  "creationDateTime": "2019-05-09T07:42:30.963",
  "completionDateTime": null,
  "settlementDateTime": "2019-05-09T22:00:00.000",
  "transactionReference": "20190509-95XPWV"
}
Conversion Rolled

Event that triggers after conversion transactions rolled. Representative code CONROL.

Conversion Payload

Payload object for Conversion Rolled Event.

Object
id
string
clientId
string
externalId
string
transactionReference
string
sellCurrency
string
buyCurrency
string
sellAmount
integer
buyAmount
integer
status
string
offeredRate
integer
midMarketRate
integer
creationDateTime
string
settlementDateTime
string
completionDateTime
string
Example 1
{
  "id": "null",
  "status": "pending_awaiting_funds",
  "clientId": "350d28f4-2264-493d-8451-3299acd9b51f",
  "buyAmount": 129.84,
  "externalId": null,
  "sellAmount": 130,
  "buyCurrency": "EUR",
  "offeredRate": 0.998836164,
  "sellCurrency": "GBP",
  "midMarketRate": 1.1626,
  "creationDateTime": "2019-05-09T07:58:18.653",
  "completionDateTime": null,
  "settlementDateTime": "2019-05-09T22:00:00.000",
  "transactionReference": "20190509-VO7XJV"
}
Conversion Status Update

Event that triggers after conversion transactions status updates. Representative code CONSUP.

Conversion Payload

Payload object for Conversion Status Update Event.

Object
id
string
clientId
string
externalId
string
transactionReference
string
sellCurrency
string
buyCurrency
string
sellAmount
integer
buyAmount
integer
status
string
offeredRate
integer
midMarketRate
integer
creationDateTime
string
settlementDateTime
string
completionDateTime
string
Example 1
{
  "id": "92e46bea-7cb3-4a03-b428-9b5ba562ef98",
  "status": "canceled",
  "clientId": "350d28f4-2264-493d-8451-3299acd9b51f",
  "buyAmount": 129.84,
  "externalId": null,
  "sellAmount": 130,
  "buyCurrency": "EUR",
  "offeredRate": 0.998836164,
  "sellCurrency": "GBP",
  "midMarketRate": 1.1626,
  "creationDateTime": "2019-05-09T07:58:18.653",
  "completionDateTime": null,
  "settlementDateTime": "2019-05-09T22:00:00.000",
  "transactionReference": "20190509-VO7XJV"
}
Beneficiary Created
Beneficiary Payload

Payload object for Beneficiary Created Event.

Object
properties
id
string
Example:
5f9909c9-3eb1-4269-bc0b-d06e077dabce
bic
string
Example:
ANTSGB2L
iban
string
Example:
GB73CLRB04050900000400
name
string
Example:
TEST
bankName
unknown nullable
clientId
string
Example:
50a5bf9c-26f4-4f58-8855-37058d3255e7
currency
string
Example:
EUR
externalId
unknown nullable
bankAddress
unknown nullable
companyName
string
Example:
TEST
accountNumber
unknown nullable
beneficiaryCity
unknown nullable
beneficiaryType
string
Example:
corporate
paymentTypeList
Array
Example:
["sepa"]
string
Example:
sepa
routingCodeList
unknown nullable
beneficiaryState
unknown nullable
creationDateTime
string
Example:
2019-09-24 14:21:49
bankAccountCountry
string
Example:
GB
beneficiaryCountry
string
Example:
GB
beneficiaryLastName
unknown nullable
beneficiaryBirthDate
unknown nullable
beneficiaryFirstName
unknown nullable
bankAccountHolderName
string
Example:
test
beneficiaryPostalCode
unknown nullable
beneficiaryAddressLine
unknown nullable
additional properties
string
Example 1
{
    "id": "5f9909c9-3eb1-4269-bc0b-d06e077dabce",
    "bic": "ANTSGB2L",
    "iban": "GB73CLRB04050900000400",
    "name": "TEST",
    "bankName": null,
    "clientId": "50a5bf9c-26f4-4f58-8855-37058d3255e7",
    "currency": "EUR",
    "externalId": null,
    "bankAddress": null,
    "companyName": "TEST",
    "accountNumber": null,
    "beneficiaryCity": null,
    "beneficiaryType": "corporate",
    "paymentTypeList": [
        "sepa"
    ],
    "routingCodeList": null,
    "beneficiaryState": null,
    "creationDateTime": "2019-09-24 14:21:49",
    "bankAccountCountry": "GB",
    "beneficiaryCountry": "GB",
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "beneficiaryFirstName": null,
    "bankAccountHolderName": "test",
    "beneficiaryPostalCode": null,
    "beneficiaryAddressLine": null,
    "[...]": ""
}
Beneficiary Updated
Beneficiary Payload

Payload object for Beneficiary Updated Event.

Object
id
string
Example:
5f9909c9-3eb1-4269-bc0b-d06e077dabce
bic
string
Example:
ANTSGB2L
iban
string
Example:
GB73CLRB04050900000400
name
string
Example:
TEST
bankName
unknown nullable
clientId
string
Example:
50a5bf9c-26f4-4f58-8855-37058d3255e7
currency
string
Example:
EUR
externalId
unknown nullable
bankAddress
unknown nullable
companyName
string
Example:
TEST
accountNumber
unknown nullable
beneficiaryCity
unknown nullable
beneficiaryType
string
Example:
corporate
paymentTypeList
Array
Example:
["sepa"]
string
Example:
sepa
routingCodeList
unknown nullable
beneficiaryState
unknown nullable
creationDateTime
unknown nullable
bankAccountCountry
string
Example:
GB
beneficiaryCountry
string
Example:
GB
beneficiaryLastName
unknown nullable
beneficiaryBirthDate
unknown nullable
beneficiaryFirstName
unknown nullable
bankAccountHolderName
string
Example:
testT
beneficiaryPostalCode
unknown nullable
beneficiaryAddressLine
unknown nullable
Example 1
{
    "id": "5f9909c9-3eb1-4269-bc0b-d06e077dabce",
    "bic": "ANTSGB2L",
    "iban": "GB73CLRB04050900000400",
    "name": "TEST",
    "bankName": null,
    "clientId": "50a5bf9c-26f4-4f58-8855-37058d3255e7",
    "currency": "EUR",
    "externalId": null,
    "bankAddress": null,
    "companyName": "TEST",
    "accountNumber": null,
    "beneficiaryCity": null,
    "beneficiaryType": "corporate",
    "paymentTypeList": [
        "sepa"
    ],
    "routingCodeList": null,
    "beneficiaryState": null,
    "creationDateTime": null,
    "bankAccountCountry": "GB",
    "beneficiaryCountry": "GB",
    "beneficiaryLastName": null,
    "beneficiaryBirthDate": null,
    "beneficiaryFirstName": null,
    "bankAccountHolderName": "testT",
    "beneficiaryPostalCode": null,
    "beneficiaryAddressLine": null
}
Beneficiary Deleted
Beneficiary Payload

Payload object for Beneficiary Deleted Event.

Object
id
string
Example:
5f9909c9-3eb1-4269-bc0b-d06e077dabce
clientId
string
Example:
50a5bf9c-26f4-4f58-8855-37058d3255e7
externalId
unknown nullable
Webhook Re-Try Policy

Webhook notification resending is limited by period and maximum time. Failed webhook requests can only send again after 15 minutes and the retry process can only last 24 hours.