OUTCOME · Request
What changes
Creates one OPEN request and hash-chained evidence. It does not authorize a payer, reserve or debit funds, create a payment intent, settle value, or notify fulfillment.
v2Payments
/api/v2/payment-requestsPURPOSE + BUSINESS CONTEXT
WHEN THIS CALL IS USEFUL
Call this when the active workspace needs to ask for a specific amount and currency, retain a reconciliation reference, and optionally bind the request to one payer and expiry.
OUTCOME · Request
Creates one OPEN request and hash-chained evidence. It does not authorize a payer, reserve or debit funds, create a payment intent, settle value, or notify fulfillment.
WHY IT MATTERS
ISOLATION + AUTHORITY
The authenticated workspace is always the payee and cannot be supplied in the body. A named payer is enforced at payment creation; a shareable request is usable only by a caller that already possesses its opaque identifier and exact current terms.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
The exact deployed parameters, schemas, responses, security requirements, and Hybrid-Chain agent metadata are authoritative at this operation's production OpenAPI JSON Pointer. The readable tables below add integration guidance; the deployed OpenAPI controls if guidance and the machine contract ever differ.
Open the authoritative production contract ↗EXTENDED INTEGRATION GUIDANCE
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing payments:write authority.EXAMPLEBearer hc_live_…
Idempotency-KeyheaderRequiredASCII string · 1–128Caller-generated stable key reused for retries of the same logical mutation.EXAMPLEpost-api-v2-payment-requests-request-001
X-Request-IDheaderOptionalstringOptional caller correlation identifier. The gateway emits the effective value on the response.
Content-DigestheaderRequiredstringRFC 9530 sha-256 digest of the exact transmitted request-body bytes.
Signature-InputheaderRequiredstringRFC 9421 sig1 input covering @method, @path, content-digest, content-type, and idempotency-key, with created, expires, nonce, keyid, and alg=ed25519.
SignatureheaderRequiredstringRFC 9421 sig1 Ed25519 signature made by an active key registered to the bearer client.
amountbodyRequiredpositive exact decimal stringPositive exact decimal string. Binary floating-point JSON numbers are rejected.EXAMPLE125.50
currencybodyRequireduppercase asset or ISO currency codeUppercase asset or ISO currency code. It is validated as part of the request body before any operation is attempted.EXAMPLEUSDC
expires_atbodyOptionalfuture RFC 3339 timestamp · ≤365 days · nullableOptional future RFC 3339 expiry, no more than 365 days away.Explicit null acceptedEXAMPLE2026-12-31T23:59:59Z
external_referencebodyOptionalstring · max 128 · nullableOptional caller-owned reconciliation reference, limited to 128 characters.Explicit null acceptedEXAMPLEinvoice-2026-0042
memobodyOptionalstring · max 500 · nullableOptional recipient-visible context, limited to 500 characters.Explicit null acceptedEXAMPLEInvoice 2026-0042
payer_workspace_idbodyOptionalworkspace identifier · nullableOptional workspace allowed to pay this request; omission creates a shareable request.Explicit null acceptedEXAMPLEworkspace-payer
REQUEST
{
"amount": "100.00",
"currency": "USD",
"expires_at": "2026-09-02T18:30:00Z",
"external_reference": "example-external-reference",
"memo": "example-memo",
"payer_workspace_id": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB"
}RESPONSES
{
"amount": "100.00",
"balance_mutation_performed": true,
"created_at": "2026-09-02T18:30:00Z",
"currency": "USD",
"expires_at": "2026-09-02T18:30:00Z",
"external_reference": "example-external-reference",
"memo": "example-memo",
"payee_workspace_id": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"payer_workspace_id": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"pending_payment_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"request_commitment": "example-request-commitment",
"request_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"settlement_authority_granted": true,
"state_commitment": "example-state-commitment",
"status": "example-status",
"updated_at": "2026-09-02T18:30:00Z",
"version": 0
}{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentialsOPERATIONAL NOTES
This route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-09-11T06:35:11.572Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation ↗Return to the V2 directory ↗