Complete technical documentation for developers integrating with Pamphlet CRM's production-ready REST API. Built to handle thousands of enterprise users with comprehensive features for contacts, leads, deals, webhooks, and analytics.
Multi-method authentication, rate limiting, and enterprise-grade security
20+ webhook events with reliable delivery and retry logic
Comprehensive analytics, health checks, and performance metrics
https://api.pamphletcrm.com/v1Primary authentication method for server-to-server integrations
Header:
X-API-Key: pk_live_1234567890abcdef...Clerk authentication for user-context requests
Header:
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...OAuth2 flows for third-party applications
Header:
Authorization: Bearer oauth2_access_tokenCreate an API key using your Clerk authentication:
curl -X POST https://api.pamphletcrm.com/api/v1/auth/api-keys \
-H "Authorization: Bearer YOUR_CLERK_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Integration",
"scopes": ["contacts:read", "contacts:write", "deals:read"],
"rate_limit_tier": "professional"
}'API keys support granular permissions. Assign only the scopes your integration needs:
contacts:readRead contact informationcontacts:writeCreate and update contactscontacts:deleteDelete contactsleads:readRead lead informationleads:writeCreate and update leadsleads:deleteDelete leadsdeals:readRead deal informationdeals:writeCreate and update dealsdeals:deleteDelete dealsanalytics:readAccess analytics and reportswebhooks:readList webhook configurationswebhooks:writeManage webhookswebhooks:deleteDelete webhooksadminFull administrative access/api/v1/auth/api-keysList your API keys/api/v1/auth/api-keysCreate a new API key/api/v1/auth/api-keys/{id}Get API key details/api/v1/auth/api-keys/{id}Update API key/api/v1/auth/api-keys/{id}Delete API key/api/v1/contactsList contacts with filtering & pagination/api/v1/contactsCreate a new contact/api/v1/contacts/{id}Get contact by ID/api/v1/contacts/{id}Update contact information/api/v1/contacts/{id}Delete contact/api/v1/contacts/bulkBulk create/update contacts/api/v1/leadsList leads with scoring & filtering/api/v1/leadsCreate a new lead/api/v1/leads/{id}Get lead by ID/api/v1/leads/{id}Update lead information/api/v1/leads/{id}Delete lead/api/v1/leads/{id}/convertConvert lead to contact/deal/api/v1/dealsList deals with pipeline filtering/api/v1/dealsCreate a new deal/api/v1/deals/{id}Get deal by ID/api/v1/deals/{id}Update deal information/api/v1/deals/{id}Delete deal/api/v1/deals/{id}/stageMove deal to different stage/api/v1/webhooksList webhook endpoints/api/v1/webhooksCreate webhook endpoint/api/v1/webhooksBulk update webhooks/api/v1/webhooksDelete webhooks/api/v1/webhooks/eventsList webhook events/api/v1/webhooks/events/retryRetry failed events/api/v1/analyticsGet comprehensive analytics/api/v1/analytics/api-usageAPI usage analytics/api/v1/analytics/dashboardDashboard metrics/api/v1/system/healthSystem health check/api/v1/system/webhook-processorWebhook processor status/api/v1/system/webhook-processorTrigger webhook processing/api/v1/docsOpenAPI specification (JSON)/api/v1/docs?format=htmlInteractive API documentation/api/v1/docs?format=yamlOpenAPI specification (YAML)Perfect for small teams and testing
For growing businesses
For large-scale integrations
All API responses include rate limiting information:
X-RateLimit-Limit: 10000 X-RateLimit-Remaining: 9999 X-RateLimit-Reset: 1640995200 X-Request-ID: req_1234567890
curl -X POST https://api.pamphletcrm.com/api/v1/webhooks \
-H "X-API-Key: pk_live_1234567890abcdef..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/webhooks/pamphlet",
"events": ["contact.created", "deal.updated"],
"is_active": true
}'contact.createdNew contact createdcontact.updatedContact information updatedcontact.deletedContact deletedlead.createdNew lead createdlead.updatedLead information updatedlead.deletedLead deleteddeal.createdNew deal createddeal.updatedDeal information updateddeal.deletedDeal deleteddeal.stage_changedDeal moved between stagesactivity.createdNew activity loggedcampaign.startedCampaign startedcampaign.completedCampaign completedemail.sentEmail sentemail.openedEmail openedemail.clickedEmail link clickeddocument.createdDocument createdproposal.sentProposal sent to clientproposal.signedProposal signedai.insight_generatedAI insight generated{
"id": "evt_1234567890",
"event": "contact.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "contact_123",
"email": "john@example.com",
"first_name": "John",
"last_name": "Doe",
"created_at": "2024-01-15T10:30:00Z"
},
"user_id": "user_456",
"livemode": true
}curl -X GET "https://api.pamphletcrm.com/api/v1/contacts?status=active&limit=20" \ -H "X-API-Key: pk_live_1234567890abcdef..."
?page=1&limit=20Pagination parameters
?status=activeFilter by contact status
?search=johnSearch across fields
?tags=vip,customerFilter by tags
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request data is invalid",
"details": {
"field": "email",
"issue": "Email address is required"
}
},
"meta": {
"requestId": "req_1234567890",
"timestamp": "2024-01-15T10:30:00Z",
"version": "v1"
}
}Monitor API status and performance metrics:
GET /api/v1/system/health?detailed=trueTrack usage, performance, and errors:
GET /api/v1/analytics/dashboardGet your API key and start integrating with Pamphlet CRM's production-ready API. Built for enterprise scale with comprehensive monitoring, webhooks, and analytics.