API 参考Payroll Runs
List payroll runs for the organization
Returns paginated payroll runs. Use filters to narrow results.
Requires payroll:read scope.
Authorization
apiKey AuthorizationBearer <token>
API key: Authorization: Bearer mpk_live_<key>
In: header
Query Parameters
status?string
Filter by run status
Value in
"DRAFT" | "CONFIRMED" | "PENDING_SIGNING" | "SIGNED" | "DEPOSITING" | "DEPOSITED" | "PAYING_OUT" | "COMPLETED" | "FAILED" | "CANCELLED"is_adhoc?boolean
true = ad-hoc only, false = scheduled only
is_test_run?boolean
true = test runs only, false = real runs only
created_after?string
Runs created after this datetime (ISO 8601)
Format
date-timecreated_before?string
Runs created before this datetime (ISO 8601)
Format
date-timelimit?integer
Max results per page
Default
25Range
1 <= value <= 200offset?integer
Number of results to skip
Default
0Range
0 <= valuesort?string
Sort field. Prefix '-' for descending.
Default
"-created_at"Value in
"created_at" | "-created_at" | "total_amount_usd_cents" | "-total_amount_usd_cents"Response Body
application/json
application/json
application/json
curl -X GET "https://motivation-money.vercel.app/api/v1/payroll-runs?created_after=2026-03-01T00%3A00%3A00.000Z"{
"data": [
{
"id": "run_cm5x8k2a3000108l3g8h1j2k4",
"status": "DRAFT",
"label": "March 2026 Payroll",
"period_start": "2026-03-01",
"period_end": "2026-03-31",
"employee_count": 18,
"total_amount_usd_cents": 4782350,
"total_fees_usd_cents": 3600,
"stablecoin": "USDC",
"network": "ETHEREUM",
"is_adhoc": false,
"is_test_run": false,
"is_archived": false,
"created_at": "2026-03-01T00:00:00.000Z",
"confirmed_at": "2026-03-01T09:15:00.000Z",
"completed_at": "2026-03-01T10:42:00.000Z",
"created_by_user_id": "usr_abc123"
}
],
"pagination": {
"total": 142,
"limit": 25,
"offset": 0,
"has_more": true
},
"api_version": "2026-03-01",
"request_id": "req_f1a2b3c4"
}{
"error": {
"code": "INVALID_API_KEY",
"message": "API key is missing, malformed, or revoked.",
"details": {},
"recovery_hint": "Check the Authorization header. Keys are created in Settings → API."
}
}{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. 100 requests per minute allowed.",
"details": {
"limit": 100,
"window_seconds": 60,
"retry_after_seconds": 12
},
"recovery_hint": "Wait 12 seconds before retrying."
}
}