Change log
History of changes to this API schema
Last updated
Was this helpful?
History of changes to this API schema
Last updated
Was this helpful?
Improved validation rules for the following mutations: , , , , , and
Affected fields: idDoc.docNumber
idDoc.issuer
legalName
businessNumber
legalName
externalId
. These fields allow only the ASCII characters now.
Also, the first, last, and middle names are limited to 75 chars now.
Also, FQDN-like names will be rejected. Examples: "Aaron x.com", "Ben.eu", "Visit as at URL:example.com/about", etc.
New fields have been added to the , , and mutations. You can now provide idDoc.country
, idDoc.issueDate
, and idDoc.expiryDate
. The idDoc.issuer
field now only stores additional information about the issuer, while idDoc.country
holds the country code of the country that issued the document.
To avoid creating a breaking change, we currently allow you to provide idDoc.country
and/or idDoc.issuer
. In the future, we plan to make idDoc.country
a required field.
New mutation. You can change a sub-client's externalId
now, but nothing else.
New mutation createConversion
. New queries conversion
and conversions
.
The FromCurrency
enum used to have only one item AUD
. Now there are 8: AUD CAD CHF EUR GBP NZD SGD USD
.
New property for the Quote
type: applicability
. It indicates if the quote can be used for payments or conversions.
Improved validation of recipient
, sender
, withdrawal
, institution
related mutations. From now on email
, companyName
, legalName
, businessNumber
, externalReference
must include only the ASCII characters.
Removed AccountIdType.PH_CASH
, Recipient.phCashoutNetwork
with RecipientInput.phCashoutNetwork
and the corresponding enum type PhCashoutNetwork
from the GraphQL schema. These were not working for more than a year.
Removed AccountIdType.RIPPLE
, Recipient.rippleAddress
with Recipient.destTag
from the GraphQL schema. These were deprecated 2.5 years ago.
Removed Sender.isRipple
and CurrencyIso3.XRP
from the GraphQL schema. These were deprecated 2.5 years ago.
Fields acceptingInstructionInstitutionSenderId
and acceptingMoneyInstitutionSenderId
were removed from the CreateWithdrawalInput
.
Instead instructingInstitutionId
was added. (A new API for creating "institutions" is coming soon, but at the moment they can be created via the Flash Connect.)
Currently it returns exactly 1 day of data. We plan to make date range selection more flexible in the future.
Our system always allowed accountNo
to have letter. However, our API forced digits only. So, from now on, when you use createRecipient
, your accountNo
can have both letters and digits.
Improved mobile phone validation. Now if mobile starts with "00" it's treated as if it starts with "+".
Quote size accepts positive numbers only.
The recipient.mobile
and sender.mobile
can accept only valid international phone numbers.
idempotencyKey
to createPayment
input.
idempotencyKey
to createWithdrawal
input.
Removed the auto-creation of id
for embedded senders and recipients. This means that if you (or FlashFX system) have created withdrawals and payments without explicitly providing sender or recipient ID then from now on the sender.id
or recipient.id
will be null
. But, if you create payments or withdrawals via this API then you will always have payment.sender.id
or withdrwal.recipient.id
.
Missing expireAt
property to the Quote
object returned by the quote
query.
New REVIEWING
status to deposit and withdrawal status enum.
REVIEWING
: deposit/withdrawal is being manually checked (e.g. compliance) before proceeding.
Previously only the deposit_cleared
was sent and customers had no idea we are holding (reviewing) the deposit.
The deposit_cleared
will be sent immediately as we approve (clear) the deposits. So, no changes here.
New item in deposit
and related webhooks:
recipient
- deposit recipient information as specified by deposit sender for this transaction:
accountName
accountNo
bsb
New item in deposit.sender:
bankName
New mutation to refund deposits:
refundDeposit(id:ID! input:RefundDepositInput): RefundDepositReply
Additional validation for dob
field introduced for Senders, Recipients and Sub-clients to enforce the data is entered in YYYY-MM-DD format. The field will also allow for only the data after 1900-01-01 and individuals of 18 years of age or older.
Added validation of address fields. From now on, any address submitted as a part of any transaction should only include ASCII characters.
Added deposit.sender.accountName
so that you can query who deposited money to your Virtual Account Number (VAN).
FundingAccount
type has been extended to include all deposit details you need to bring money to Australia. Your account address can now be retrieved using accountAddress
property along with name
and address
fields which identify the accepting financial institution associated with your account.
lastName
and firstName
fields of Sender
and Recipient
objects can now be one symbol long to allow for initials. Please note that such single symbols have to be alphabetic.
Occasionally Payment
objects do not have sender
or recipient
properties. Thus these properties are now marked at "not required" (exclamation mark was removed) when querying payments.
We have added rate limiting. You can receive HTTP 429 error code and get temporary blocked if abusing the API too much.
Removed XRP currency form the list of supported currencies.
While creating sub-clients the address of the person/company was not required. It was a bug which was fixed. To create a sub-client you would also need their: street address, suburb/city, state/region, postcode, and country.
Allow accountNo
to be 4 digits long. Some old Japanese bank accounts could be just 4 digits.
The ability to query deposits, withdrawals, payments by the associated sub-client (subClientId
).
The payments can also have sub-clients now. Added the Payment.subClient
field.
The totalFee
property to both Deposit
and Withdrawal
types as well as webhook payloads.
The bankInfo
reference query. You can now validate your BSB for existence, check if we support your BIC, and retrieve BIC (aka SWIFT code) by IBAN.
The senderId
was always required when creating withdrawals via createWithdrawal
. But now, if you provided the subClientId
and didn't provide the senderId
the sub-client becomes the sender, and will be reported to the government as the sender. However, you still must provide the senderId
if your sub-client moves funds for other people/companies.
Replaced docIssuer
, docType
and docNumber
fields from CreateSubClientInput
with idDoc
nested field instead.
RecipientAccountIdType
was fully duplicating the AccountIdType
. Replace the former with the latter. This might break your auto-generated code in strongly typed languages. But won't change any API queries or responses. So, this change is not considered to be a breaking.
Added ability to disable and activate sub-clients
mutation disableSubClient(id: ID!): MutateSubClientReply
mutation activateSubClient(id: ID!): MutateSubClientReply
Added deposit queries
query deposits(input: DepositQueryInput): [Deposit]
query deposit(id: ID!): Deposit
Introduced sub-client feature – transactional virtual account numbers for AUD processing in Australia.
query subClients(input: SubClientQueryInput): [SubClient]
query subClient(id: ID!): SubClient
mutation createSubClient(input: CreateSubClientInput!): MutateSubClientReply
Deposit and withdrawal webhooks now include subClient
object with sub-client information when present
These types and fields were never used by anyone for couple of years.
Removed enum DepositMechanism
.
PaymentInput
and ConfirmPaymentInput
fields:
removed depositMechanism
removed depositReference
removed depositAmount
New item in BsbDepositDetails
accountName
- Australian account name.
New item in Withdrawal
statusMessage
- a human readable message of the current status reason, like processing error messages.
New item in Payment
and PaymentInput
sourceOfFunds
- mandatory field for some destinations.
New enum SourceOfFunds
.
New items in both query type and mutation input Senders
.
legalName
tradingAsName
businessNumber
- differs by country, e.g. ABN in Australia.
acn
- Australian Company Number. Should not be used for other countries.
Fixed typo in RecipientQueryInput
field name. snaps
-> cnaps
New compliance-related fields to the CreateWithdrawalInput
input:
acceptingMoneyInstitutionSenderId
- you must pre-create this Sender
and submit every time if you are not the FI who collected the money for this withdrawal.
acceptingInstructionInstitutionSenderId
- you must pre-create this Sender
and submit every time if you were instructed by other FI to make this withdrawal.
Fixed typo in the WithdrawalStatus
enum item. INITIALISING
-> INITIALISED
callbackUri
to Payment
, Withdrawal
, CreateWithdrawalInput
. Now you can query the callback/webhook URI you have supplied earlier. Also, this allows you to receive webhooks when you create a withdrawal (aka local payout).
New items in RecipientQueryInput
. This means that recipients can be searched by:
firstName
lastName
middleName
dob
- date of birth
companyName
phCashoutNetwork
payid
bic
iban
aba
bsb
clabe
cnaps
sortCode
ifsc
accountNo
rippleAddress
externalId
- ID in your system
Introduced Withdrawals - send money from your account (FlashFX digital wallet) to local banks.
query withdrawal(id: ID): Withdrawal
query withdrawals(input: WithdrawalQueryInput): [Withdrawal]
mutation createWithdrawal(input: CreateWithdrawalInput!): CreateWithdrawalReply
PHP
currency support.
middleName
property in recipients and senders.
PAYID
recipient type for Australian local payments or withdrawals.
Recipient.payid
new property.
PH_CASH
recipient type for Philippines cash network payments.
Recipient.phCashoutNetwork
new property.
You can now query your recipients by accountIdType
property. For example: recipients(input: {
accountIdType: PH_CASH
})
Removed the unused enum PaymentType
. It has no sense and was deprecated a year ago.
Simultaneously removed properties Payment.paymentType
, PaymentQueryInput.paymentTypes
, PaymentInput.paymentType
.
Removed the never used AccountIdType
enum values: BPAY
, FIN_BTN
, INTERAC
.
New the feature.
The bankInfo
was not returning information about BICs and IBANs. It works now.
New introduced for rejected (aka cancelled) withdrawals. When withdrawals you can clearly see why using the new rejectCode
and statusMessage
. Available in the Withdrawal
type and sent to your application via the webhook.
Improved to respond with appropriate error message when trying to change the recipient's accountIdType
which is not allowed by design.
Added to the CreateWithdrawalInput.
query.
This query returns the same data as the Download CSV button on the Account Statement page of the . It explains every change of you primary balance.
Changed links from to domain. Old domain will continue working unit future notice.
Added the withdrawal_pending
. Invoked after the transaction is sent to the recipient bank for processing.
Added for the withdrawal_pending
.
New status - UNAPPROVED
.
Fixed the withdrawal_reviewing
. It was never sent before even though declared on the Flash Connect website.
Added for the withdrawal_reviewing
.
Added corresponding event types: deposit_reviewing
and withdrawal_reviewing
.
New event type: deposit_initiated
to notify that we received a deposit but not yet cleared it.
Additional validation for lastName
, middleName
and firstName
introduced allowing only for latin alphabetical characters and special symbols:
The fundingAccounts
and SubClient.fundingAccounts
queries. It returns international bank account numbers you can deposit in order to bring money to Australia. See for more details.
Removed the long deprecated PaymentInput.recipient
object. The only way to provide a recipient for a payment is via PaymentInput.recipientId
. You would need to beforehand.