Skip to content

Transfers

Defined in: src/payments/client.gen.ts:31

new Transfers(_core): Transfers

Defined in: src/payments/client.gen.ts:32

BrexCore

Transfers

create(body, options?): Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>

Defined in: src/payments/client.gen.ts:61

Create transfer

This endpoint creates a new transfer.

Currently, the API can only create transfers for the following payment rails:

  • ACH
  • DOMESTIC_WIRE
  • CHEQUE
  • INTERNATIONAL_WIRES

Transaction Descriptions

  • For outgoing check payments, a successful transfer will return a response containing a description value with a format of Check #<check number> to <recipient_name> - <external_memo>.
  • For book transfers (from one Brex Business account to another), the recipient value will have a format of <customer_account.dba_name> - <external_memo> and the sender will have a format of <target customer account's dba name> - <external_memo>.
  • For other payment rails, the format will be <counterparty_name> - <external_memo>, where Counterparty name is payment_instrument.beneficiary_name or contact.name For vendors created from the Payments API, the counterparty_name will be the company_name field.

Reminder: You may not use the Brex API for any activity that requires a license or registration from any governmental authority without Brex’s prior review and approval. This includes but is not limited to any money services business or money transmission activity.

Please review the Brex Access Agreement and contact us if you have any questions.

POST /v1/transfers — requires OAuth scope: transfers Sends an Idempotency-Key header: options.idempotencyKey, or an auto-generated UUID.

{ amount: number; currency: string | null; }

number

Format: int64

Description

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

Example

700

string | null

Description

The type of currency, in ISO 4217 format.

Default

USD

Example

USD

"MANUAL" | null

object & object | object & object

string

Description

Description of the transfer for internal use. Not exposed externally.

string

Description

External memo for the transfer. Payment Instructions for Wires and the Entry Description for ACH payments. Must be at most 90 characters for ACH and WIRE transactions and at most 40 characters for CHEQUES

boolean

Description

When set to true, add Principal Protection (PPRO) to the transaction. PPRO means Brex will cover any fees charged by intemediary or receiving banks. PPRO charges will be billed separately in a monthly statement. PPRO is only available for international wire transactions.

Omit<object & object, "type">

RequestOptions

Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>


createIncoming(body, options?): Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>

Defined in: src/payments/client.gen.ts:88

Create incoming transfer

This endpoint creates a new incoming transfer. You may use use any eligible bank account connection to fund (ACH Debit) any active Brex business account.

Reminder: You may not use the Brex API for any activity that requires a license or registration from any governmental authority without Brex’s prior review and approval. This includes but is not limited to any money services business or money transmission activity.

Please review the Brex Access Agreement and contact us if you have any questions.

POST /v1/incoming_transfers — requires OAuth scope: incoming_transfers Sends an Idempotency-Key header: options.idempotencyKey, or an auto-generated UUID.

{ amount: number; currency: string | null; }

number

Format: int64

Description

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

Example

700

string | null

Description

The type of currency, in ISO 4217 format.

Default

USD

Example

USD

object & object

string

Description

Description of the transfer for internal use. Not exposed externally.

object & object

RequestOptions

Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>


get(id, options?): Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>

Defined in: src/payments/client.gen.ts:114

Get transfer

This endpoint gets a transfer by ID.

Currently, the API can only return transfers for the following payment rails:

  • ACH
  • DOMESTIC_WIRE
  • CHEQUE
  • INTERNATIONAL_WIRE

GET /v1/transfers/{id} — requires OAuth scope: transfers.readonly, incoming_transfers

string

RequestOptions

Promise<{ amount: { amount: number; currency: string | null; }; cancellation_reason?: "USER_CANCELLED" | "INSUFFICIENT_FUNDS" | "APPROVAL_DENIED" | "BLOCKED_BY_POSITIVE_PAY" | null; counterparty?: Omit<object & object, "type"> | null; created_at?: string | null; creator_user_id?: string | null; description?: string | null; display_name?: string | null; estimated_delivery_date?: string | null; external_memo?: string | null; id: string; is_ppro_enabled?: boolean | null; originating_account: object & object; payment_type: "ACH" | "DOMESTIC_WIRE" | "CHEQUE" | "INTERNATIONAL_WIRE" | "BOOK_TRANSFER" | "STABLECOIN"; process_date?: string | null; status: "PROCESSING" | "SCHEDULED" | "PENDING_APPROVAL" | "FAILED" | "PROCESSED"; }>


list(query?, options?): PagePromise<{ items: object[]; next_cursor?: string | null; }>

Defined in: src/payments/client.gen.ts:139

Lists transfers

This endpoint lists existing transfers for an account.

Currently, the API can only return transfers for the following payment rails:

  • ACH
  • DOMESTIC_WIRE
  • CHEQUE
  • INTERNATIONAL_WIRE

GET /v1/transfers — requires OAuth scope: transfers.readonly, incoming_transfers Await for a single page, or for await to iterate items across all pages.

string | null

number | null

RequestOptions

PagePromise<{ items: object[]; next_cursor?: string | null; }>