Bind transaction to contract request
Associates a payment transaction with an existing contract request, linking the
contract signing event to the corresponding financial transaction.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Links an existing payment transaction to a contract request, associating the contract signing event with the financial transaction that backs it. The binding is recorded on both records, an event is logged on the request, and the request's workflow is advanced if the binding unblocks the next stage. Returns the updated contract request.
Authentication & access
- Requires a client API token:
Authorization: Bearer <token>. - The caller must hold the
contracts.requests.bind_transactionpermission and have the OWNER or OPERATIONS role. - Contract signing must be enabled for the client. If it is disabled the request returns
403.
Path parameters
| Parameter | Description |
|---|---|
request_id | ID of the contract request to bind the transaction to. Must belong to your client. |
Request body
| Field | Type | Description |
|---|---|---|
transaction_id | string (required) | ID of the payment transaction to link to this request. Must belong to your client. |
Binding rules
- The contract request must not be in a terminal state. Requests that are completed, canceled, declined, or expired are rejected (
400). - If the request is already bound to a different transaction, the request is rejected (
400). Re-binding the request to the same transaction it already holds is allowed and is idempotent. - The transaction must not already be associated with a different contract request, or it is rejected (
400). - On success, the transaction is stamped with the contract request ID (if not already set), the request is stamped with the transaction ID, a
request.transaction_boundevent is recorded, and the request's workflow is advanced.
Response
200 — Returns the updated ContractRequestResponse, including the now-populated transaction_id and the request's current status, stage, and participant state.
Error responses
| Status | When |
|---|---|
400 | Contract request is in a terminal state; request is already bound to a different transaction; transaction is already associated with a different contract request |
403 | Contract signing is disabled for the client |
404 | Contract request not found under this client; transaction not found under this client |
422 | Request body failed validation (e.g. missing transaction_id) |
Standard 401 (authentication), 403 (insufficient permission or role), and 429 (rate limit) responses apply to every endpoint and are documented in the Error reference.