API Documentation
Build powerful integrations with the Klear CRM API
RESTful API for Automation
Integrate Klear CRM with your existing tools. Works with Zapier, Make, and custom integrations.
# Create a contact
curl -X POST https://api.klearcrm.com/api/zapier/contacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "John Smith",
"email": "john@example.com",
"phone": "+15551234567",
"company": "Acme Inc",
"stage": "new"
}'Authentication
All API requests require authentication using an API key.
Getting Your API Key
- Log in to your Klear CRM account
- Go to Settings → Integrations
- Click Generate API Key or copy your existing key
- Store your API key securely - it won't be shown again
Using Your API Key
Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYAlternative: Pass as query parameter ?api_key=YOUR_API_KEY or header X-API-KEY: YOUR_API_KEY
Base URL
https://api.klearcrm.com/apiAll endpoints are relative to this base URL.
API Endpoints
Complete list of available endpoints for integration.
/zapier/contactsList all contacts (polling trigger)
limit (optional, default: 20, max: 100)
[{ id, name, email, phone, company, stage, notes, tags, created_at, updated_at }]/zapier/contactsCreate a new contact
name (required), email, phone, company, stage, notes, tags
{ id, name, email, phone, company, stage, notes, tags, created_at }/zapier/contacts/searchFind a contact by email or phone
email or phone (one required)
[{ id, name, email, phone, company, stage, notes, tags, created_at, updated_at }]/zapier/contacts/:idUpdate an existing contact
name, email, phone, company, stage, notes, tags (all optional)
{ id, name, email, phone, company, stage, notes, tags, created_at, updated_at }/zapier/messagesSend an SMS message
to (required), message (required), from_phone_id (optional)
{ id, from, to, body, status, created_at }/zapier/messagesList messages (polling trigger)
limit (optional), direction (optional: inbound/outbound)
[{ id, from, to, body, direction, status, created_at }]/zapier/callsList calls (polling trigger)
limit (optional, default: 20, max: 100)
[{ id, from, to, direction, status, duration, recording_url, created_at }]/zapier/phone-numbersList available phone numbers
none
[{ id, phone_number, friendly_name }]/zapier/pipeline-stagesList pipeline stages
none
[{ id, name }]/zapier/meGet authenticated account info
none
{ id, name, email, company, plan, phone_numbers_count }Webhooks
Subscribe to real-time events. Configure webhooks in Settings → Integrations.
| Event | Description |
|---|---|
contact.created | Triggered when a new contact is created |
contact.updated | Triggered when a contact is updated |
message.received | Triggered when an SMS is received |
message.sent | Triggered when an SMS is sent |
call.completed | Triggered when a call ends |
call.missed | Triggered when a call is missed |
Webhook Payload Example
{
"event": "contact.created",
"timestamp": "2024-01-15T10:30:00.000Z",
"data": {
"contact": {
"id": "abc123",
"name": "John Smith",
"email": "john@example.com",
"phone": "+15551234567",
"company": "Acme Inc",
"stage": "new",
"created_at": "2024-01-15T10:30:00.000Z"
}
}
}Webhooks include an X-Klear-Signature header for verification (HMAC-SHA256).
Zapier Integration
Connect Klear CRM with 5,000+ apps using Zapier.
Available Triggers
- +
New Contact
Triggers when a new contact is created
- +
New Message
Triggers when a message is sent or received
- +
New Call
Triggers when a call is completed
Available Actions
- →
Create Contact
Add a new contact to your CRM
- →
Update Contact
Update an existing contact's information
- →
Send SMS
Send an SMS to any phone number
- →
Find Contact
Search for a contact by email or phone
Error Codes
Standard HTTP status codes are used to indicate success or failure.
| Code | Description |
|---|---|
200 | Success |
400 | Bad Request - Invalid parameters or missing required fields |
401 | Unauthorized - Invalid or missing API key |
404 | Not Found - Resource does not exist |
429 | Rate Limited - Too many requests |
500 | Server Error - Something went wrong on our end |
Rate Limits
API requests are rate limited to ensure fair usage.
1,000
Requests per minute
100,000
Requests per day
99.9%
Uptime SLA
Need higher limits? Contact us for enterprise plans.
