POST
/
transactions
/
internal_transfer
Create an internal transfer
curl --request POST \
  --url https://api-sandbox.synctera.com/v0/transactions/internal_transfer \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "amount": 1025,
  "currency": "USD",
  "originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
  "receiving_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
  "type": "ACCOUNT_TO_ACCOUNT"
}'
{
  "amount": 1025,
  "currency": "USD",
  "originating_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
  "receiving_account_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
  "type": "ACCOUNT_TO_ACCOUNT"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key. A different key must be used for each request, unless it is a retry.

Example:

"7d943c51-e4ff-4e57-9558-08cab6b963c7"

Body

application/json

Internal transfer request body

amount
integer
required

The amount (in cents) to transfer from originating account to receiving account.

Required range: x >= 1
currency
string
required

ISO 4217 alphabetic currency code of the transfer amount

Example:

"USD"

type
enum<string>
required

The desired transaction type to use for this transfer

Available options:
ACCOUNT_BALANCE_ADJUSTMENT,
ACCOUNT_TO_ACCOUNT,
ACCOUNT_TO_ACCOUNT_SWEEP,
ACH_CREDIT_SWEEP,
ACH_DEBIT_SWEEP,
ACH_FLOAT_TRANSFER,
ACH_INCOMING_CREDIT_SWEEP,
ACH_INCOMING_DEBIT_SWEEP,
ACH_INCOMING_RETURN_CREDIT_SWEEP,
ACH_INCOMING_RETURN_DEBIT_SWEEP,
ACH_OUTGOING_CREDIT_SWEEP,
ACH_OUTGOING_DEBIT_SWEEP,
ACH_OUTGOING_RETURN_CREDIT_SWEEP,
ACH_OUTGOING_RETURN_DEBIT_SWEEP,
ACH_SWEEP,
BULK_DOMESTIC_WIRE_OUTGOING_SWEEP,
BULK_EFT_CA_OUTGOING_CREDIT_SWEEP,
BULK_EFT_CA_OUTGOING_DEBIT_SWEEP,
CARD_CHARGEBACK,
CARD_CHARGEBACK_CASE1,
CARD_CHARGEBACK_CASE1_REVERSAL,
CARD_CHARGEBACK_CASE2,
CARD_CHARGEBACK_CASE2_REVERSAL,
CARD_CHARGEBACK_CASE3,
CARD_CHARGEBACK_CASE3_REVERSAL,
CARD_CHARGEBACK_WRITEOFF,
CARD_PROVISIONAL_CREDIT,
CARD_PROVISIONAL_CREDIT_REVERSAL,
CASHBACK,
CASHBACK_SWEEP,
CREDIT_MEMO,
DOMESTIC_WIRE_INCOMING_RETURN_SWEEP,
DOMESTIC_WIRE_INCOMING_SWEEP,
DOMESTIC_WIRE_OUTGOING_RETURN_SWEEP,
DOMESTIC_WIRE_OUTGOING_SWEEP,
EFT_CA_INCOMING_CREDIT_RETURN_SWEEP,
EFT_CA_INCOMING_CREDIT_SWEEP,
EFT_CA_INCOMING_DEBIT_RETURN_SWEEP,
EFT_CA_INCOMING_DEBIT_SWEEP,
EFT_CA_OUTGOING_CREDIT_RETURN_SWEEP,
EFT_CA_OUTGOING_CREDIT_SWEEP,
EFT_CA_OUTGOING_DEBIT_RETURN_SWEEP,
EFT_CA_OUTGOING_DEBIT_SWEEP,
ETRANSFER_SWEEP,
FEE,
FEE_SWEEP,
FORCE_PAYMENT,
INCOMING_WIRE,
INCOMING_WIRE_SWEEP,
INTEREST_CHARGED_SWEEP,
INTEREST_PAYOUT,
INTEREST_PAYOUT_SWEEP,
INTERNATIONAL_WIRE_INCOMING_SWEEP,
INTERNATIONAL_WIRE_OUTGOING_RETURN_SWEEP,
INTERNATIONAL_WIRE_OUTGOING_SWEEP,
INVOICE,
LOAN_DISBURSEMENT,
LOAN_FUNDING,
MANUAL_ADJUSTMENT,
MANUAL_ADJUSTMENT_REVERSAL,
MANUAL_ADJUSTMENT_SWEEP,
MANUAL_AFT_SWEEP,
MANUAL_CARD_SWEEP,
MANUAL_CASH_DEPOSIT_SWEEP,
MANUAL_CASH_ORDER_SWEEP,
MANUAL_CHECK_SWEEP,
MANUAL_OCT_SWEEP,
MANUAL_WIRE_SWEEP,
MASTERCARD_GROSS_SWEEP,
MASTERCARD_INTERCHANGE_SWEEP,
MASTERCARD_NET_SWEEP,
MOBILE_DEPOSIT_RETURN_SWEEP,
MOBILE_DEPOSIT_SWEEP,
NEGATIVE_BALANCE_RESERVE,
NEGATIVE_BALANCE_WRITEOFF,
NETWORK_ADJUSTMENT_SWEEP,
NETWORK_CHARGEBACK_SWEEP,
OUTGOING_INTERNATIONAL_REMITTANCE,
OUTGOING_INTERNATIONAL_REMITTANCE_REVERSAL,
PROMOTIONAL_CREDIT,
PROMOTIONAL_CREDIT_REVERSAL,
PROMOTIONAL_CREDIT_SWEEP,
PULSE_GROSS_SWEEP,
PULSE_INTERCHANGE_SWEEP,
SECURITY_ACCOUNT_PAYMENT,
SECURITY_OVERPAY_ADJUSTMENT,
SECURITY_OVERPAY_ADJUSTMENT_REVERSAL,
SIGN_UP_BONUS,
SUBSCRIPTION_FEE,
TRANSFER_FEE,
TRANSFER_FEE_REVERSAL,
VISA_GROSS_SWEEP,
VISA_INTERCHANGE_SWEEP,
VISA_NET_SWEEP,
WIRE_SETTLEMENT_CREDIT,
WIRE_SETTLEMENT_DEBIT
capture_mode
enum<string>
default:IMMEDIATE

Controls when the transfer will take effect. A value of IMMEDIATE (the default) means that the transfer will be completed immediately. A value of MANUAL means that the transaction will remain in a "pending" state until explicitly completed or cancelled (or the auth expires).

Available options:
IMMEDIATE,
MANUAL
expires_at
string<date-time>

When capture_mode is MANUAL, this field describes when the pending transaction should expire.

final_customer_id
string<uuid>

The customer id of the international customer that receives the final remittance transfer (required for remittance payments).

memo
string

A short note to the recipient

metadata
object

Arbitrary key-value metadata to associate with the transaction

originating_account_alias
string

An alias representing a GL account to debit. This is alternative to specifying by account id

Example:

"ach_suspense"

originating_account_customer_id
string<uuid>

The customer id of the owner of the originating account.

originating_account_id
string<uuid>

The UUID of the account being debited

receiving_account_alias
string

An alias representing a GL account to credit. This is an alternative to specifying by account id

Example:

"ach_suspense"

receiving_account_customer_id
string<uuid>

The customer id of the owner of the receiving account.

receiving_account_id
string<uuid>

The UUID of the account being credited

reference_id
string

Network reference id

tenant
string

The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.

Example:

"abcdef_ghijkl"

Response

Internal transfer response

id
string<uuid>
required

The transaction id associated with the transfer

status
enum<string>
required

The status of the internal transfer auth. A value of PENDING indicates that the funds have been reserved and the transaction is ready to be either completed or canceled. A value of COMPLETE indicates the funds have been successfully moved and no more action can be performed. A value of CANCELED or EXPIRED means that the transaction has rolled back and the funds have been returned to the originating account, either by explicitly canceling via the API, or due to the expiry time having passed.

Available options:
CANCELED,
COMPLETE,
EXPIRED,
PENDING
amount
integer
required

The amount (in cents) to transfer from originating account to receiving account.

Required range: x >= 1
currency
string
required

ISO 4217 alphabetic currency code of the transfer amount

Example:

"USD"

type
enum<string>
required

The desired transaction type to use for this transfer

Available options:
ACCOUNT_BALANCE_ADJUSTMENT,
ACCOUNT_TO_ACCOUNT,
ACCOUNT_TO_ACCOUNT_SWEEP,
ACH_CREDIT_SWEEP,
ACH_DEBIT_SWEEP,
ACH_FLOAT_TRANSFER,
ACH_INCOMING_CREDIT_SWEEP,
ACH_INCOMING_DEBIT_SWEEP,
ACH_INCOMING_RETURN_CREDIT_SWEEP,
ACH_INCOMING_RETURN_DEBIT_SWEEP,
ACH_OUTGOING_CREDIT_SWEEP,
ACH_OUTGOING_DEBIT_SWEEP,
ACH_OUTGOING_RETURN_CREDIT_SWEEP,
ACH_OUTGOING_RETURN_DEBIT_SWEEP,
ACH_SWEEP,
BULK_DOMESTIC_WIRE_OUTGOING_SWEEP,
BULK_EFT_CA_OUTGOING_CREDIT_SWEEP,
BULK_EFT_CA_OUTGOING_DEBIT_SWEEP,
CARD_CHARGEBACK,
CARD_CHARGEBACK_CASE1,
CARD_CHARGEBACK_CASE1_REVERSAL,
CARD_CHARGEBACK_CASE2,
CARD_CHARGEBACK_CASE2_REVERSAL,
CARD_CHARGEBACK_CASE3,
CARD_CHARGEBACK_CASE3_REVERSAL,
CARD_CHARGEBACK_WRITEOFF,
CARD_PROVISIONAL_CREDIT,
CARD_PROVISIONAL_CREDIT_REVERSAL,
CASHBACK,
CASHBACK_SWEEP,
CREDIT_MEMO,
DOMESTIC_WIRE_INCOMING_RETURN_SWEEP,
DOMESTIC_WIRE_INCOMING_SWEEP,
DOMESTIC_WIRE_OUTGOING_RETURN_SWEEP,
DOMESTIC_WIRE_OUTGOING_SWEEP,
EFT_CA_INCOMING_CREDIT_RETURN_SWEEP,
EFT_CA_INCOMING_CREDIT_SWEEP,
EFT_CA_INCOMING_DEBIT_RETURN_SWEEP,
EFT_CA_INCOMING_DEBIT_SWEEP,
EFT_CA_OUTGOING_CREDIT_RETURN_SWEEP,
EFT_CA_OUTGOING_CREDIT_SWEEP,
EFT_CA_OUTGOING_DEBIT_RETURN_SWEEP,
EFT_CA_OUTGOING_DEBIT_SWEEP,
ETRANSFER_SWEEP,
FEE,
FEE_SWEEP,
FORCE_PAYMENT,
INCOMING_WIRE,
INCOMING_WIRE_SWEEP,
INTEREST_CHARGED_SWEEP,
INTEREST_PAYOUT,
INTEREST_PAYOUT_SWEEP,
INTERNATIONAL_WIRE_INCOMING_SWEEP,
INTERNATIONAL_WIRE_OUTGOING_RETURN_SWEEP,
INTERNATIONAL_WIRE_OUTGOING_SWEEP,
INVOICE,
LOAN_DISBURSEMENT,
LOAN_FUNDING,
MANUAL_ADJUSTMENT,
MANUAL_ADJUSTMENT_REVERSAL,
MANUAL_ADJUSTMENT_SWEEP,
MANUAL_AFT_SWEEP,
MANUAL_CARD_SWEEP,
MANUAL_CASH_DEPOSIT_SWEEP,
MANUAL_CASH_ORDER_SWEEP,
MANUAL_CHECK_SWEEP,
MANUAL_OCT_SWEEP,
MANUAL_WIRE_SWEEP,
MASTERCARD_GROSS_SWEEP,
MASTERCARD_INTERCHANGE_SWEEP,
MASTERCARD_NET_SWEEP,
MOBILE_DEPOSIT_RETURN_SWEEP,
MOBILE_DEPOSIT_SWEEP,
NEGATIVE_BALANCE_RESERVE,
NEGATIVE_BALANCE_WRITEOFF,
NETWORK_ADJUSTMENT_SWEEP,
NETWORK_CHARGEBACK_SWEEP,
OUTGOING_INTERNATIONAL_REMITTANCE,
OUTGOING_INTERNATIONAL_REMITTANCE_REVERSAL,
PROMOTIONAL_CREDIT,
PROMOTIONAL_CREDIT_REVERSAL,
PROMOTIONAL_CREDIT_SWEEP,
PULSE_GROSS_SWEEP,
PULSE_INTERCHANGE_SWEEP,
SECURITY_ACCOUNT_PAYMENT,
SECURITY_OVERPAY_ADJUSTMENT,
SECURITY_OVERPAY_ADJUSTMENT_REVERSAL,
SIGN_UP_BONUS,
SUBSCRIPTION_FEE,
TRANSFER_FEE,
TRANSFER_FEE_REVERSAL,
VISA_GROSS_SWEEP,
VISA_INTERCHANGE_SWEEP,
VISA_NET_SWEEP,
WIRE_SETTLEMENT_CREDIT,
WIRE_SETTLEMENT_DEBIT
capture_mode
enum<string>
default:IMMEDIATE

Controls when the transfer will take effect. A value of IMMEDIATE (the default) means that the transfer will be completed immediately. A value of MANUAL means that the transaction will remain in a "pending" state until explicitly completed or cancelled (or the auth expires).

Available options:
IMMEDIATE,
MANUAL
expires_at
string<date-time>

When capture_mode is MANUAL, this field describes when the pending transaction should expire.

final_customer_id
string<uuid>

The customer id of the international customer that receives the final remittance transfer (required for remittance payments).

memo
string

A short note to the recipient

metadata
object

Arbitrary key-value metadata to associate with the transaction

originating_account_alias
string

An alias representing a GL account to debit. This is alternative to specifying by account id

Example:

"ach_suspense"

originating_account_customer_id
string<uuid>

The customer id of the owner of the originating account.

originating_account_id
string<uuid>

The UUID of the account being debited

receiving_account_alias
string

An alias representing a GL account to credit. This is an alternative to specifying by account id

Example:

"ach_suspense"

receiving_account_customer_id
string<uuid>

The customer id of the owner of the receiving account.

receiving_account_id
string<uuid>

The UUID of the account being credited

reference_id
string

Network reference id

tenant
string

The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.

Example:

"abcdef_ghijkl"