Schema
Transfer Attributes
| Attribute | Type | Definition | Example |
|---|---|---|---|
| id | UUID | unique id of the transfer | |
| state | String | see above for states and definitions | processing |
| user | UserAccount | user object | { ... } |
| beneficiary | Beneficiary | beneficiary object | { ... } |
| entity | Entity | entity object | { ... } |
| fee | String | fee of transfer in source currency | 1.50 |
| source_amount | String | numerical amount of the currency funding the payment | 100.00 |
| source_currency | String | 3 character code of currency funding the payment | USD |
| destination_amount | String | numerical amount of currency sent to beneficiary | 2000.00 |
| destination_currency | String | 3 character code of currency sent to beneficiary | MXN |
| purpose_of_payment | String | free form text describing purpose of the payment | Contractor services |
| rate | String | the forward rate of the trade used to convert funds | 20.00000 |
| reference | String | free form text memo on payment which can be read by beneficiary | Invoice-001 |
| created_date | DateTime | date & time the record was created | 2021-04-02 00:00:00 |
| expected_delivery_date | DateTime | date the receiving bank is expected to receive the funds | 2021-04-04 00:00:00 |
| error | String | if the transfer was returned or failed, this might show a returning/failing reason | The transaction is rejected as the beneficiary is blacklisted. |
GraphQL
enum TransferStates { accepted finalized initiated processing sent completed failed returned canceled scheduled in_review }
enum IncomingTransferPurposeOfPayment { corporate_payment marketplace professional_services payroll expenses_reimbursement representation_expenses hired_personnel trainees_scholarships productivity_or_quality_prizes lay_off_payment family_support education gift_and_other_donations medical_treatment maintenance_or_other_expenses car_driver software_license hotel_accommodation advertising_and_or_public_relations_related_expenses fees_for_advisory_or_consulting_service business_related_insurance_payment insurance_claims_payment delivery_fees payments_for_exported_goods payment_of_loans residential_property_purchase property_rental_payment royalty_trademark_patent_and_copyright_fees investment_in_shares fund_investment tuition_fees transportation_fees utility_bills personal_transfer payment_of_salary other_purposes remittances freelancer_payment }
type Transfer { id: UUID! state: TransferStates! # see States section for values and descriptions user: UserAccount! creator: UserAccount! beneficiary: Beneficiary! entity: Entity! fee: String source_amount: String source_currency: ISO4217! destination_amount: String destination_currency: ISO4217! purpose_of_payment: String! rate: String reference: String created_date: DateTime expected_delivery_date: DateTime funding_instructions: FundingInstructions wallet: Wallet is_scheduled: Boolean scheduled_delivery_date: DateTime error: String }
type TransferQuote { rate: String! inverted_rate: String! source_amount: String destination_amount: String source_currency: ISO4217! destination_currency: ISO4217! fee: String }
type TransferReceipt { transfer_id: UUID! link: String link_expiration: DateTime includes_tracking: Boolean }
type IncomingTransferAccount { id: UUID! organization_id: UUID entity: Entity wallet: Wallet currency: ISO4217 account_number: BankAccountNumber name_on_bank_account: String nicename_on_bank_account: String bank_name: String state: IncomingTransferState tax_id: TaxNumber purpose_of_payment: IncomingTransferPurposeOfPayment updated_date: DateTime country_code: String tax_code: String remittance_info: String reference: String }
type IncomingTransfer { id: UUID uuid: UUID organization_id: UUID entity_id: UUID wallet_id: UUID currency: ISO4217 credit: Boolean debit: Boolean amount: String! transaction_date: DateTime remittance_info: String reference: String counterparty_name: String account_number: BankAccountNumber name_on_bank_account: String nicename_on_bank_account: String state: IncomingTransferState tax_id: TaxNumber purpose_of_payment: IncomingTransferPurposeOfPayment updated_date: DateTime incoming_transfer_account: IncomingTransferAccount virtual_account_name: String created_date: DateTime incoming_transfer_account_id: UUID incoming_transfer_account_name_on_bank_account: String incoming_transfer_account_bank_name: String }
type SubAccount { id: UUID created_date: DateTime organization_id: UUID entity: Entity currency: ISO4217 balance: String available_balance: String account_name: String client_friendly_name: String account_number: String master_account_number: String updated_date: DateTime state: String funding_instructions: FundingInstructions }
enum IncomingTransferState { accepted awaiting_funds complete canceled declined }
type Query { transfer( transfer_id: UUID! ): Transfer
transfers( search_terms: String # optional listFilter: ListFilter ): [Transfer]
transferReceipt( transfer_id: UUID! ): TransferReceipt
subAccount( sub_account_id: UUID! ): SubAccount }
type Mutation { createTransfer( user_id: UUID! entity_id: UUID! source_amount: String wallet_id: UUID destination_amount: String beneficiary_id: UUID! purpose_of_payment: String! reference: String ): UUID
createScheduledTransfer( user_id: UUID entity_id: UUID! source_amount: String wallet_id: UUID destination_amount: String beneficiary_id: UUID! purpose_of_payment: String! reference: String scheduled_delivery_date: DateTime ): UUID
updateTransfer( transfer_id: UUID! user_id: UUID! entity_id: UUID source_currency: ISO4217 wallet_id: UUID beneficiary_id: UUID purpose_of_payment: String reference: String ): UUID @verified
getTransferQuote( transfer_id: UUID! source_amount: String destination_amount: String ): TransferQuote
finalizeTransfer(transfer_id: UUID!): UUID
createIncomingTransferAccount( entity_id: UUID! wallet_id: UUID! currency: ISO4217! account_number: BankAccountNumber! account_type: String name_on_bank_account: String! nicename_on_bank_account: String bank_name: String! bank_code: String! state: IncomingTransferState tax_id: TaxNumber! purpose_of_payment: IncomingTransferPurposeOfPayment remittance_info: String reference: String account_number_type: String email: String! ): UUID
createIncomingTransfer( amount: String! incoming_transfer_account_id: UUID! purpose_of_payment: IncomingTransferPurposeOfPayment remittance_info: String reference: String ): UUID }