What You Can Do
- Read and write all CRM data - Accounts, contacts, deals, activities
- Automate workflows - Trigger actions based on events
- Sync with other systems - Keep data consistent across your stack
- Build custom applications - Create tailored experiences
- Generate reports - Pull data for custom analytics
RESTful Design
Standard HTTP methods (GET, POST, PUT, DELETE) with JSON responses.
OAuth 2.0 Authentication
Secure authorization for third-party apps. API keys for server-to-server.
Webhooks
Real-time notifications when data changes.
Comprehensive Coverage
Full CRUD for all objects: accounts, contacts, deals, activities, products, quotes.
Quick Start
Get up and running in minutes
1
Get Your API Key
Settings → API → Create New Key2
Make Your First Request
curl -X GET "https://api.atoncrm.com/v1/deals" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
3
Response
{
"data": [
{
"id": "deal_abc123",
"name": "Acme Corp - Enterprise License",
"value": 50000,
"stage": "proposal",
"probability": 60,
"expected_close": "2026-02-15"
}
],
"meta": {
"total": 47,
"page": 1,
"per_page": 20
}
}Core Endpoints
Accounts
GET/v1/accounts
GET/v1/accounts/:id
POST/v1/accounts
PUT/v1/accounts/:id
DELETE/v1/accounts/:id
Contacts
GET/v1/contacts
GET/v1/contacts/:id
POST/v1/contacts
PUT/v1/contacts/:id
DELETE/v1/contacts/:id
Deals
GET/v1/deals
GET/v1/deals/:id
POST/v1/deals
PUT/v1/deals/:id
DELETE/v1/deals/:id
PATCH/v1/deals/:id/stage
Activities
GET/v1/activities
POST/v1/activities
PUT/v1/activities/:id
DELETE/v1/activities/:id
Webhooks
Receive real-time notifications when events occur. Perfect for keeping external systems in sync.
Available Events
deal.createdNew deal addeddeal.updatedDeal modifieddeal.stage_changedDeal moved to new stagedeal.wonDeal marked as wondeal.lostDeal marked as lostcontact.createdNew contact addedactivity.createdNew activity loggedemail.openedTracked email openedWebhook Payload
{
"event": "deal.stage_changed",
"timestamp": "2026-01-08T15:30:00Z",
"data": {
"deal_id": "deal_abc123",
"previous_stage": "qualification",
"new_stage": "proposal",
"changed_by": "user_456"
}
}Rate Limits
| Plan | Requests/Minute | Daily Limit |
|---|---|---|
| Professional | 1,000 | 100,000 |
| Enterprise | 10,000 | Unlimited |
SDKs
Official libraries for popular languages
JavaScript/TypeScript
npm install @atoncrm/sdkimport { AtonCRM } from '@atoncrm/sdk';
const client = new AtonCRM('sk_live_abc123');
const deals = await client.deals.list({
stage: 'proposal'
});Python
pip install atoncrmfrom atoncrm import AtonCRM
client = AtonCRM('sk_live_abc123')
deals = client.deals.list(
stage='proposal'
)