Skip to main content
POST
Requires a source IP on the legal entity’s enabled IP allowlist.
Read Sending ACH for setup, examples, and lifecycle guidance. To create a payment before the recipient supplies bank details, read Queued payments.

Authorizations

X-API-Key
string
header
required

User API key authentication. Create a key under Settings → API keys in the Slash dashboard (https://app.slash.com/global-settings/api-keys) and send the x-legal-entity header naming the legal entity to act on with every request. Keys scoped to a legal entity are rejected with 403 user_api_key_required.

Headers

X-Idempotency-Key
string
required

Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns 409 and never replays a response, unlike API v1, which replays the original response for a matching key.

Required string length: 1 - 255

The legal entity to act on. Required on every request; a user API key can act on any legal entity its user has access to.

Pattern: ^le_[a-zA-Z0-9]+$

Body

application/json

Send USD to a saved US bank-account destination, or queue the transfer against an information request while awaiting the recipient's bank details. Provide exactly one of destinationId or informationRequestId.

amount
UsdMoney · object
required

A positive USD amount expressed in cents.

fromAccount
string
required

Source virtual-account id with the subaccount_ prefix.

Example:

"subaccount_source123"

ach
object
required
destinationId
string

Saved US bank-account destination. Mutually exclusive with informationRequestId.

Example:

"le_contact_destination_bank123"

informationRequestId
string

Information request used to queue the transfer until the recipient supplies a US bank account. Mutually exclusive with destinationId.

Example:

"le_c_info_req_vendor123"

description
string

Human-readable private transfer memo.

Example:

"Invoice 1042"

Response

The created ACH transfer.

An ACH transfer or a queued ACH awaiting destination details.

id
string
required

Transfer id with the transfer_intent_ prefix.

Example:

"transfer_intent_2rj4l7hmrrrcv"

accountId
string
required

Account containing the source balance.

Example:

"sa_group_primary123"

amount
Money · object
required

A signed monetary amount expressed in minor units.

transactionIds
string[]
required

Transaction ids produced by this transfer.

Transaction id with the agg_tx_ prefix.

createdAt
string<date-time>
required

Time the transfer was created.

type
enum<string>
required
Available options:
ach
status
enum<string>
required

Lifecycle state of an ACH transfer.

Available options:
pending,
pending_destination,
pending_approval,
in_review,
scheduled,
canceled,
failed,
settled,
returned
ach
object
required
fromAccount
string

Source virtual-account id, when the transfer is scoped to one.

Example:

"subaccount_operations123"

description
string

Human-readable private transfer memo.

Example:

"Invoice 1042"

statementDescriptor
string

Statement or network descriptor supplied when the transfer was created.

Example:

"VENDOR PAYMENT"

submittedAt
string<date-time>

Time the transfer was submitted for processing.

settledAt
string<date-time>

Time the transfer settled.

failedAt
string<date-time>

Time the transfer failed.

canceledAt
string<date-time>

Time the transfer was canceled.

contactId
string

Contact receiving the transfer.

Example:

"le_c_vendor123"

destinationId
string

Saved destination used for the transfer.

Example:

"le_contact_destination_bank123"

informationRequestId
string

Information request backing a queued ACH transfer.

Example:

"le_c_info_req_vendor123"