Pay a payable

Initiate a full payment for an approved Opened Payable. The paying Account's own saved ExternalBankAccount or verified PaymentCard is debited; method: Ach describes the Payee-side disbursement leg, not a restriction on the payer-side funding source. Payer-subject cards and otherwise unresolvable sources return 404, changing the bound source on a retry returns 409, and shouldEnableAutoPay: true returns 422. Payee-scoped payout settings route funds to one or more Payee-subject external bank accounts. Works whether or not the Payee has linked a Wingspan Account. Payment initiation durably reserves the amount, funding source, and routes. A Returned Payable is terminal and replacement payment requires a new Payable; a non-terminal reservation requires Wingspan operator review. For a linked Payee, collaborator splits use the established collaborator-aware V1/V2 AP engine. Direct V3 routing for an unlinked Payee carrying collaborator splits is not yet supported and returns 422. Returns 409 EligibilityBlocked with detailCode payments.EngagementNotPaymentsEligible when the related engagement has incomplete payment eligibility requirements.

Requires a session with recent MFA step-up for HighRiskWriteAction. If step-up is missing or expired, this operation returns 403 StepUpMfaRequired; create and verify an MFA challenge at /v3/platform/mfa-challenges with requiredFor: "HighRiskWriteAction", then retry.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Body Params

Pay a Payable from the paying Account's own saved ExternalBankAccount or verified PaymentCard. method: Ach describes the Payee-side disbursement leg; it does not restrict the payer-side funding source to a bank account. Payer-subject cards and otherwise unresolvable sources return 404. Changing the bound source on a retry returns 409, and shouldEnableAutoPay: true is not supported on this operation and returns 422. The first accepted request durably binds the Payable to its amount, funding source, and payout routes. A returned payment is not retryable on that Payable; create a new Payable for the replacement obligation. A non-terminal reservation requires Wingspan operator review.

double

Omit to pay the full Payable amount. If supplied, it must equal the full amount.

string
enum

Phase-one disbursement settles by ACH regardless of whether the saved funding source is an ExternalBankAccount or PaymentCard. Book is derived on reads and is not accepted here.

Allowed:
fundingSource
object
required

Reference to a saved payer-owned funding resource. Funding resources are always created before use on this path; raw bank/card details and one-off tokenization handles are never accepted here. Internal-account funding remains deliberately unspecified.

mandate
object

One-time mandate for the InvoicePayment created by this request. Must be supplied with an explicit fundingSource.

boolean
enum
Defaults to false

Payable payment does not enable auto-pay. Omit this field or send false; true is rejected with 422.

Allowed:
Headers
string
required
length between 1 and 255
^[\x21-\x7e]{1,255}$

REQUIRED idempotency token for money-moving requests (e.g. transfers). The token is used by the API so a retry after a 5xx/timeout replays the original result instead of moving funds twice. Reuse the same key to retry safely; use a NEW key to issue a genuinely new transfer. Use 1-255 printable ASCII characters.

string
^(?:[A-Za-z0-9_.]{22}|[a-f0-9]{24})$

Select the Account for an Account-scoped operation. A direct ServiceAccount API key MUST supply this header, and the target must be within the ServiceAccount owner's or Authorization grant's Account boundary. A Person bearer may select an Account on which it has an active Stakeholder, and an Account session may select its bound Account (or a descendant only when the session explicitly includes descendants).

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json