Simple REST API. Upload invoices, receive payment webhooks. No middleware. No agents. No friction.
Three API calls. Authenticate, upload your invoices, and start receiving payment webhooks.
# Exchange your API key for a Bearer token curl -X POST https://api.agentcollect.com/v1/auth \ -H "Content-Type: application/json" \ -d '{"api_key": "your_key_here"}' # Response { "access_token": "eyJhbGci...", "token_type": "Bearer", "expires_in": 3600, "scope": "campaigns:write payments:read" }
sk_test_... for sandbox and sk_live_... for production.
curl -X POST https://api.agentcollect.com/v1/campaigns \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "company": "Your Company Inc.", "debtors": [{ "company_name": "Acme Corp", "contact_email": "ap@acmecorp.com", "invoice_amount": 15000, "invoice_date": "2025-10-01", "invoice_number": "INV-2025-0847" }] }' # Response { "campaign_id": "cmp_9xQk4Fw2", "status": "active", "debtors_enrolled": 1, "total_amount": 15000, "first_contact_at": "2026-03-17T15:00:00Z" }
"source": "csv_url" with a signed S3 URL.
{
"event": "payment.received",
"id": "evt_Kp2mZxQ8",
"created_at": "2026-03-17T14:22:00Z",
"data": {
"campaign_id": "cmp_9xQk4Fw2",
"debtor": "Acme Corp",
"invoice_number": "INV-2025-0847",
"amount_collected": 15000,
"method": "bank_transfer",
"days_to_collect": 12,
"timestamp": "2026-03-17T14:22:00Z"
}
}
X-AgentCollect-Signature header before processing.
Every endpoint returns JSON. All timestamps are ISO 8601 UTC. Pagination via cursor.
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/campaigns | Create a collection campaign and enroll debtors |
| GET | /v1/campaigns/{id} | Get campaign status, collected amount, and timeline |
| GET | /v1/campaigns/{id}/contacts | Get enriched contacts discovered for each debtor |
| GET | /v1/payments | List all received payments across campaigns |
| POST | /v1/webhooks | Register a webhook endpoint URL for event delivery |
| POST | /v1/auth | Exchange API key for a short-lived Bearer token |
| GET | /v1/payments/{id} | Get payment detail including method and breakdown |
Register once, receive events in real time. No polling required.
curl -X POST https://api.agentcollect.com/v1/webhooks \ -H "Authorization: Bearer YOUR_TOKEN" \ -d '{ "url": "https://yourapp.com/webhooks/ac", "events": [ "payment.received", "case.escalated", "campaign.completed" ] }' # Response { "webhook_id": "wh_7Lm3pRx1", "secret": "whsec_...", "status": "active" }
Pass your brand in the campaign payload. Every email, phone call, and payment page carries your name — not ours.
{
"company": "Your Company Inc.",
"brand": {
"name": "Your Company",
"logo_url": "https://yourco.com/logo.png",
"domain": "yourcompany.com",
"from_email": "ar@yourcompany.com",
"colors": {
"primary": "#1E40AF",
"accent": "#10B981"
}
},
"debtors": [...]
}
AgentCollect is invisible. The debtor never knows we exist. Every touchpoint feels native to your brand.
Built for production workloads. Enterprise plans include dedicated infrastructure and custom rate limits.
Sandbox campaigns use fake money but real AI behavior. Same models, same outreach logic, same webhook events.
sk_live_ when you're ready for production. No code changes needed.We'll send your credentials within 24 hours. Ship in your first sprint.