Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
General information how to start using Flash Payments API
echo '{
"query":
"{
quote(input: {
fromCurrency: AUD, toCurrency: USD, size: 9.9, currency: AUD
})
{
bid ask symbol timestamp inverted
}
}"
}' | curl -X POST 'https://api.uat.flash-payments.com.au' \
-H 'authorization: Bearer YOUR_TOKEN' \
-H 'content-type: application/json' \
-d @-{
"data": { ... },
"errors": [ ... ]
}Sub-client VANs lifecycle
Disburse your money to a third party bank account
Deposit processing statuses
Convert between your multi-currency balances
Here is how to send your data to us as JSON instead of embedding it into the GraphQL queries.
Here is how to identify the mandatory input fields for your GraphQL queries and mutations.
Get your access token
Flash Payments Developer API documentation
Screen individuals and organisations against adverse media sources
ACTIVEFAILED_KYCavailableDeliveryMethods - query countries/currency combinations we support and what the required bank account details are.
INITIALISEDREVIEWINGCONFIRMEDREFUNDINGREFUNDEDenum ConversionStatus {
INITIALISED
PENDING
CONVERTED
FAILED
CANCELLED
}How to handle a payout rejection
CANCELLATION_REQUESTED_BY_PARTICIPANT
CANCELLATION_BY_RECIPIENT_FI
COMPLIANCE_DECLINED
COMPLIANCE_DECLINED_EXTERNAL
SENDER_INADEQUATE_DATA
SENDER_INVALID_ADDRESS
SENDER_INCOMPLETE_ADDRESS
RECIPIENT_INADEQUATE_DATA
RECIPIENT_INVALID_ADDRESS
RECIPIENT_INCOMPLETE_ADDRESS
DATA_ENQUIRY_TIME_ELAPSED
DATA_ENQUIRY_RESPONSE_INADEQUATE
SOURCE_OF_FUNDS_INADEQUATE
DUPLICATE_TRANSACTION
TECHNICAL_ISSUE
RECIPIENT_ACCOUNT_CLOSED
RECIPIENT_INVALID_ACCOUNT_NUMBER
RECIPIENT_INVALID_BANK_CODE
RECIPIENT_INVALID_ACCOUNT
RECIPIENT_COUNTRY_NOT_SUPPORTED
RECIPIENT_CURRENCY_NOT_SUPPORTED
EXPIREDQueryInputecho '{
"query":
"{
quote(input: {
fromCurrency: AUD, toCurrency: USD, size: 9.9, currency: AUD
})
{
bid ask symbol timestamp inverted
}
}"
}' | curl -X POST 'https://api.uat.flash-payments.com.au' \
-H 'authorization: Bearer YOUR_TOKEN' \
-H 'content-type: application/json' \
-d @-echo '{
"query":
"query ($input: QuoteInput!) {
quote(input: $input) { bid ask symbol timestamp inverted }
}",
"variables": {
"input": { "fromCurrency": "AUD", "toCurrency": "USD", "size": 9.9, "currency": "AUD" }
}
}' | curl -X POST 'https://api.uat.flash-payments.com.au' \
-H 'authorization: Bearer YOUR_TOKEN' \
-H 'content-type: application/json' \
-d @-echo '{
"query":
"mutation ($input: RecipientInput!) {
createRecipient(input: $input) { code message recipient { id } }
}",
"variables": {
"input": {
"firstName": "Test",
"lastName": "Lastest",
"currency": "PHP",
"accountIdType": "PH_CASH",
"mobile": "+63 9121231234",
"phCashoutNetwork": "MLHUILLIER",
"address": {
"building": "12th Floor Centerpoint Building",
"street": "Julia Vargas Avenue corner Garnet Street",
"suburb": "Pasig",
"state": "manila",
"country": "PH",
"postcode": "1605"
}
}
}
}' | curl 'https://api.uat.flash-payments.com.au' \
-H 'authorization: Bearer YOUR_TOKEN' \
-H 'content-type: application/json' \
-d @-const bodyJSON = {
variables: {
input: {
email: "you@example.com",
password: "12345678",
},
},
query: `
mutation ($input: LoginInput!) {
login(input: $input) {
token message code success
}
}`,
};mutation($input: LoginInput!) {
login(input: $input) {
token
message
code
success
}
}{
"input": {
"email": "you@example.com",
"password": "12345678"
}
}{
"data": {
"login": {
"token": "YOUR_TOKEN",
"message": "OK",
"code": "SUCCESS",
"success": true
}
}
}{
...
"iat": 1620967717,
"exp": 1621054117
}const seconds = JSON.parse(Buffer.from(token.split(".")[1], "base64url")).exp;
if (Date.now() >= seconds*1000) {
// get new token
}{
"authorization": "Bearer YOUR_TOKEN"
}{
"input": {
"email": "you@example.com",
"password": "12345678",
"affiliation": FP_AUS
}
}Withdrawal processing statuses
Explains how to accept deposits programmatically
Return the funds back to the original sender
Query your master account balances
const bodyJSON = {
operationName
query balances($currencies: [CurrencyIso3]){
{
"currencies": ["AUD"]
}{
"data": {
"balances": [
{
"currency": "AUD",
"cleared": 3860,
"pending": 0
}
]
}
}Generate named Virtual Account Numbers (aka sub-clients) for your clients' for collection
Validate and standardise physical addresses
Convert and send your balance as single instruction
Test common payout outcomes in UAT, as you build and exercise your integration solution against the full range of real-life withdrawal flows, statuses and webhooks before going live.
Understand every movement of your primary balance
Verify that a payee's account name matches their bank account details
FAILED - NOT FINAL status. Depending on the processing error we have three scenarios now.const bodyJSON = {
variables: {
input: {
fromDate: "2023-08-28T00:00:00+03:00",
currency: "USD",
},
},
query: `
query ($input: StatementQueryInput!) {
statement(input: $input) {
succes code message fromDate toDate
rows {
debit credit
}
}
}`,
};query($input: StatementQueryInput!) {
statement(input: $input) {
success
code
message
fromDate
toDate
rows {
debit
credit
# and many other fields
}
}
}enum PaymentStatus {
INITIALISING
OPEN
CLOSED
FAILED
CANCELLED
}const secret = "abcdefg";
function generateSignature(string) {
return require("node:crypto")
.createHmac("sha256", secret) // your secret key
.update(string)
.digest("base64");
}
const signature = generateSignature(stringIdFromMyDatabase);
const callbackUri =
"https://my-webhooks.example.com/flashfx?signature=" + signature;
const externalId = stringIdFromMyDatabase;
// Use both callbackUri and externalId when creating transfers with Flash Payments APIfunction myCallbackEndpointHandler(req, res) {
const signature = req.query.signature;
const stringIdFromMyDatabase = req.body.externalId;
if (generateSignature(stringIdFromMyDatabase) !== signature) {
console.error("Security warning! Webhook endpoint received bad data", req);
res.sendStatus(500);
return;
}
// continue with the webhook processing
}{
"input": {
"fromDate": "2023-08-28T00:00:00+03:00",
"currency": "USD"
}
}{
"data": {
"statement": [
{
"success": true,
"code": "GENERATED",
"message": "Statement generated",
"fromDate": "2023-08-27T21:00:00Z",
"toDate": "2023-08-28T21:00:00Z",
"rows": {
[
{
"debit": 123.45,
"credit": 0
}
]
}
}
]
}
}REVIEWINGconst bodyJSON = {
variables
mutation ($input: CopInput!) {
{
"input": {
"accountIdType": "BSB",
"bsb": "012003",
"accountNo": "123456789",
"accountName": "John Smith"
}
}{
"data": {
"confirmationOfPayee": {
"success": true,
"code": "MATCH",
"message": "Account name matches",
"billable": true
}
}
}Convert between your multi-currency balances
When you cannot provide the requested information
You can query all your past conversions
How to setup web hooks for your integration
Ensuring bank details are correct
Different countries support different account types, transfer mechanisms, payment delivery methods.
All reply codes and GraphQL errors
Respond to compliance information requests programmatically
RFI lifecycle statuses
const bodyJSON = {
variables: {
input: {
fromCurrency: "AUD",
toCurrency: "EUR",
size: "10000",
currency: "AUD",
tradeable: true,
applicability: "CONVERSION",
},
},
query: `
query ($input: QuoteInput!) {
quote(input: $input) {
id bid ask symbol timestamp inverted expireAt
}
}`,
};query($input: QuoteInput!) {
quote(input: $input) {
id
bid
ask
symbol
timestamp
inverted
expireAt
}
}const bodyJSON = {
variables: {
input: {
rfiId: "61f3a2c8d1e9b7a4c5d6e7f8",
},
},
query: `
mutation ($input: DeclineRfiInput!) {
declineRfi(input: $input) {
success
code
message
rfi {
id
status
statusMessage
}
}
}`,
};mutation($input: DeclineRfiInput!) {
declineRfi(input: $input) {
success
code
message
rfi {
id
status
statusMessage
}
}
}const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: DepositQueryInput!) {
deposits(input: $input) {
id amount currency status statusMessage externalId externalReference
subClient {
id fullName status clientType
}
createdAt
}
}`,
};query($input: DepositQueryInput!) {
deposits(input: $input) {
id
amount
currency
status
statusMessage
externalId
externalReference
subClient {
id
fullName
status
clientType
}
createdAt
# more fields available, see API schema
}
}const bodyJSON = {
variables: {
input: "6053d4e0e3bc655e0598a742",
},
query: `
query ($input: ID) {
deposit(id: $input) {
id
amount currency status statusMessage externalId externalReference createdAt
}
}`,
};query($input: ID) {
deposit(id: $input) {
id
amount
currency
status
statusMessage
externalId
externalReference
createdAt
# more fields available, see API schema
}
}const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: ConversionQueryInput!) {
conversions(input: $input) {
id fromCurrency toCurrency rate
}
}`,
}; query($input: ConversionQueryInput!) {
conversions(input: $input) {
id
fromCurrency
toCurrency
rate
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
statuses: "CONVERTED",
toCurrencies: ["EUR","USD"],
},
},
query: `
query ($input: ConversionQueryInput!) {
conversions(input: $input) {
id fromCurrency toCurrency rate
}
}`,
}; query($input: ConversionQueryInput!) {
conversions(input: $input) {
id
fromCurrency
toCurrency
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: PaymentQueryInput!) {
payments(input: $input) {
id fromCurrency toCurrency
}
}`,
}; query($input: PaymentQueryInput!) {
payments(input: $input) {
id
fromCurrency
toCurrency
# there are many other properties
}
} {
"input": {
}
}const bodyJSON = {
variables: {
input: {
statuses: "CLOSED",
toCurrencies: ["EUR","USD"],
},
},
query: `
query ($input: PaymentQueryInput!) {
payments(input: $input) {
id fromCurrency toCurrency
}
}`,
}; query($input: PaymentQueryInput!) {
payments(input: $input) {
id
fromCurrency
toCurrency
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
bsb: "012622",
},
},
query: `
query ($input: BankInfoQueryInput!) {
bankInfo(input: $input) {
name
address {
building street suburb state country postcode
}
}
}`,
};query($input: BankInfoQueryInput!){
bankInfo(input: $input) {
name
address {
building
street
suburb
state
country
postcode
}
}
}const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: AvailableDeliveryMethodsInput!) {
availableDeliveryMethods(input: $input) {
country currency method requiredFields
}
}`,
};query($input: AvailableDeliveryMethodsInput!) {
availableDeliveryMethods(input: $input) {
country
currency
method
requiredFields
}
}{
"input": {
}
}const bodyJSON = {
variables: {
input: {
country: "FR",
currency: "EUR",
},
},
query: `
query ($input: AvailableDeliveryMethodsInput!) {
availableDeliveryMethods(input: $input) {
country currency method requiredFields
}
}`,
};query($input: AvailableDeliveryMethodsInput!) {
availableDeliveryMethods(input: $input) {
country
currency
method
requiredFields
}
}{
"input": {
"fromCurrency": "AUD",
"toCurrency": "EUR",
"size": "10000",
"currency": "AUD",
"tradeable": true,
"applicability": "CONVERSION"
}
}{
"data": {
"quote": {
"id": "685369cf85f7cb51fb4ae2eb",
"bid": 0.55663,
"ask": 0.57153,
"symbol": "AUDEUR",
"timestamp": "2025-06-19T01:37:19.418Z",
"inverted": false,
"expireAt": "2025-06-19T01:39:19.419Z"
}
}
}const bodyJSON = {
variables: {
input: {
note: "for major client",
externalId: "561402",
quoteId: "6854dcffaa36ba8534d5f8e2",
callbackUri: "https://example.com/my-webhook/endpoint/",
},
},
query: `
mutation ($input: ConversionInput!) {
createConversion(input: $input) {
success code message
conversion {
id fromCurrency toCurrency currencyPair fromAmount toAmount rate note
status statusMessage callbackUri externalId createdAt updatedAt
}
}
}`,
};mutation($input: ConversionInput!) {
createConversion(input: $input) {
success code message
conversion {
id fromCurrency toCurrency currencyPair fromAmount toAmount rate note
status statusMessage callbackUri externalId createdAt updatedAt
}
}
}{
"input": {
"note": "for major client",
"externalId": "561402",
"quoteId": "6854dcffaa36ba8534d5f8e2",
"callbackUri": "https://example.com/my-webhook/endpoint/"
}
}{
"data": {
"createConversion": {
"success": true,
"code": "CREATED",
"message": "Conversion successfully created",
"conversion": {
"id": "6711f0a7b549a701ebeb02ac",
"fromCurrency": "EUR",
"toCurrency": "AUD",
"currencyPair": "AUDEUR",
"fromAmount": 101,
"toAmount": 159.81,
"rate": 0.63199,
"note": "for major client",
"status": "PENDING",
"statusMessage": "Awaiting execution",
"callbackUri": "https://example.com/my-webhook/endpoint/",
"externalId": "561402",
"createdAt": "2024-10-18T05:22:47.433Z",
"updatedAt": "2024-10-18T05:22:47.433Z"
}
}
}
}{
"input": {
"rfiId": "61f3a2c8d1e9b7a4c5d6e7f8"
}
}{
"data": {
"declineRfi": {
"success": true,
"code": "MARKED",
"message": "RFI marked as unanswered",
"rfi": {
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"status": "CLOSED",
"statusMessage": "You specified that you are unable to comply. Relevant transfers can be cancelled."
}
}
}
}Retry-After: 59{
success: false,
code: "TOO_MANY_REQUESTS",
message: "Retry after 1 min",
retrySecs: 59
}{
"input": {
}
}{
"data": {
"deposits": [
{
"id": "6053d4e0e3bc655e0598a742",
"amount": 2000,
"currency": "AUD",
"status": "CONFIRMED",
"statusMessage": "Transaction Confirmed",
"externalId": "PR.1vcl",
"externalReference": "FX1111",
"subClient": null,
"createdAt": "2021-03-18T22:32:01.010Z"
},
{
"id": "6053d3319588389e1443587e",
"amount": 40,
"currency": "AUD",
"status": "CONFIRMED",
"statusMessage": "Transaction Confirmed",
"externalId": "PR.1vci",
"externalReference": "FX2121",
"subClient": {
"id": "5fb314cb9224595df522db61",
"fullName": "John Doe",
"status": "ACTIVE",
"clientType": "INDIVIDUAL"
},
"createdAt": "2021-03-18T22:24:49.096Z"
},
]
}
}{
# there are more query parameters available, see the API schema
"input": "6053d4e0e3bc655e0598a742"
}{
"data": {
"deposit": {
"id": "6053d4e0e3bc655e0598a742",
"amount": 2000,
"currency": "AUD",
"status": "CONFIRMED",
"statusMessage": "Transaction Confirmed",
"externalId": "PR.1vcl",
"externalReference": "KX23249",
"createdAt": "2021-03-18T22:32:01.010Z"
}
}
}{
"data": {
"conversion": {
"status": "CONVERTED",
"createdAt": "2024-08-13T05:45:28.698Z",
"fromAmount": 1000,
"toAmount": 710.01
}
}
} {
"input": {
}
}{
"data": {
"conversions": [
{
"id": "6b04c62ec0bf606bf216ae21",
"fromCurrency": "AUD",
"toCurrency": "EUR",
"rate": 0.71
},
{
"id": "6b04c6bfc0bf606bf216af06",
"fromCurrency": "AUD",
"toCurrency": "USD",
"rate": 0.70
},
{
"id": "6b04c8e3c0bf606bf216b026",
"fromCurrency": "EUR",
"toCurrency": "AUD",
"rate": 0.71
}
]
}
}{
"input": {
"statuses": "CONVERTED",
"toCurrencies": ["EUR","USD"]
}
}{
"data": {
"conversions": [
{
"id": "6833ad9b4e94acce5d4a031b",
"fromCurrency": "AUD",
"toCurrency": "USD"
},
{
"id": "678a18bb2879c374b378ee71",
"fromCurrency": "AUD",
"toCurrency": "EUR"
}
]
}
}const bodyJSON = {
variables: {
input: "6b04c62ec0bf606bf216ae21",
},
query: `
query ($input: ID) {
conversion(id: $input) {
status createdAt fromAmount toAmount
}
}`,
};query($input: ID) {
conversion(id: $input) {
status
createdAt
fromAmount
toAmount
# there are many other properties
}
}{
"input": "6b04c62ec0bf606bf216ae21"
}{
# there are more query parameters available, see the API schema
"input": "5b04c62ec0bf606bf216ae21"
}{
"data": {
"payment": {
"status": "CLOSED",
"createdAt": "2018-08-13T05:45:28.698Z",
"size": 1000
}
}
}{
"data": {
"payments": [
{
"id": "5b04c62ec0bf606bf216ae21",
"fromCurrency": "AUD",
"toCurrency": "EUR"
},
{
"id": "5b04c6bfc0bf606bf216af06",
"fromCurrency": "AUD",
"toCurrency": "USD"
},
{
"id": "5b04c8e3c0bf606bf216b026",
"fromCurrency": "EUR",
"toCurrency": "AUD"
}
]
}
} {
# there are more query parameters available, see the API schema
"input": {
"statuses": "CLOSED",
"toCurrencies": ["EUR","USD"]
}
}{
"data": {
"payments": [
{
"id": "5b04c62ec0bf606bf216ae21",
"fromCurrency": "AUD",
"toCurrency": "EUR"
},
{
"id": "5b04c6bfc0bf606bf216af06",
"fromCurrency": "AUD",
"toCurrency": "USD"
}
]
}
}const bodyJSON = {
variables: {
input: "5b04c62ec0bf606bf216ae21",
},
query: `
query ($input: ID) {
payment(id: $input) {
status createdAt size
}
}`,
};query($input: ID) {
payment(id: $input) {
status
createdAt
size
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
bic: "BARCGB22",
},
},
query: `
query ($input: BankInfoQueryInput!) {
bankInfo(input: $input) {
name
address {
building street suburb state country postcode
}
}
}`,
};query($input: BankInfoQueryInput!){
bankInfo(input: $input) {
name
address {
building
street
suburb
state
country
postcode
}
}
} {
"input": {
"bic": "BARCGB22"
}
}{
"data": {
"bankInfo": {
"name": "BARCLAYS BANK PLC",
"address": {
"building": null,
"street": "1 CHURCHILL PLACE, CANARY WHARF London",
"suburb": "London",
"state": null,
"country": "GB",
"postcode": "E14 5HP"
}
}
}
}const bodyJSON = {
variables: {
input: {
iban: "DE59500105178646768962",
},
},
query: `
query ($input: BankInfoQueryInput!) {
bankInfo(input: $input) {
name
address {
building street suburb state country postcode
}
}
}`,
};query($input: BankInfoQueryInput!){
bankInfo(input: $input) {
name
address {
building
street
suburb
state
country
postcode
}
}
} {
"input": {
"iban": "DE59500105178646768962"
}
}{
"data": {
"bankInfo": {
"name": "ING-DIBA AG (RETAIL BANKING)",
"address": {
"building": null,
"street": "THEODOR-HEUSS-ALLEE 2 Frankfurt Am Main",
"suburb": "Frankfurt Am Main",
"state": null,
"country": "DE",
"postcode": "60486"
}
}
}
} {
"input": {
"bsb": "012622"
}
}{
"data": {
"bankInfo": {
"name": "ANZ",
"address": {
"building": null,
"street": "Shop 1 Westfield Shopping Ctr",
"suburb": "Figtree",
"state": "NSW",
"country": "AU",
"postcode": "2525"
}
}
}
}{
"data": {
"availableDeliveryMethods": [
{
"country": "FR",
"currency": "EUR",
"method": "ACC_NO",
"requiredFields": [
"bic",
"accountNo"
]
},
{
"country": "FR",
"currency": "EUR",
"method": "IBAN",
"requiredFields": [
"bic",
"iban"
]
}
]
}
}{
"data": {
"availableDeliveryMethods": [
{
"country": "AE",
"currency": "AED",
"method": "ACC_NO",
"requiredFields": [
"bic",
"accountNo"
]
},
{
"country": "AT",
"currency": "EUR",
"method": "IBAN",
"requiredFields": [
"bic",
"iban"
]
},
...{
"input": {
"country": "FR",
"currency": "EUR"
}
}const secret = "my-webhook-secret";
function generateSignature(string) {
return require("node:crypto")
.createHmac("sha256", secret) // your secret key
.update(string)
.digest("base64");
}function myCallbackEndpointHandler(req, res) {
const signature = req.headers["flashfx-signature"];
const payload = req.body;
if (generateSignature(payload) !== signature) {
console.error("Security warning! Webhook endpoint received bad data", req);
res.sendStatus(500);
return;
}
// proceed with the webhook processing
}deadline. The status stays PENDING until all answers are received or the deadline passes.
const bodyJSON = {
variables
mutation($input: AmsRequestInput!) {
adverseMediaSearch(input: $input) {
success
code
message
amsRequest {
id
status
}
}
}{
"input": {
"firstName": "John",
"lastName": "Smith",
"country": "AU"
}
}{
"data": {
"adverseMediaSearch": {
"success": true,
"code": "SCAN_SCHEDULED",
"message": "Name scan scheduled",
"amsRequest": {
"id": "6820a4f3e1c2b5d8f0123456",
"status": "INITIALISED"
}
}
}
}const bodyJSON = {
variables: {
input: {
accountName: "Acme Pty Ltd",
country: "AU",
},
},
query: `
mutation ($input: AmsRequestInput!) {
adverseMediaSearch(input: $input) {
success
code
message
amsRequest {
id
status
}
}
}`,
};mutation($input: AmsRequestInput!) {
adverseMediaSearch(input: $input) {
success
code
message
amsRequest {
id
status
}
}
}Adverse media search request statuses
Quote the current bid and ask for a currency pair and size.
CRUD queries for Institutions
Submit answers with plaintext or documents

const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: WithdrawalQueryInput!) {
withdrawals(input: $input) {
id
recipient {
firstName lastName
}
}
}`,
}; query($input: WithdrawalQueryInput!) {
withdrawals(input: $input) {
id
recipient {
firstName
lastName
}
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
statuses: "CONFIRMED",
maxCreatedAt: "2020-01-29",
},
},
query: `
query ($input: WithdrawalQueryInput!) {
withdrawals(input: $input) {
id createdAt
}
}`,
}; query($input: WithdrawalQueryInput!) {
withdrawals(input: $input) {
id
createdAt
# there are many other properties
}
}const bodyJSON = {
variables: {
input: {
fromCurrency: "AUD",
toCurrency: "USD",
size: "10000",
currency: "AUD",
},
},
query: `
query ($input: QuoteInput!) {
quote(input: $input) {
bid ask symbol timestamp inverted
}
}`,
};query($input: QuoteInput!) {
quote(input: $input) {
bid
ask
symbol
timestamp
inverted
}
}{
"input": {
"accountName": "Acme Pty Ltd",
"country": "AU"
}
}{
"data": {
"adverseMediaSearch": {
"success": true,
"code": "SCAN_SCHEDULED",
"message": "Name scan scheduled",
"amsRequest": {
"id": "6820b1d9c3f4a7e2d0987654",
"status": "INITIALISED"
}
}
}
}{
# there are more query parameters available, see the API schema
"input": "5b04c62ec0bf606bf216ae21"
}{
"data": {
"withdrawal": {
"status": "CONFIRMED",
"createdAt": "2020-01-17T07:21:20.247Z",
"amount": 1000
}
}
}{
"input": {
}
}{
"data": {
"withdrawals": [
{
"id": "5b04c62ec0bf606bf216ae21",
"recipient": {
"firstName": "John"
"lastName": "Smith"
}
},
{
"id": "5b04c6bfc0bf606bf216af06",
"recipient": {
"firstName": "John"
"lastName": "Smith"
}
},
{
"id": "5b04c8e3c0bf606bf216b026",
"recipient": {
"firstName": "John"
"lastName": "Smith"
}
}
]
}
}{
# there are more query parameters available, see the API schema
"input": {
"statuses": "CONFIRMED",
"maxCreatedAt": "2020-01-29"
}
}{
"data": {
"withdrawals": [
{
"id": "5b04c62ec0bf606bf216ae21",
"createdAt": "2020-01-17T07:21:20.247Z"
},
{
"id": "5b04c6bfc0bf606bf216af06",
"createdAt": "2018-08-13T05:45:28.698Z"
}
]
}
}const bodyJSON = {
variables: {
input: "5b04c62ec0bf606bf216ae21",
},
query: `
query ($input: ID) {
withdrawal(id: $input) {
status createdAt amount
}
}`,
};query($input: ID) {
withdrawal(id: $input) {
status
createdAt
amount
# there are many other properties
}
}query {
AUDUSD: quote(input: { fromCurrency: AUD, toCurrency: USD, size: 1000 }) { bid ask symbol }
AUDEUR: quote(input: { fromCurrency: AUD, toCurrency: EUR, size: 1000 }) { bid ask symbol }
AUDGBP: quote(input: { fromCurrency: AUD, toCurrency: GBP, size: 1000 }) { bid ask symbol }
}{
"data": {
"AUDUSD": {
"bid": 0.76508,
"ask": 0.76922,
"symbol": "AUDUSD"
},
"AUDEUR": {
"bid": 0.64588,
"ask": 0.64942,
"symbol": "AUDEUR"
},
"AUDGBP": {
"bid": 0.57091,
"ask": 0.57404,
"symbol": "AUDGBP"
}
}
}const fromCurrencies = ["AUD"];
const toCurrencies = ["USD", "EUR", "GBP"];
const size = 1000;
let query = "";
for (const from of fromCurrencies)
for (const to of toCurrencies)
query += `${from}${to}: quote(input: { fromCurrency: ${from}, toCurrency: ${to}, size: ${size} }) { bid ask symbol }\n`;
query = "query {\n" + query + "\n}";
const response = await fetch("https://api.uat.flash-payments.com.au", {
method: "POST",
headers: {
authorization: "Bearer " + YOUR_TOKEN,
"content-type": "application/json",
},
body: JSON.stringify({ query }),
});
const { data } = await response.json();const bodyJSON = {
variables: {
input: {
fromCurrency: "AUD",
toCurrency: "USD",
size: "10000",
currency: "AUD",
tradable: true,
},
},
query: `
query ($input: QuoteInput!) {
quote(input: $input) {
bid ask symbol timestamp inverted expireAt id
}
}`,
};query($input: QuoteInput!) {
quote(input: $input) {
bid
ask
symbol
timestamp
inverted
expireAt
id
}
} {
"input": {
"fromCurrency": "AUD",
"toCurrency": "USD",
"size": "10000",
"currency": "AUD",
"tradeable": true
}
}{
"data": {
"quote": {
"bid": 0.61339,
"ask": 0.63101,
"symbol": "AUDUSD",
"timestamp": "2025-03-04T01:53:08.829Z",
"inverted": false,
"expireAt": "2025-03-04T01:55:08.830Z",
"id": "67c65d04e5086d18751617ba"
}
}
}{
"input": {
"fromCurrency": "AUD",
"toCurrency": "USD",
"size": "10000",
"currency": "AUD"
}
}{
"data": {
"quote": {
"bid": 0.61104,
"ask": 0.62077,
"symbol": "USDAUD",
"timestamp": "2018-08-13T07:54:54.993Z",
"inverted": true
}
}
}legalName - company legal nameconst bodyJSON = {
variables
mutation($input: CreateSubClientInput!) {
createSubClient(input: $input) {
success
code
message
subClient {
id
legalName
businessNumber
fullName
clientType
status
primaryContact {
firstName
lastName
email
mobile
dob
}
address {
country
}
bsb
accountNo
externalId
# more properties available, see API schema
}
}
}{
"input": {
"legalName": "Chineese Tradings",
"businessNumber": "330782000329701",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com",
"mobile": "+61422832849",
"dob": "1979-05-12",
"address": {
"building": "25",
"street": "Xihu Road, Yuexiu District",
"suburb": "Guangzhou City",
"state": "Guangdong Province",
"postcode": "510030",
"country": "CN"
},
"idDoc": {
"type": "passport",
"docNumber": "FF1948394",
"issuer": "Australian Passport Office (APO)",
"issueDate": "2000-01-01",
"expiryDate": "2045-01-01",
"country": "AU"
},
"externalId": "991188227733"
}
}{
"data": {
"createSubClient": {
"success": true,
"code": "SUBCLIENT_CREATED",
"message": "Sub-client was successfully created",
"subClient": {
"id": "606d28675a2d931bc925fec2",
"legalName": "Chineese Tradings",
"businessNumber": "330782000329701",
"fullName": "John Smith",
"clientType": "INDIVIDUAL",
"status": "ACTIVE",
"primaryContact": {
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com",
"mobile": "+61 422 832 849",
"dob": "1979-05-12"
},
"address": {
"country": "CN"
},
"bsb": "802919",
"accountNo": "1066419",
"externalId": "991188227733"
}
}
}
}createInstitution mutation. const bodyJSON = {
variables: {
input: {
legalName: "Intermediate Institution Ltd",
businessNumber: "A39477669937",
address: {
postcode: "2000",
street: "203 Business Street",
country: "AU",
state: "NSW",
suburb: "Sydney",
},
},
},
query: `
mutation ($input: InstitutionInput!) {
createInstitution(input: $input) {
success code message
institution {
id
}
}
}`,
};mutation($input: InstitutionInput!) {
createInstitution(input: $input) {
success
code
message
institution {
id
}
}
} "input": {
"legalName": "Intermediate Institution Ltd",
"businessNumber": "A39477669937",
"address": {
"postcode": "2000",
"street": "203 Business Street",
"country": "AU",
"state": "NSW",
"suburb": "Sydney"
}
}
}{
"data": {
"createInstitution": {
"success": true,
"code": "INSTITUTION_CREATED",
"message": "Institution created",
"institution": {
"id": "65570da4f176682c5e412552"
}
}
}
}const bodyJSON = {
variables: {
id: "65570da4f176682c5e412552",
input: {
legalName: "Intermediate Institution Ltd",
businessNumber: "A39477669937",
address: {
postcode: "2000",
street: "203 Business Street",
country: "AU",
state: "NSW",
suburb: "Sydney",
},
},
},
query: `
mutation ($id: ID, $input: InstitutionInput!) {
updateInstitution(id: $id, input: $input) {
success code message
institution {
id
}
}
}`,
};mutation($id: ID, $input: InstitutionInput!) {
updateInstitution(id: $id, input: $input) {
success
code
message
institution {
id
}
}
}{
"id": "65570da4f176682c5e412552",
"input": {
"legalName": "Intermediate Institution Ltd",
"businessNumber": "A39477669937",
"address": {
"postcode": "2000",
"street": "203 Business Street",
"country": "AU",
"state": "NSW",
"suburb": "Sydney"
}
}
}{
"data": {
"updateInstitution": {
"success": true,
"code": "UPDATED",
"message": "Institution 65570da4f176682c5e412552 updated.",
"institution": {
"id": "65570da4f176682c5e412552"
}
}
}
}
{
"data": {
"amsRequests": [
{
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "COMPLETED",
"createdAt": "2025-03-15T08:23:14.521Z"
},
{
"id": "6820b1d9c3f4a7e2d0987654",
"name": "Acme Pty Ltd",
"country": "AU",
"status": "PENDING",
"createdAt": "2025-03-15T09:01:44.008Z"
}
]
}
}const bodyJSON = {
variables: {
input: {
statuses: ["COMPLETED"],
minCreatedAt: "2025-03-01T00:00:00.000Z",
maxCreatedAt: "2025-04-01T00:00:00.000Z",
country: "AU",
},
},
query: `
query ($input: AmsQueryInput) {
amsRequests(input: $input) {
id
name
country
status
createdAt
}
}`,
};query($input: AmsQueryInput) {
amsRequests(input: $input) {
id
name
country
status
createdAt
}
}{
# there are more filter parameters available, see the API schema
"input": {
"statuses": ["COMPLETED"],
"minCreatedAt": "2025-03-01T00:00:00.000Z",
"maxCreatedAt": "2025-04-01T00:00:00.000Z",
"country": "AU"
}
}{
"data": {
"amsRequests": [
{
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "COMPLETED",
"createdAt": "2025-03-15T08:23:14.521Z"
}
]
}
}query($id: ID!) {
amsRequest(id: $id) {
id
name
country
status
createdAt
results {
title
link
adversityScore
personSimilarity
summary
# there are many other result fields
}
}
}{
"id": "6820a4f3e1c2b5d8f0123456"
}{
"data": {
"amsRequest": {
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "COMPLETED",
"createdAt": "2025-03-15T08:23:14.521Z",
"results": [
{
"title": "Local businessman John Smith fined for tax evasion",
"link": "https://example-news.com.au/articles/smith-tax",
"adversityScore": 72,
"personSimilarity": 85,
"summary": "John Smith of Sydney was fined $45,000 for understating income over three financial years."
}
]
}
}
}const bodyJSON = {
variables: {
input: {},
},
query: `
query ($input: AmsQueryInput) {
amsRequests(input: $input) {
id
name
country
status
createdAt
}
}`,
};query($input: AmsQueryInput) {
amsRequests(input: $input) {
id
name
country
status
createdAt
# there are many other properties
}
}{
"input": {}
}const bodyJSON = {
variables: {
id: "6820a4f3e1c2b5d8f0123456",
},
query: `
query ($id: ID!) {
amsRequest(id: $id) {
id
name
country
status
createdAt
results {
title
link
adversityScore
personSimilarity
summary
}
}
}`,
};fragment AddressParts on Address { building streetNo street suburb state postcode country }
mutation($input: AddressInput!) {
cleanseAddress(input: $input) {
success
code
message
addressRequest {
id
originalAddress { ...AddressParts }
cleansedAddress { ...AddressParts }
recommendation
score
}
}
}{
"input": {
"street": "33 effingham st, sth launceston 7249",
"country": "AU"
}
}{
"data": {
"cleanseAddress": {
"success": true,
"code": "CLEANSED",
"message": "Address cleansed",
"addressRequest": {
"id": "6820a4f3e1c2b5d8f0123456",
"originalAddress": {
"building": null,
"streetNo": null,
"street": "33 effingham st, sth launceston 7249",
"suburb": null,
"state": null,
"postcode": null,
"country": "AU"
},
"cleansedAddress": {
"building": null,
"streetNo": null,
"street": "33 Effingham Street",
"suburb": "South Launceston",
"state": "TAS",
"postcode": "7249",
"country": "AU"
},
"recommendation": "accept",
"score": 97.1
}
}
}
}const bodyJSON = {
variables: {
input: {
street: "33 effingham st, sth launceston 7249",
country: "AU",
},
},
query: `
fragment AddressParts on Address { building streetNo street suburb state postcode country }
mutation ($input: AddressInput!) {
cleanseAddress(input: $input) {
success
code
message
addressRequest {
id
originalAddress { ...AddressParts }
cleansedAddress { ...AddressParts }
recommendation
score
}
}
}`,
};const bodyJSON = {
variables
mutation($input: AnswerRfiQuestionInput!) {
answerRfiQuestion(input: $input) {
success
code
message
rfi {
id
status
questions { questionCode answered }
}
}
}{
"input": {
"rfiId": "61f3a2c8d1e9b7a4c5d6e7f8",
"questionCode": "SENDER_ID_PROOF",
"files": [
{ "name": "passport.pdf", "base64": "JVBERi0xLjQK..." }
]
}
}{
"data": {
"answerRfiQuestion": {
"success": true,
"code": "RECORDED",
"message": "RFI reply recorded",
"rfi": {
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"status": "PENDING",
"questions": [
{ "questionCode": "SENDER_ID_PROOF", "answered": true },
{ "questionCode": "OTHER_TX_PURPOSE", "answered": false }
]
}
}
}
}const bodyJSON = {
variables: {
input: {
rfiId: "61f3a2c8d1e9b7a4c5d6e7f8",
questionCode: "OTHER_TX_PURPOSE",
text: "Payment for invoice #INV-2031, software development services.",
},
},
query: `
mutation ($input: AnswerRfiQuestionInput!) {
answerRfiQuestion(input: $input) {
success
code
message
rfi {
id
status
questions { questionCode answered }
}
}
}`,
};mutation($input: AnswerRfiQuestionInput!) {
answerRfiQuestion(input: $input) {
success
code
message
rfi {
id
status
questions { questionCode answered }
}
}
}{
"input": {
"rfiId": "61f3a2c8d1e9b7a4c5d6e7f8",
"questionCode": "OTHER_TX_PURPOSE",
"text": "Payment for invoice #INV-2031, software development services."
}
}{
"data": {
"answerRfiQuestion": {
"success": true,
"code": "RECORDED",
"message": "RFI reply recorded",
"rfi": {
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"status": "ASSESSING",
"questions": [
{ "questionCode": "SENDER_ID_PROOF", "answered": true },
{ "questionCode": "OTHER_TX_PURPOSE", "answered": true }
]
}
}
}
}const bodyJSON = {
variables
query($id: ID!, $input: FundingAccountQueryInput!) {
subClient(id: $id) {
id
fullName
legalName
tradingAsName
clientType
status
primaryContact {
firstName
middleName
lastName
email
dob
mobile
}
address {
building
street
suburb
state
country
postcode
}
postalAddress {
building
street
suburb
state
country
postcode
}
businessNumber
bsb
accountNo
externalId
fundingAccounts(input: $input) {
iban
accountNo
bic
currency
externalReference
}
}
}{
"id": "606d28675a2d931bc925fec2",
"input": {
"currencies": ["EUR", "USD", "HKD", "CNY"]
}
}{
"data": {
"subClient": {
"id": "606d28675a2d931bc925fec2",
"fullName": "ACME Corp",
"legalName": "ACME Corp",
"tradingAsName": null,
"clientType": "COMPANY",
"status": "ACTIVE",
"primaryContact": {
"firstName": "John",
"middleName": null,
"lastName": "Smith",
"email": "john.smith@example.com",
"dob": "1980-12-12",
"mobile": "+61 422 832 849"
},
"address": {
"building": "25",
"street": "Moore St",
"suburb": "Waterloo",
"state": "NSW",
"country": "AU",
"postcode": "2017"
},
"postalAddress": {
"building": "25",
"street": "Moore St",
"suburb": "Waterloo",
"state": "NSW",
"country": "AU",
"postcode": "2017"
},
"businessNumber": "91383840265",
"bsb": "802919",
"accountNo": "1066419",
"externalId": "991188227733"
}
}
}const bodyJSON = {
variables: {
input: {
},
},
query: `
query ($input: SubClientQueryInput!) {
subClients(input: $input) {
id fullName legalName clientType status businessNumber
bsb accountNo externalId
}
}`,
}; query($input: SubClientQueryInput!){
subClients(input: $input) {
id
fullName
legalName
clientType
status
businessNumber
bsb
accountNo
externalId
# any other set of properties
}
} {
"input": {
}
}{
"data": {
"subClients": [
{
"id": "5fb314cb9224595df522db61",
"fullName": "Richard Smith",
"legalName": null,
"clientType": "INDIVIDUAL",
"status": "ACTIVE",
"businessNumber": null,
"bsb": "802919",
"accountNo": "1963041",
"externalId": null
},
{
"id": "60612f00a4d7dd5c96e37676",
"fullName": "ABC Capital",
"legalName": "ABC Co",
"clientType": "COMPANY",
"status": "ACTIVE",
"businessNumber": "839399923932",
"bsb": "802919",
"accountNo": "1914920",
"externalId": null
}
]
}
}const bodyJSON = {
variables: {
input: {
clientType: "INDIVIDUAL",
status: "ACTIVE",
firstName: "John",
lastName: "Smith",
address: {
country: "AU",
},
},
},
query: `
query ($input: SubClientQueryInput!) {
subClients(input: $input) {
id fullName clientType status
primaryContact {
firstName lastName
}
address {
country
}
}
}`,
}; query($input: SubClientQueryInput!){
subClients(input: $input) {
id
fullName
clientType
status
primaryContact {
firstName
lastName
}
address {
country
}
# any other set of properties
}
}{
# more filters available, see SubClientQueryInput in API schema
"input": {
"clientType": "INDIVIDUAL",
"status": "ACTIVE",
"firstName": "John",
"lastName": "Smith",
"address": {
"country": "AU"
}
}
}Retrieve the members of your client account
const bodyJSON = {
variables
query ($input: MembersQueryInput) {
{
"input": {
}
}{
"data": {
"members": [
{
"id": "5fb314cb9224595df522db61",
"firstName": "John",
"middleName": null,
"lastName": "Smith",
"dob": "1980-12-12",
"email": "john.smith@example.com",
"mobile": "+61 422 832 849",
"address": {
"building": null,
"streetNo": "25",
"street": "Moore St",
"suburb": "Waterloo",
"state": "NSW",
"postcode": "2017",
"country": "AU"
},
"status": "ACTIVE",
"roles": ["director", "treasurer"],
"access": ["admin", "transact", "approve"],
"isPrimaryContact": true
}
]
}
}Retrieve your RFIs and their questions
const bodyJSON = {
variables
query($id: ID!) {
rfi(id: $id) {
id
status
statusMessage
deadline
questions {
questionCode
questionText
fileUploadOption
answered
}
withdrawals { id status }
deposits { id status }
payments { id status }
createdAt
}
}{
"id": "61f3a2c8d1e9b7a4c5d6e7f8"
}{
"data": {
"rfi": {
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"status": "PENDING",
"statusMessage": "We are waiting for your replies",
"deadline": "2026-06-04T09:00:00.000Z",
"questions": [
{
"questionCode": "SENDER_ID_PROOF",
"questionText": "Sender's ID proof",
"fileUploadOption": "PREFERRED",
"answered": false
},
{
"questionCode": "OTHER_TX_PURPOSE",
"questionText": "Purpose of transfer",
"fileUploadOption": "NONE",
"answered": false
}
],
"withdrawals": [
{ "id": "61f3a2c8d1e9b7a4c5d6e7aa", "status": "REVIEWING" }
],
"deposits": [],
"payments": [],
"createdAt": "2026-05-28T09:00:00.000Z"
}
}
}instructingInstitution.businessNumber AND instructingInstitution.address.countryaddress.countryexternalIdaddresspostalAddressconst bodyJSON = {
variables: {
input: "606128f24bf29139b2cf74ef",
},
query: `
mutation ($input: ID!) {
disableSubClient(id: $input) {
success code message
subClient {
id status
}
}
}`,
};mutation($input: ID!) {
disableSubClient(id: $input) {
success
code
message
subClient {
id
status
}
}
}const bodyJSON = {
variables: {
input: "606128f24bf29139b2cf74ef",
},
query: `
mutation ($input: ID!) {
activateSubClient(id: $input) {
success code message
subClient {
id status
}
}
}`,
};mutation($input: ID!) {
activateSubClient(id: $input) {
success
code
message
subClient {
id
status
}
}
}const bodyJSON = {
variables: {
id: "6820a4f3e1c2b5d8f0123456",
},
query: `
query ($id: ID!) {
addressCleanserRequest(id: $id) {
id
originalAddress {
building
streetNo
street
suburb
state
postcode
country
}
cleansedAddress {
building
streetNo
street
suburb
state
postcode
country
}
recommendation
score
createdAt
billable
}
}`,
};{
"data": {
"subClients": [
{
"id": "5fb314cb9224595df522db61",
"fullName": "John Smith",
"clientType": "INDIVIDUAL",
"status": "ACTIVE",
"primaryContact": {
"firstName": "John",
"lastName": "Smith"
},
"address": {
"country": "AU"
}
}
]
}
}const bodyJSON = {
variables: {
input: {
status: ["ACTIVE"],
roles: ["director"],
access: ["transact"],
},
},
query: `
query ($input: MembersQueryInput) {
members(input: $input) {
id firstName lastName status roles access
}
}`,
};query ($input: MembersQueryInput) {
members(input: $input) {
id
firstName
lastName
status
roles
access
}
}{
"input": {
"status": ["ACTIVE"],
"roles": ["director"],
"access": ["transact"]
}
}{
"data": {
"members": [
{
"id": "5fb314cb9224595df522db61",
"firstName": "John",
"lastName": "Smith",
"status": "ACTIVE",
"roles": ["director"],
"access": ["transact", "login"]
}
]
}
}{
"data": {
"confirmationOfPayee": {
"success": false,
"code": "COP_API_DISABLED",
"message": "Confirmation Of Payee API is disabled. Please contact support.",
"billable": false
}
}
}const bodyJSON = {
variables: {
input: {
statuses: ["PENDING"],
},
},
query: `
query ($input: RfisInput) {
rfis(input: $input) {
id
status
deadline
questions {
questionCode
answered
}
createdAt
}
}`,
};query($input: RfisInput) {
rfis(input: $input) {
id
status
deadline
questions {
questionCode
answered
}
createdAt
}
}{
"input": {
"statuses": ["PENDING"]
}
}{
"data": {
"rfis": [
{
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"status": "PENDING",
"deadline": "2026-06-04T09:00:00.000Z",
"questions": [
{ "questionCode": "SENDER_ID_PROOF", "answered": false },
{ "questionCode": "OTHER_TX_PURPOSE", "answered": false }
],
"createdAt": "2026-05-28T09:00:00.000Z"
}
]
}
}const bodyJSON = {
variables: {
id: "660fef8e1f3b5452bd6945ec",
input: {
externalId: "my_system_id_29f-ae0978b00d09e",
},
},
query: `
mutation ($id: ID!, $input: UpdateSubClientInput!) {
updateSubClient(id: $id, input: $input) {
success code message
subClient {
id status externalId
}
}
}`,
};mutation($id: ID!, $input: UpdateSubClientInput!) {
updateSubClient(id: $id, input: $input) {
success
code
message
subClient {
id
status
externalId
}
}
}{
"id": "660fef8e1f3b5452bd6945ec",
"input": {
"externalId": "my_system_id_29f-ae0978b00d09e"
}
}{
"data": {
"updateSubClient": {
"success": true,
"code": "SUCCESS",
"message": "Sub-client was successfully updated",
"subClient": {
"id": "660fef8e1f3b5452bd6945ec",
"status": "ACTIVE",
"externalId": "my_system_id_29f-ae0978b00d09e"
}
}
}
}const bodyJSON = {
variables: {
id: "660fef8e1f3b5452bd6945ec",
input: {
adddress: {
street: "456 New St",
suburb: "Newtow",
state: "VIC",
postcode: "3220",
country: "AU",
},
},
},
query: `
mutation ($id: ID!, $input: UpdateSubClientInput!) {
updateSubClient(id: $id, input: $input) {
success code message
subClient {
id status externalId address {building street suburb state postcode country}
}
}
}`,
};mutation($id: ID!, $input: UpdateSubClientInput!) {
updateSubClient(id: $id, input: $input) {
success
code
message
subClient {
id
status
externalId
address {
building
street
suburb
state
postcode
country
}
}
}
}{
"id": "660fef8e1f3b5452bd6945ec",
"input": {
"address": {
"street": "456 New St",
"suburb": "Newtow",
"state": "VIC",
"postcode": "3220",
"country": "AU"
}
}
}{
"data": {
"updateSubClient": {
"success": true,
"code": "SUCCESS",
"message": "Sub-client was successfully updated",
"subClient": {
"id": "660fef8e1f3b5452bd6945ec",
"status": "ACTIVE",
"externalId": "my_system_id_29f-ae0978b00d09e",
"address": {
"building": null,
"street": "456 New St",
"suburb": "Newtow",
"state": "VIC",
"postcode": "3220",
"country": "AU"
}
}
}
}
}{
"input": "606128f24bf29139b2cf74ef"
}{
"data": {
"disableSubClient": {
"success": true,
"code": "SUCCESS",
"message": "Sub-client was successfully disabled",
"subClient": {
"id": "606128f24bf29139b2cf74ef",
"status": "DISABLED"
}
}
}
}{
"input": "606128f24bf29139b2cf74ef"
}{
"data": {
"activateSubClient": {
"success": true,
"code": "SUCCESS",
"message": "Sub-client was successfully activated",
"subClient": {
"id": "606128f24bf29139b2cf74ef",
"status": "ACTIVE"
}
}
}
}const bodyJSON = {
variables: {
input: {},
},
query: `
query ($input: AddressCleanserQueryInput) {
addressCleanserRequests(input: $input) {
id
recommendation
score
createdAt
}
}`,
};query($input: AddressCleanserQueryInput) {
addressCleanserRequests(input: $input) {
id
recommendation
score
createdAt
# there are many other properties
}
}{
"input": {}
}{
"data": {
"addressCleanserRequests": [
{
"id": "6820a4f3e1c2b5d8f0123456",
"recommendation": "accept",
"score": 98.25,
"createdAt": "2026-06-12T08:23:14.521Z"
},
{
"id": "6820b1d9c3f4a7e2d0987654",
"recommendation": "review",
"score": 64.1,
"createdAt": "2026-06-12T09:01:44.008Z"
}
]
}
}const bodyJSON = {
variables: {
input: {
recommendation: "accept",
minCreatedAt: "2026-06-01T00:00:00.000Z",
maxCreatedAt: "2026-07-01T00:00:00.000Z",
},
},
query: `
query ($input: AddressCleanserQueryInput) {
addressCleanserRequests(input: $input) {
id
recommendation
score
createdAt
}
}`,
};query($input: AddressCleanserQueryInput) {
addressCleanserRequests(input: $input) {
id
recommendation
score
createdAt
}
}{
"input": {
"recommendation": "accept",
"minCreatedAt": "2026-06-01T00:00:00.000Z",
"maxCreatedAt": "2026-07-01T00:00:00.000Z"
}
}{
"data": {
"addressCleanserRequests": [
{
"id": "6820a4f3e1c2b5d8f0123456",
"recommendation": "accept",
"score": 98.25,
"createdAt": "2026-06-12T08:23:14.521Z"
}
]
}
}query($id: ID!) {
addressCleanserRequest(id: $id) {
id
originalAddress {
building
streetNo
street
suburb
state
postcode
country
}
cleansedAddress {
building
streetNo
street
suburb
state
postcode
country
}
recommendation
score
createdAt
billable
}
}{
"id": "6820a4f3e1c2b5d8f0123456"
}{
"data": {
"addressCleanserRequest": {
"id": "6820a4f3e1c2b5d8f0123456",
"originalAddress": {
"building": null,
"streetNo": null,
"street": "33 effingham st, sth launceston 7249",
"suburb": null,
"state": null,
"postcode": null,
"country": "AU"
},
"cleansedAddress": {
"building": null,
"streetNo": null,
"street": "33 Effingham Street",
"suburb": "South Launceston",
"state": "TAS",
"postcode": "7249",
"country": "AU"
},
"recommendation": "accept",
"score": 97.1,
"createdAt": "2026-06-12T08:23:14.521Z",
"billable": true
}
}
}Automatically receive and convert funds from other countries and currencies
const bodyJSON = {
variables: {
input: {
currencies: ["EUR","USD","HKD","CNY"],
},
},
query: `
query ($input: FundingAccountQueryInput!) {
fundingAccounts(input: $input) {
iban accountNo accountName accountAddress bic currency externalReference
}
}`,
}; query($input: FundingAccountQueryInput!) {
fundingAccounts(input: $input) {
iban
accountNo
accountName
accountAddress
bic
currency
externalReference
}
} {
"input": {
"currencies": ["EUR", "USD", "HKD", "CNY"]
}
}{
"data": {
"fundingAccounts": [
{
"iban": "GB91 BARC 2006 0565 4685 66",
"accountNo": "65468566",
"bic": "BARCGB22",
"currency": "USD",
"externalReference": "191127-99999"
},
{
"iban": "GB05 BARC 2006 0574 7412 77",
"accountNo": "74741277",
"bic": "BARCGB22",
"currency": "EUR",
"externalReference": "191127-99999"
},
{
"iban": null,
"accountNo": "87135588",
"bic": "BARCGB22",
"currency": "CNY",
"externalReference": "191127-99999"
},
{
"iban": "GB87 BARC 2006 0546 9946 00",
"accountNo": "46994600",
"bic": "BARCGB22",
"currency": "HKD",
"externalReference": "191127-99999"
}
]
}
}const bodyJSON = {
variables: {
sc: {
externalId: "991188227733",
},
fa: {
currencies: ["EUR","USD","CNY"],
},
},
query: `
query ($sc: SubClientQueryInput!, $fa: FundingAccountQueryInput!) {
subClients(input: $sc) {
id externalId
fundingAccounts(input: $fa) {
iban accountNo accountName accountAddress bic currency externalReference
}
}
}`,
};query($sc: SubClientQueryInput!, $fa: FundingAccountQueryInput!) {
subClients(input: $sc) {
id
externalId
fundingAccounts(input: $fa) {
iban
accountNo
accountName
accountAddress
bic
currency
externalReference
}
}
} {
"sc": {
"externalId": "991188227733"
},
"fa": {
"currencies": ["EUR", "USD", "CNY"]
}
}{
"data": {
"subClients": [
{
"id": "60a1e9e76eaedbf66964a323",
"externalId": "991188227733",
"fundingAccounts": [
{
"iban": "GB91 BARC 2006 0565 4685 66",
"accountNo": "65468566",
"bic": "BARCGB22",
"currency": "USD",
"externalReference": "210616-99999"
},
{
"iban": "GB05 BARC 2006 0574 7412 77",
"accountNo": "74741277",
"bic": "BARCGB22",
"currency": "EUR",
"externalReference": "210616-99999"
},
{
"iban": null,
"accountNo": "87135588",
"bic": "BARCGB22",
"currency": "CNY",
"externalReference": "210616-99999"
},
]
}
]
}
}Send money from your Flash Payments balances to Australian bank accounts or internationally per your approved use case.
const bodyJSON = {
variables
mutation($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success
code
message
withdrawal {
id
status
amount
currency
}
}
}{
"input": {
"amount": 1000,
"currency": "AUD",
"sender": {
"companyName": "Acme LLC",
"address": {
"street": "1 Jon St PORTLAND VA 54321",
"country": "US"
}
},
"recipient": {
"bsb": "370370",
"accountNo": "123123123",
"companyName": "Acme Pty Ltd",
"currency": "AUD",
"accountIdType": "BSB",
"address": {
"street": "1 Main St SYDNEY NSW 2000",
"country": "AU"
}
},
"externalReference": "invoice #1234",
"externalId": "12344321",
"idempotencyKey": "12344321"
}
}{
"data": {
"createWithdrawal": {
"success": true,
"code": "SUCCESS",
"message": "Withdrawal was created",
"withdrawal": {
"id": "6904332f42b934e1954a734e",
"status": "INITIALISED",
"amount": 1000,
"currency": "AUD"
}
}
}
}externalReferenceHow to send orchestrated account-to-account payments which include FX
const bodyJSON = {
variables
mutation($input: PaymentInput!) {
createPayment(input: $input) {
success
code
message
payment {
id
status
size
}
}
}{
"input": {
"fromCurrency": "AUD",
"toCurrency": "GBP",
"size": 1000,
"currency": "AUD",
"reason": "BUSINESS",
"sourceOfFunds": "BUSINESS_FUNDS",
"externalReference": "my ref 221b",
"externalId": "12344321",
"idempotencyKey": "12344321",
"recipient": {
"iban": "GB26MIDL40051512345674",
"companyName": "Acme GB Ltd",
"currency": "GBP",
"accountIdType": "IBAN",
"address": {
"street": "1 Main St LONDON SW1A 1AA",
"country": "GB"
}
}
}
}{
"data": {
"createPayment": {
"success": true,
"code": "SUCCESS",
"message": "Scheduled for immediate execution",
"payment": {
"id": "60711af8c078ba061f623531",
"status": "OPEN",
"size": 1000
}
}
}
}recipient object or recipientIdCRUD queries for your payment senders
CRUD queries for your payment recipients
const bodyJSON = {
variables: {
input: {
amount: 1000,
currency: "AUD",
externalReference: "invoice #1234",
recipient: {
bsb: "370370",
accountNo: "123123123",
companyName: "Acme Pty Ltd",
currency: "AUD",
accountIdType: "BSB",
address: {
street: "1 Main St SYDNEY NSW 2000",
country: "AU",
},
},
subClientId: "3fbj71b1dc328d56g94g9375",
externalId: "123443212",
idempotencyKey: "123443212",
},
},
query: `
mutation ($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success code message
withdrawal {
id status amount currency
}
}
}`,
}; mutation($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success
code
message
withdrawal {
id
status
amount
currency
}
}
} {
"input": {
"amount": 1000,
"currency": "AUD",
"externalReference": "invoice #1234",
"recipient": {
"bsb": "370370",
"accountNo": "123123123",
"companyName": "Acme Pty Ltd",
"currency": "AUD",
"accountIdType": "BSB",
"address": {
"street": "1 Main St SYDNEY NSW 2000",
"country": "AU"
}
},
"subClientId": "3fbj71b1dc328d56g94g9375",
"externalId": "123443212",
"idempotencyKey": "123443212"
}
}{
"data": {
"createWithdrawal": {
"success": true,
"code": "SUCCESS",
"message": "Withdrawal was created",
"withdrawal": {
"id": "60711af8c078ba061f623531",
"status": "INITIALISED",
"amount": 1000,
"currency": "AUD"
}
}
}
}const bodyJSON = {
variables: {
input: {
amount: 500,
currency: "AUD",
externalReference: "invoice #123",
recipient: {
bsb: "370370",
accountNo: "123123123",
companyName: "Acme Pty Ltd",
currency: "AUD",
accountIdType: "BSB",
address: {
street: "1 Main St SYDNEY NSW 2000",
country: "AU",
},
},
externalId: "1234567890",
idempotencyKey: "0987654321",
},
},
query: `
mutation ($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success code message
withdrawal {
id status amount currency
sender {
firstName lastName companyName
}
}
}
}`,
}; mutation($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success
code
message
withdrawal {
id
status
amount
currency
sender {
firstName
lastName
companyName
}
}
}
} {
"input": {
"amount": 500,
"currency": "AUD",
"externalReference": "invoice #123",
"recipient": {
"bsb": "370370",
"accountNo": "123123123",
"companyName": "Acme Pty Ltd",
"currency": "AUD",
"accountIdType": "BSB",
"address": {
"street": "1 Main St SYDNEY NSW 2000",
"country": "AU"
}
},
"externalId": "1234567890",
"idempotencyKey": "0987654321"
}
}{
"data": {
"createWithdrawal": {
"success": true,
"code": "SUCCESS",
"message": "Withdrawal was created",
"withdrawal": {
"id": "67cb69f2ee6c254315bb1c3d",
"status": "INITIALISED",
"amount": 500,
"currency": "AUD",
"sender": {
"firstName": "John",
"lastName": "Smith",
"companyName": "Smith Consulting Pty Ltd"
}
}
}
}const bodyJSON = {
variables: {
input: {
fromCurrency: "AUD",
toCurrency: "GBP",
size: 1000,
currency: "AUD",
reason: "BUSINESS",
sourceOfFunds: "BUSINESS_FUNDS",
externalReference: "my ref 221b",
subClientId: "6092360bf40f2dgc52f85cf1",
recipient: {
iban: "GB26MIDL40051512345674",
companyName: "Acme GB Ltd",
currency: "GBP",
accountIdType: "IBAN",
address: {
street: "1 Main St LONDON SW1A 1AA",
country: "GB",
},
},
externalId: "123443212",
idempotencyKey: "123443212",
},
},
query: `
mutation ($input: PaymentInput!) {
createPayment(input: $input) {
success code message
payment {
id status size
}
}
}`,
}; mutation($input: PaymentInput!) {
createPayment(input: $input) {
success
code
message
payment {
id
status
size
}
}
}{
"input": {
"fromCurrency": "AUD",
"toCurrency": "GBP",
"size": 1000,
"currency": "AUD",
"reason": "BUSINESS",
"sourceOfFunds": "BUSINESS_FUNDS",
"externalReference": "my ref 221b",
"subClientId": "6092360bf40f2dgc52f85cf1",
"externalId": "12344321",
"idempotencyKey": "12344321",
"recipient": {
"iban": "GB26MIDL40051512345674",
"companyName": "Acme GB Ltd",
"currency": "GBP",
"accountIdType": "IBAN",
"address": {
"street": "1 Main St LONDON SW1A 1AA",
"country": "GB"
}
}
}
}{
"data": {
"createPayment": {
"success": true,
"code": "SUCCESS",
"message": "Scheduled for immediate execution",
"payment": {
"id": "60711bg8d078cb061g623531",
"status": "OPEN",
"size": 1000
}
}
}
}const bodyJSON = {
variables: {
input: {
fromCurrency: "AUD",
toCurrency: "GBP",
size: 1000,
currency: "AUD",
reason: "BUSINESS",
sourceOfFunds: "BUSINESS_FUNDS",
externalReference: "my ref 2234",
recipient: {
iban: "GB26MIDL40051512345674",
companyName: "Acme GB Ltd",
currency: "GBP",
accountIdType: "IBAN",
address: {
street: "1 Main St LONDON SW1A 1AA",
country: "GB",
},
},
externalId: "0123443210",
idempotencyKey: "0000012344321000",
},
},
query: `
mutation ($input: PaymentInput!) {
createPayment(input: $input) {
success code message
payment {
id status size
sender {
firstName lastName companyName
}
}
}
}`,
}; mutation($input: PaymentInput!) {
createPayment(input: $input) {
success
code
message
payment {
id
status
size
sender {
firstName
lastName
companyName
}
}
}
}{
"input": {
"fromCurrency": "AUD",
"toCurrency": "GBP",
"size": 1000,
"currency": "AUD",
"reason": "BUSINESS",
"sourceOfFunds": "BUSINESS_FUNDS",
"externalReference": "my ref 2234",
"externalId": "0123443210",
"idempotencyKey": "0000012344321000",
"recipient": {
"iban": "GB26MIDL40051512345674",
"companyName": "Acme GB Ltd",
"currency": "GBP",
"accountIdType": "IBAN",
"address": {
"street": "1 Main St LONDON SW1A 1AA",
"country": "GB"
}
}
}
}{
"data": {
"createPayment": {
"success": true,
"code": "SUCCESS",
"message": "Scheduled for immediate execution",
"payment": {
"id": "67d8e98caaa23286e1a1fd00",
"status": "OPEN",
"size": 1000,
"sender": {
"firstName": "John",
"lastName": "Smith",
"companyName": "Smith Consulting Pty Ltd"
}
}
}
}
}const bodyJSON = {
variables
query($input: ID) {
{
"input": "59f2733f2519e236edab0efe"
}{
"data": {
"sender": {
"email": "john@example.com",
"firstName": "John",
"lastName": "Smith",
"companyName": null,
"address": {
"country": "GB"
}
}
}
}const bodyJSON = {
variables: {
input: {
email: "john@example.com",
},
},
query: `
query ($input: RecipientQueryInput!) {
senders(input: $input) {
email firstName lastName companyName
address {
country
}
}
}`,
};query($input: SenderQueryInput!) {
senders(input: $input) {
email
firstName
lastName
companyName
address {
country
}
# there are many other properties
}
}{
"input": {
"email": "john@example.com"
}
}{
"data": {
"senders": [
{
"email": "john@example.com",
"firstName": "John",
"lastName": "Smith",
"companyName": null,
"address": {
"country": "GB"
}
},
{
"email": "john@example.com",
"firstName": null,
"lastName": null,
"companyName": "Acme Inc",
"address": {
"country": "US"
}
},
]
}
}const bodyJSON = {
variables: {
input: {
firstName: "Malcolm",
lastName: "Jez",
dob: "2000-01-01",
email: "malcolm@example.com",
mobile: "+61 4123456789",
address: {
street: "1 Test St",
suburb: "London",
state: "TST",
country: "GB",
postcode: "2000",
},
idDoc: {
type: "passport",
docNumber: "GB1234321",
issuer: "His Majesty’s Passport Office (HMPO)",
issueDate: "1990-01-01",
expiryDate: "2045-01-01",
country: "GB",
},
},
},
query: `
mutation ($input: SenderInput!) {
createSender(input: $input) {
success code message
sender {
id nickName
}
}
}`,
};mutation($input: SenderInput!) {
createSender(input: $input) {
success code message
sender {
id
nickName
# there are many other properties
}
}
}{
"input": {
"firstName": "Malcolm",
"lastName": "Jez",
"dob": "2000-01-01",
"email": "malcolm@example.com",
"mobile": "+61 4123456789",
"address": {
"street": "1 Test St",
"suburb": "London",
"state": "TST",
"country": "GB",
"postcode": "2000"
},
"idDoc": {
"type": "passport",
"docNumber": "GB1234321",
"issuer": "His Majesty’s Passport Office (HMPO)",
"issueDate": "1990-01-01",
"expiryDate": "2045-01-01",
"country": "GB"
}
}
}{
"data": {
"createSender": {
"success": true,
"code": "CREATED",
"message": "New sender created",
"sender": {
"id": "686393e689c1fb1b255cac5c",
"nickName": "MalcolmJez"
}
}
}
}const bodyJSON = {
variables: {
input: {
companyName: "Acme Pte Ltd",
businessNumber: "12345678912",
email: "acme@example.com",
mobile: "+61 4123456789",
address: {
street: "1 Test St",
suburb: "London",
state: "TST",
country: "GB",
postcode: "2000",
},
idDoc: {
type: "certificateOfRegistration",
docNumber: "GB-REG-987654321",
issuer: "Companies House",
issueDate: "1990-01-01",
expiryDate: "2100-01-01",
country: "GB",
},
},
},
query: `
mutation ($input: SenderInput!) {
createSender(input: $input) {
success code message
sender {
id nickName
}
}
}`,
};mutation($input: SenderInput!) {
createSender(input: $input) {
success code message
sender {
id
nickName
# there are many other properties
}
}
}{
"input": {
"companyName": "Acme Pte Ltd",
"businessNumber": "12345678912",
"email": "acme@example.com",
"mobile": "+61 4123456789",
"address": {
"street": "1 Test St",
"suburb": "London",
"state": "TST",
"country": "GB",
"postcode": "2000"
},
"idDoc": {
"type": "certificateOfRegistration",
"docNumber": "GB-REG-987654321",
"issuer": "Companies House",
"issueDate": "1990-01-01",
"expiryDate": "2100-01-01",
"country": "GB"
}
}
}{
"data": {
"createSender": {
"success": true,
"code": "CREATED",
"message": "New sender created",
"sender": {
"id": "68638e6989c1fb1b255ca9c3",
"nickName": "Acme Pte L"
}
}
}
}const bodyJSON = {
variables: {
input: {
firstName: "Malcolm",
lastName: "Jez The Second",
dob: "2000-01-01",
email: "malcolm@example.com",
mobile: "+61 4123456789",
address: {
street: "1 Test St",
suburb: "London",
state: "TST",
country: "GB",
postcode: "2000",
},
},
},
query: `
mutation ($input: SenderInput!) {
updateSender(input: $input) {
success code message
sender {
id lastName
}
}
}`,
};mutation($id: ID, $input: SenderInput!) {
updateSender(id: $id, input: $input) {
success code message
sender {
id
lastName
# there are many other properties
}
}
}{
"id": "686393e689c1fb1b255cac5c",
"input": {
"firstName": "Malcolm",
"lastName": "Jez The Second",
"dob": "2000-01-01",
"email": "malcolm@example.com",
"mobile": "+61 4123456789",
"address": {
"street": "1 Test St",
"suburb": "London",
"state": "TST",
"country": "GB",
"postcode": "2000"
}
}
}{
"data": {
"updateSender": {
"success": true,
"code": "UPDATED",
"message": "Sender 686393e689c1fb1b255cac5c updated.",
"sender": {
"id": "686393e689c1fb1b255cac5c",
"lastName": "Jez The Second"
}
}
}
}const bodyJSON = {
variables: {
input: "686393e689c1fb1b255cac5c",
},
query: `
mutation ($input: ID) {
deleteSender(id: $input) {
success code message
}
}`,
};mutation($input: ID) {
deleteSender(id: $input) {
success
code
message
# there are many other properties
}
}{
"input": "686393e689c1fb1b255cac5c"
}
{
"data": {
"deleteSender": {
"success": true,
"code": "SUCCESS",
"message": "Sender deleted"
}
}
}const bodyJSON = {
variables
query($input: ID) {
{
"input": "6b04c62ec0bf606bf216ae21"
}{
"data": {
"recipient": {
"accountIdType": "ACC NO",
"currency": "USD",
"country": "AU",
"email": "john@example.com"
}
}
}const bodyJSON = {
variables: {
input: {
currency: "USD",
},
},
query: `
query ($input: RecipientQueryInput!) {
recipients(input: $input) {
accountIdType currency country email
}
}`,
};query($input: RecipientQueryInput!) {
recipients(input: $input) {
accountIdType
currency
country
email
# there are many other properties
}
}{
"input": {
"currency": "USD"
}
} {
"data": {
"recipients": [
{
"accountIdType": "ACC NO",
"currency": "USD",
"country": "AU",
"email": "john@example.com"
}
]
}
}const bodyJSON = {
variables: {
input: {
firstName: "John",
lastName: "Malkovich",
dob: "1987-06-05",
accountIdType: "BSB",
currency: "AUD",
bsb: "370370",
accountNo: "12341234",
email: "john@example.com",
address: {
street: "22 Woolooware Rd",
suburb: "Woolooware",
state: "NSW",
country: "AU",
postcode: "2230",
},
},
},
query: `
mutation ($input: RecipientInput!) {
createRecipient(input: $input) {
success code message
recipient {
id nickName accountIdType currency email
}
}
}`,
};mutation($input: RecipientInput!) {
createRecipient(input: $input) {
success code message
recipient {
id nickName accountIdType currency email
# there are many other properties
}
}
} {
"input": {
"firstName": "John",
"lastName": "Malkovich",
"dob": "1987-06-05",
"accountIdType": "BSB",
"currency": "AUD",
"bsb": "370370",
"accountNo": "12341234",
"email": "john@example.com",
"address": {
"street": "22 Woolooware Rd",
"suburb": "Woolooware",
"state": "NSW",
"country": "AU",
"postcode": "2230"
}
}
}{
"data": {
"createRecipient": {
"success": true,
"code": "SUCCESS",
"message": "Recipient created",
"recipient": {
"id": "6859c06eaa36ba8534d974f1",
"nickName": "JohnMalkov",
"accountIdType": "BSB",
"currency": "AUD",
"email": "john@example.com"
}
}
}
}const bodyJSON = {
variables: {
input: {
companyName: "Acme Pty Ltd",
accountIdType: "BSB",
currency: "AUD",
bsb: "370370",
accountNo: "12341234",
email: "john@example.com",
address: {
street: "22 Woolooware Rd",
suburb: "Woolooware",
state: "NSW",
country: "AU",
postcode: "2230",
},
},
},
query: `
mutation ($input: RecipientInput!) {
createRecipient(input: $input) {
success code message
recipient {
id nickName accountIdType currency email
}
}
}`,
};mutation($input: RecipientInput!) {
createRecipient(input: $input) {
success code message
recipient {
id nickName accountIdType currency email
# there are many other properties
}
}
} {
"input": {
"companyName": "Acme Pty Ltd",
"accountIdType": "BSB",
"currency": "AUD",
"bsb": "370370",
"accountNo": "12341234",
"email": "john@example.com",
"address": {
"street": "22 Woolooware Rd",
"suburb": "Woolooware",
"state": "NSW",
"country": "AU",
"postcode": "2230"
}
}
}{
"data": {
"createRecipient": {
"success": true,
"code": "SUCCESS",
"message": "Recipient created",
"recipient": {
"id": "6859ca4baa36ba8534d97da1",
"nickName": "Acme Pty L",
"accountIdType": "BSB",
"currency": "AUD",
"email": "john@example.com"
}
}
}
}const bodyJSON = {
variables: {
id: "5ba89a6b35a2b327b81ffc3b",
input: {
nickName: "JohnM",
firstName: "John",
lastName: "Malkovich",
accountIdType: "BSB",
currency: "AUD",
bsb: "370370",
accountNo: "12341234",
email: "john@example.com",
address: {
street: "22 Woolooware Rd",
suburb: "Woolooware",
state: "NSW",
country: "AU",
postcode: "2230",
},
},
},
query: `
mutation ($id: ID, $input: RecipientInput!) {
updateRecipient(id: $id, input: $input) {
success code message
recipient {
id nickName
}
}
}`,
}; mutation($id: ID, $input: RecipientInput!) {
updateRecipient(id: $id, input: $input) {
success
code
message
recipient {
id
nickName
# there are many other properties
}
}
}{
"id": "5ba89a6b35a2b327b81ffc3b",
"input":{
"nickName": "JohnM",
"firstName": "John",
"lastName": "Malkovich",
"accountIdType": "BSB",
"currency": "AUD",
"bsb": "370370",
"accountNo": "12341234",
"email": "john@example.com",
"address": {
"street": "22 Woolooware Rd",
"suburb" : "Woolooware",
"state": "NSW",
"country": "AU",
"postcode": "2230"
}
}
}{
"data": {
"createRecipient": {
"success": true,
"code": "SUCCESS",
"message": "Recipient updated",
"recipient": {
"id": "5ba89a6b35a2b327b81ffc3b",
"nickName": "JohnM"
}
}
}
}const bodyJSON = {
variables: {
input: "6b04c62ec0bf606bf216ae21",
},
query: `
mutation ($input: ID) {
deleteRecipient(id: $input) {
success code message
}
}`,
};mutation($input: ID) {
deleteRecipient(id: $input) {
success
code
message
# there are many other properties
}
}{
"input": "6b04c62ec0bf606bf216ae21"
}{
"data": {
"deleteRecipient": {
"success": true,
"code": "SUCCESS",
"message": "Recipient deleted"
}
}
}staterfi_created, rfi_assessing, rfi_closed. Dispatched for every RFI regardless of whether it is answered via the API or via the email form.ams_pendingams_completedams_failedCLABEIFSCCNAPSSORT_CODEACC_NObicUNAPPROVED.deposit_cleared will be sent immediately as we approve (clear) the deposits. So, no changes here.accountNamedepositMechanismWithdrawalacceptingInstructionInstitutionSenderId - you must pre-create this Sender and submit every time if you were instructed by other FI to make this withdrawal.lastNameconst bodyJSON = {
variables: {
input: {
amount: 1000,
recipient: { // <- this is new !!!
bsb: "370370",
accountNo: "123123123",
companyName: "Acme Pty Ltd",
currency: "AUD",
accountIdType: "BSB",
address: { street: "1 Main St SYDNEY NSW 2000", country: "AU" },
},
sender: { // <- this is new too !!!
companyName: "Acme LLC",
address: { street: "1 Jon St PORTLAND VA 54321", country: "US" },
},
},
},
query: `
mutation ($input: CreateWithdrawalInput!) {
createWithdrawal(input: $input) {
success code message withdrawal { id }
}
}`,
};
Two types of the webhooks
content-type: application/json
user-agent: FlashFX
flashfx-request-id: [A unique ID of this particuar event]
flashfx-signature: [The cryptographic signature]{
"event": "deposit_initiated",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"currency": "AUD",
"externalReference": "2233445566",
"clearedAt": "2026-03-03T03:25:12.792Z",
"statusMessage": "Deposit initiated",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "deposit_reviewing",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"currency": "AUD",
"externalReference": "2233445566",
"clearedAt": "2026-03-03T03:25:12.792Z",
"statusMessage": "Awaiting manual compliance",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "deposit_cleared",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"currency": "AUD",
"externalReference": "2233445566",
"clearedAt": "2026-03-03T03:25:12.792Z",
"statusMessage": "Deposit cleared",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "deposit_cancelled",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"currency": "AUD",
"externalReference": "2233445566",
"clearedAt": "2026-03-03T03:25:12.792Z",
"statusMessage": "Cancelled by: john@example.com : ",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "deposit_refunding",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"refundAmount": 99,
"currency": "AUD",
"externalReference": "2233445566",
"refundReason": "Client refund request",
"statusMessage": "Deposit refunded",
"refundedAt": "2026-03-03T03:28:43.936Z",
"clearedAt": "2026-03-03T03:25:12.792Z",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "deposit_refunded",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "603f0198770d6595e3c83e0d",
"amount": 100,
"totalFee": 1,
"refundAmount": 99,
"currency": "AUD",
"externalReference": "2233445566",
"refundReason": "Client refund request",
"statusMessage": "Deposit refunded",
"refundedAt": "2026-03-03T03:28:43.936Z",
"clearedAt": "2026-03-03T03:25:12.792Z",
"recipient": {
"accountName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387"
},
"sender": {
"accountName": "ACME Inc",
"companyName": "ACME Inc",
"bankName": "Bank ACME",
"bankCountry": "AU",
"bsb": "809387",
"accountNo": "1839394"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_initiated",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"externalId": "12344321",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_reviewing",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"statusMessage": "Awaiting manual compliance"
"externalId": "12344321",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_pending",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"statusMessage": "Sent to recipient bank"
"externalId": "12344321",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_completed",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"externalId": "12344321",
"statusMessage": "Transaction Confirmed",
"clearedAt": "2021-03-03T03:25:12.792Z",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_failed",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"externalId": "12344321",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_refunded",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"refundAmount": 2000,
"currency": "AUD",
"externalId": "12344321",
"refundReason": "No account or incorrect account number",
"statusMessage": "Payout reversal",
"refundedAt": "2026-03-04T15:21:11.920Z",
"clearedAt": "2026-03-03T03:25:12.792Z",
"recipient": {
"displayName": "John Smith",
"bsb": "012620",
"accountNo": "89900998"
},
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "John Smith",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "withdrawal_cancelled",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "51711af8c078ba061f623531",
"amount": 2000,
"totalFee": 1,
"currency": "AUD",
"externalId": "12344321",
"rejectCode": "CANCELLATION_REQUESTED_BY_PARTICIPANT",
"rejectedAt": "2025-07-24T21:41:14.581Z"
"statusMessage": "The transaction is rejected upon request.",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "currency_converted",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"externalId": "12344321"
}{
"event": "payment_complete",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"externalId": "12344321"
}{
"event": "payment_failed",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"externalId": "12344321"
}{
"event": "payment_cancelled",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"externalId": "12344321"
}{
"event": "payment_created",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 3500,
"fromCurrency": "EUR",
"toAmount": 2501.94,
"toCurrency": "AUD",
"subClient": {
"id": "203af01936410fd5d5e3c8f14d",
"fullName": "ACME Inc",
"accountNo": "1839394",
"bsb": "809387",
"externalId": "111222333"
}
}{
"event": "conversion_initialised",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"rate": 0.41104,
"externalId": "12344321"
}{
"event": "conversion_pending",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"rate": 0.41104,
"externalId": "12344321"
}{
"event": "conversion_converted",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"rate": 0.41104,
"externalId": "12344321"
}{
"event": "conversion_failed",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"rate": 0.41104,
"externalId": "12344321"
}{
"event": "conversion_cancelled",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "60711af8c078ba061f623531",
"fromAmount": 1000,
"fromCurrency": "AUD",
"toAmount": 411.04,
"toCurrency": "EUR",
"rate": 0.41104,
"externalId": "12344321"
}{
"event": "subclient_initiated",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "INITIATED",
"externalId": "123456789"
}{
"event": "subclient_active",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "ACTIVE",
"externalId": "123456789"
}{
"event": "subclient_unapproved",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "UNAPPROVED",
"externalId": "123456789"
}{
"event": "subclient_failed_kyc",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "FAILED_KYC",
"externalId": "123456789"
}{
"event": "subclient_deactivated",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "DEACTIVATED",
"externalId": "123456789"
}{
"event": "subclient_disabled",
"eventScheduledAt": "2026-03-03T01:25:11.984Z",
"id": "695257f8c8754a74ad671c48",
"fullName": "John Doe",
"status": "DEACTIVATED",
"externalId": "123456789"
}{
"event": "ams_initialised",
"eventScheduledAt": "2026-03-03T08:23:14.521Z",
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "INITIALISED"
}{
"event": "ams_pending",
"eventScheduledAt": "2026-03-03T08:23:15.108Z",
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "PENDING"
}{
"event": "ams_completed",
"eventScheduledAt": "2026-03-03T08:26:42.774Z",
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "COMPLETED"
}{
"event": "ams_failed",
"eventScheduledAt": "2026-03-03T08:26:42.774Z",
"id": "6820a4f3e1c2b5d8f0123456",
"name": "John Smith",
"country": "AU",
"status": "FAILED"
}{
"event": "rfi_created",
"eventScheduledAt": "2026-05-28T09:00:01.115Z",
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"statusMessage": "We are waiting for your replies",
"deadline": "2026-06-04T09:00:00.000Z",
"depositIds": [],
"withdrawalIds": ["61f3a2c8d1e9b7a4c5d6e7aa"],
"paymentIds": [],
"createdAt": "2026-05-28T09:00:00.000Z",
"updatedAt": "2026-05-28T09:00:00.000Z"
}{
"event": "rfi_assessing",
"eventScheduledAt": "2026-05-28T11:42:13.512Z",
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"statusMessage": "We are assessing the information you provided",
"deadline": "2026-06-04T09:00:00.000Z",
"depositIds": [],
"withdrawalIds": ["61f3a2c8d1e9b7a4c5d6e7aa"],
"paymentIds": [],
"createdAt": "2026-05-28T09:00:00.000Z",
"updatedAt": "2026-05-28T11:42:13.512Z"
}{
"event": "rfi_closed",
"eventScheduledAt": "2026-05-29T02:10:44.901Z",
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"statusMessage": "We assessed the information you provided",
"deadline": "2026-06-04T09:00:00.000Z",
"depositIds": [],
"withdrawalIds": ["61f3a2c8d1e9b7a4c5d6e7aa"],
"paymentIds": [],
"createdAt": "2026-05-28T09:00:00.000Z",
"updatedAt": "2026-05-29T02:10:44.890Z"
}{
"event": "rfi_cancelled",
"eventScheduledAt": "2026-05-28T14:05:09.220Z",
"id": "61f3a2c8d1e9b7a4c5d6e7f8",
"statusMessage": "This request has been withdrawn and no longer needs a response",
"deadline": "2026-06-04T09:00:00.000Z",
"depositIds": [],
"withdrawalIds": ["61f3a2c8d1e9b7a4c5d6e7aa"],
"paymentIds": [],
"createdAt": "2026-05-28T09:00:00.000Z",
"updatedAt": "2026-05-28T14:05:09.210Z"
}