Create an upstream payer engagement

Create a PayerEngagement against this Payer relationship, such as a commercial upstream client project where the Payer pays the acting account. Use type: Commercial for B2B invoiceable relationships. The referenced engagementId must belong to the acting account selected by the session or X-Wingspan-Account; cross-account or unresolved ids return 422. Do not reuse worker PayeeEngagement eligibility semantics to model client-side requirements.

If externalId is supplied and already used by another resource of this type for the owning Account, the request returns 409 ResourceConflict; create is not an upsert. Use filter[externalId][eq] on the list endpoint to retrieve the existing resource.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
^[A-Za-z0-9_.]{22,80}$
Body Params

Create an upstream payer engagement against a Payer relationship, such as a commercial client project where the Payer pays the acting Account. engagementId must reference an Engagement owned by the acting Account selected by the session or X-Wingspan-Account; unresolved or cross-account ids return 422. Use type: Commercial for B2B invoiceable relationships; do not reuse worker eligibility semantics to model client-side requirements.

string
required

Engagement template to bind to the upstream Payer.

string

Customer's own project or contract id for reconciliation.

string
enum
required

Upstream B2B client engagement type. Commercial is the only create value for /payments/payers/{payerId}/engagements; worker-style eligibility values remain on EngagementType.

Allowed:
date
required
date
metadata
object

Free-form key-value pairs. Max 50 keys; key length at most 40 characters; value length at most 500 characters. Where a list endpoint declares metadata filtering, it uses the QueryQL namespace via filter[metadata.{key}][eq]=value or filter[metadata.{key}][in][]=value. Endpoints that do not declare the dynamic Metadata filter do not support Metadata filtering.

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

Optional idempotency token for authenticated POST and PATCH requests. Reusing the same key and body returns the cached response for 24 hours, except credential operations that explicitly document a 409 because one-time secret material is never cached; reusing it with a different body returns 409 IdempotencyKeyConflict. 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