Authentication
CRMLead Pro uses API Key authentication via the Authorization header. Generate your API key from Settings → API → Generate Key in your dashboard.
Example Header
Authorization: Bearer crmlp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Core Endpoints
/leadsList and filter all leads with pagination, sorting, and search
/leadsCreate a new lead with full contact and metadata
/leads/{id}Retrieve a single lead by ID with full history
/leads/{id}Partially update lead fields (status, stage, assigned user, etc.)
/leads/{id}Archive a lead (soft delete)
/leads/exportExport filtered leads as a downloadable CSV
/import-logs/{id}/errorsDownload row-level import validation errors as CSV
/pipelinesList all pipelines and their stages
/dealsCreate a new deal in a pipeline
/contactsList all contacts with filter, search, and tag support
/campaigns/emailCreate and send a new email campaign
/campaigns/whatsappCreate and send a WhatsApp broadcast campaign
/analytics/pipelinePipeline funnel metrics: volume, conversion rates, deal velocity
/webhooksRegister a webhook for real-time event notifications
Request conventions
Pagination
Collection endpoints accept page and page_size. Responses include count, next, previous, and results.
Filtering
Use documented field filters plus search and ordering where supported. Unknown query parameters are ignored, so check spelling against the documented filters.
Rate limits
Limits apply per workspace: 1,200 requests/minute burst and 6,000/hour sustained; search 300/minute, exports 10/hour, imports 5/hour. Exceeding a limit returns HTTP 429 with a Retry-After header (seconds).
Errors
Errors use JSON with detail or field-level errors and an HTTP status that identifies the failure class.
Paginated request
GET /api/v1/leads?page=2&page_size=50&search=acme&ordering=-created_at
Sample Response — Lead Object
{
"id": "lead_01J2XK3M4N5P6Q7R",
"name": "Priya Sharma",
"email": "priya@acmecorp.in",
"phone": "+91 98765 43210",
"company": "Acme Corp",
"status": "qualified",
"pipeline_stage": "demo_scheduled",
"score": 87,
"source": "website",
"assigned_to": "user_sales_rep_01",
"tags": ["hot-lead", "enterprise"],
"created_at": "2026-05-15T10:30:00Z",
"updated_at": "2026-05-20T14:22:00Z"
}Sample Request — Create Lead
curl -X POST https://crmleadpro.in/api/v1/leads \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Rajesh Kumar",
"email": "rajesh@startup.in",
"phone": "+91 98765 00001",
"source": "website_form",
"pipeline": "sales"
}'Webhooks
Register webhook URLs to receive real-time event notifications when data changes in your CRM. All webhook payloads are signed with HMAC-SHA256 for verification.
lead.createdFired when a new lead is created from any source
lead.status_changedFired when a lead's status or pipeline stage changes
deal.wonFired when a deal is marked as closed won
deal.lostFired when a deal is marked as closed lost
campaign.sentFired when an email or WhatsApp campaign is dispatched
contact.updatedFired when contact information is modified
SDKs & Client Libraries
Official SDKs are in development. In the meantime, use the REST API directly with your preferred HTTP client. We recommend:
Full API Reference
Browse the generated OpenAPI reference for request/response schemas, authentication requirements, and interactive try-it-out support.