Making your first request
Prepare a payment run in the sandbox from approved invoices due in the next seven days.
curl https://api.sandbox.stridehq.ai/v1/payment_runs \
-H "Authorization: Bearer $STRIDEHQ_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7f3c2a1e-weekly-run-2026-11-06" \
-d '{
"due_within_days": 7,
"include_overdue": true
}'
The response is the new payment run, waiting for approval (shortened here):
{
"id": "run_8Kd2Lx",
"object": "payment_run",
"reference": "PR-STRIDE-26-053",
"status": "pending_approval",
"created_by_type": "api",
"invoice_ids": ["inv_2Hq7", "inv_9Pt1", "inv_4Mw3"],
"skipped": [
{ "invoice_id": "inv_5Rb8", "code": "invoice_not_approved", "message": "Invoice INV-0042 isn't approved yet" }
],
"totals": [
{ "currency": "GBP", "amount": 1875749 }
],
"approval_url": "https://app.stridehq.ai/payments/runs?tab=runs",
"created_at": "2026-11-03T09:12:44Z"
}
A person with approval permission then reviews and approves the run in StrideHQ, using the approval_url.
Invoices are never silently dropped. Anything StrideHQ leaves out of a run is listed in skipped with a reason.