Overview
The Todo Lists API allows you to retrieve and manage todo items including:- Agreements - Active payment plans with debtors
- Debtor Requests - Portal submissions requiring human review (disputes, hardship declarations, payment plan proposals)
- AI Detections - Items flagged by AI during calls (disputes, objections)
The legacy type names
blocking_dispute and non_blocking_dispute are still accepted as query parameters and URL path segments for backward compatibility. However, all responses now use the canonical names debtor_request and ai_detection.Todo Types
Agreements (agreement)
Payment plans reached with debtors, including:
- Installment schedules
- Payment tracking
- Plan duration and start dates
- Grouped debts (multiple debts under a single payment plan return extra fields:
is_group,debt_count,total_amount,currency,debts)
Debtor Requests (debtor_request)
Items submitted by debtors through the portal. Collection is paused. Sub-types:
AI Detections (ai_detection)
Items flagged by AI during automated calls. Collection is not paused. Sub-types:
Dispute Statuses
suggested- Pending reviewvalidated- Dispute has been validatedrejected- Dispute was rejected
List Todos
Query Parameters
Response
Grouped agreement fields
When an agreement covers multiple debts, the response includes additional fields:Debtor Request sub-type fields
Depending onsub_type, debtor requests include different fields:
portal_dispute: status, severity, title, description, theme, detected_content, ai_confidence, proof_files
hardship: employment_status, is_temporary, expected_recovery_period, check_in_date, check_in_due
payment_plan: monthly_amount, start_date, number_of_installments, first_payment_amount, debtor_message
AI Detection sub-type fields
ai_dispute: status, severity, title, description, theme, detected_content, ai_confidence, source, audio_url, followup_id, call_id
objection: objection_type, detected_content, ai_confidence, severity, theme, audio_url, followup_id, call_id
Error Responses
Example: Processing Todos
Webhooks
You can configure webhooks to be notified when:- New disputes are detected
- Agreements are created or modified
- Dispute status changes
Authentication
This endpoint requires a valid Bearer token with thedebts:read scope.
Rate Limits
- 1,000 requests per hour
Best Practices
- Process debtor requests first - These pause collection and need immediate attention
- Use period filters - Focus on recent todos to avoid processing old data
- Monitor agreement installments - Check for overdue payments regularly
- Include admin notes - Always document status changes for audit trail
- Use stats endpoint - Get a quick overview before fetching detailed lists
- Handle media URL expiry - Pre-signed URLs for audio/PDF expire after 1 hour; re-fetch if needed