Request a payment
pink.request_paymentThe real call. Returns "allowed" with a single-use credential, "pending_human" with a hold_id while a person is asked, or "blocked" with the reason. Pass idempotency_key to make retries safe.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount in the payment currency | |
| reason | No | Why you are making it now: the data you saw, the threshold that triggered it (shown to approvers) | |
| purpose | Yes | What this payment is for, in one line (shown to approvers) | |
| currency | No | USD | |
| evidence | No | References you can attach: PO number, invoice id, ticket id, statement id, photos | |
| payee_id | No | Id from pink.list_payees. Omit for a payee not on the list. | |
| local_hour | No | Dry run only: simulate this hour of day (0-23) in the rule's timezone for pink.check_policy. pink.request_payment ignores it and uses the server clock. | |
| payee_name | No | Name of the payee. Required if payee_id is omitted. | |
| evidence_flags | No | Structured evidence and signals: po (matching purchase order), sow (signed SOW), ticket (helpdesk ticket), scan (warehouse scan), statement (matches carrier/cloud statement), brief (signed creator brief), renewal (within 10% of last invoice), dupInvoice, payeeChanged, repeatCustomer, deposit | |
| idempotency_key | No | Any unique string per payment attempt. Repeating a key returns the original decision instead of paying twice; reusing it for a different payment is refused. |