Create an ACH transfer

Changed on

Send USD to a saved US bank account, or queue the transfer against an information request while waiting for the recipient's bank details.

post/v2/transfers/ach

Request

  • Base URL
    https://api.slash.com
  • URL
    https://api.slash.com/v2/transfers/ach
  • Auth
    API key in header X-API-Key

Headers

X-Idempotency-Keystring 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.

Request body

fromAccountstring required

Source virtual-account id with the subaccount_ prefix.

destinationIdstring

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

informationRequestIdstring

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

descriptionstring

Human-readable private transfer memo.

billIdstring

Bill this transfer pays, with the bill_ prefix. The transfer is linked to the bill as a payment and the bill's status follows it. The bill must be on the same legal entity and accept a new payment. Not accepted with informationRequestId: link the payment with POST /v2/bills/{billId}/payments once the transfer has a destination.

Example request

{
  "amount": {
    "amount": 1250
  },
  "fromAccount": "subaccount_source123",
  "destinationId": "le_contact_destination_bank123",
  "informationRequestId": "le_c_info_req_vendor123",
  "description": "Invoice 1042",
  "billId": "bill_2rj4l7hmrrrcv"
}

Response

The created ACH transfer.

idstring required

Transfer id with the transfer_intent_ prefix.

accountIdstring required

Account containing the source balance.

fromAccountstring

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

descriptionstring

Human-readable private transfer memo.

statementDescriptorstring

Statement or network descriptor supplied when the transfer was created.

billIdstring

Bill this transfer pays, when it was linked to one, with the bill_ prefix. Set from billId at creation or by POST /v2/bills/{billId}/payments. Absent when your key can't see that bill.

transactionIdsstring[] required

Transaction ids produced by this transfer.

createdAtstring date-time required

Time the transfer was created.

submittedAtstring date-time

Time the transfer was submitted for processing.

settledAtstring date-time

Time the transfer settled.

failedAtstring date-time

Time the transfer failed.

canceledAtstring date-time

Time the transfer was canceled.

recipientIdstring

Recipient receiving the transfer.

destinationIdstring

Saved destination used for the transfer.

type'ach' required
status'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled' | 'returned' required

Lifecycle state of an ACH transfer.

informationRequestIdstring

Information request backing a queued ACH transfer.

Example response

{
  "id": "transfer_intent_2rj4l7hmrrrcv",
  "accountId": "sa_group_primary123",
  "fromAccount": "subaccount_operations123",
  "description": "Invoice 1042",
  "statementDescriptor": "VENDOR PAYMENT",
  "billId": "bill_2rj4l7hmrrrcv",
  "transactionIds": [
    "agg_tx_2rj4l7hmrrrcv"
  ],
  "recipientId": "le_c_vendor123",
  "destinationId": "le_contact_destination_bank123",
  "informationRequestId": "le_c_info_req_vendor123"
}

Changes