Skip to main content
A session records intent to move money. Create the right session type, then execute before it expires. Try in API Reference: Checkout · Payout · Transfer · Refund

Session types

TypeEndpointUse with execution
CheckoutPOST /v1/sessions/checkoutPOST /v1/executions/collection
PayoutPOST /v1/sessions/payoutPOST /v1/executions/payout
TransferPOST /v1/sessions/transferPOST /v1/executions/transfer
RefundPOST /v1/sessions/refundPOST /v1/executions/refund
Checkout sessions require source_id + source_type (INVOICE or ORDER).

Session lifetime

Sessions are short-lived. Create a session immediately before execute — do not cache session IDs across user sessions.
Session typeTypical use
CheckoutCreated when customer starts payment; execute collection before expiry
PayoutResponse includes expires_at — execute payout before that timestamp
Transfer / RefundYou provide expires_at on create
If execute returns session errors, see Session expired.

Minimal example (checkout)

curl -X POST "https://api.heydollr.app/v1/sessions/checkout" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"source_id": 101, "source_type": "INVOICE"}'
Last modified on June 23, 2026