REST API for integrating DuePilot into your platform, automating workflows, and building custom AR tooling.
DuePilot uses API keys for authentication. Generate a key from Settings → API Keys in your dashboard. All API requests must include your key as a Bearer token.
Authorization: Bearer dp_live_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Base URL
https://api.duepilot.ai
API Version
v1 (current)
Rate limit
100 requests / minute
Response format
JSON envelope: { data, pagination? }
/v1/invoices
List all invoices with pagination, filtering by status and customer
/v1/invoices/:id
Get a single invoice with full customer, sequence, and reply history
/v1/invoices/:id/sequences
Enroll an invoice in a collection sequence
/v1/invoices/:id/sequences
Stop the active sequence for an invoice
/v1/customers
List customers with payment scores and AR summary
/v1/customers/:id
Get customer profile with full payment history and scoring breakdown
/v1/sequences
List available collection sequences in your workspace
/v1/sequences
Create a custom collection sequence
/v1/sequences/:id/steps
Get all steps in a sequence with timing and template content
/v1/replies
List classified customer replies with pagination
/v1/replies/:id
Get a single reply with AI classification and confidence score
/v1/replies/:id/resolve
Mark a reply as reviewed and resolved
/v1/dashboard/summary
Get AR summary: aging buckets, DSO, recovery rate, active sequences
/v1/rules
List automation rules in your workspace
/v1/rules
Create a new automation rule with trigger and action configuration
/v1/events
Paginated event log for all DuePilot actions on invoices and customers
/v1/invoices
Returns a paginated list of invoices. Supports filtering by status, customer, and aging bucket.
Response
{
"data": [
{
"id": "inv_01HXYZ",
"customer_id": "cus_01HABC",
"amount": 4750.00,
"currency": "USD",
"status": "overdue",
"due_date": "2026-03-15",
"days_overdue": 25,
"sequence_active": true
}
],
"pagination": {
"cursor": "inv_01HXYZ",
"has_more": true,
"limit": 25
}
}/v1/invoices/:id/sequences
Enroll an invoice in a collection sequence. Returns the sequence enrollment with step schedule.
Request body
{
"sequence_id": "seq_01HDEF",
"override_tone": "firm"
}Response
{
"data": {
"enrollment_id": "enr_01HPQR",
"invoice_id": "inv_01HXYZ",
"sequence_id": "seq_01HDEF",
"status": "active",
"next_step_at": "2026-04-10T09:00:00Z",
"steps_remaining": 4
}
}/v1/dashboard/summary
Returns the current AR summary including aging buckets, DSO, and recovery metrics.
Response
{
"data": {
"total_outstanding": 127450.00,
"aging": {
"current": 42000.00,
"days_1_30": 38500.00,
"days_31_60": 29750.00,
"days_61_90": 12200.00,
"days_90_plus": 5000.00
},
"dso": 38.2,
"recovery_rate_30d": 0.89,
"active_sequences": 47
}
}DuePilot can send webhook events to your server when key actions occur. Configure webhook URLs in Settings → Webhooks.
invoice.enrolled
An invoice was enrolled in a sequence
invoice.paid
QuickBooks recorded a payment — sequence paused
invoice.overdue
An invoice passed its due date without payment
reply.received
A customer replied to a collection email
reply.classified
AI classified the reply type and confidence score
sequence.completed
All steps in a sequence were sent without payment
sequence.paused
Sequence paused due to dispute or reply classification
Full API reference coming soon
TypeScript and Python SDKs, OpenAPI spec download, and interactive API explorer are in development. Contact us for early access.