Preview Payment Approval Routing
GET/api/purchase-invoices/payment-request-routing
Preview where a bill payment request of a given amount would be routed, before submitting it. Returns the routing mode and the resolved payer (if the amount routes directly to a single payer).
purchase-orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Query parameters:
- amount (optional, numeric, >= 0): Amount to evaluate. Defaults to 0.
Routing modes: approval_levels (multi-step approval chain), payer (single designated payer to send the request to), self_payer (the acting user is the designated payer, so they approve and record the payment directly instead of sending a request to themselves), threshold_approval (single approval against a threshold), auto_approve (no approval required).
Approval policy:
When the bill-payment approval policy is enabled it wins over every other routing source and mode is approval_policy. The response then adds tier (matched tier name), eligible_users (who can approve the first step; same shape as the routing preview's eligible_users) and approval_policy (the full routing preview: policy_enabled, requires_approval, amount_base, base_currency, tier_name, tier_up_to_amount, steps[], warnings[], requester_can_approve_directly, blocked_reason). payer is still returned — under a policy the designated payer is only told when a payment is ready to pay.
amount is in your home currency: approval levels are set in the home currency, so convert a foreign bill's balance at the bill rate before previewing.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.