CRM & Marketing Platform API Reference
Version: 2.0
Base URL: /api/v1
Authentication: Bearer JWT Token
Overview
This API provides programmatic access to the CRM & Marketing Platform, enabling customer profile management, segmentation, campaign orchestration, journey automation, and social media publishing.
Quick Links
| Resource | Description |
|---|---|
| Customers | Profile CRUD, identity resolution, merge |
| Segments | Dynamic/static segments, sync to Messaging |
| Campaigns | Campaign lifecycle, scheduling, stats |
| Journeys | Journey builder, steps, enrollments |
| Social | Connections, posts, publishing |
| Promotions | Event promotion configuration |
| Analytics | Engagement, campaign, social metrics |
| GraphQL | Full GraphQL schema |
| Errors | Error codes, rate limits |
Authentication
All endpoints require authentication via Bearer token.
Authorization: Bearer <jwt_token>
Required Scopes
| Scope | Description |
|---|---|
crm:read | Read profiles, timeline, notes |
crm:write | Create/update profiles, add notes |
crm:admin | Merge profiles, manage segments |
crm:campaigns | Manage campaigns and journeys |
crm:social | Manage social connections and posts |
Request Format
Content Type
Content-Type: application/json
Common Query Parameters
| Parameter | Type | Description |
|---|---|---|
tenantId | string | Tenant identifier (required on most endpoints) |
skip | number | Pagination offset (default: 0) |
take | number | Pagination limit (default: 25, max: 100) |
Response Format
Success Response
{
"data": { /* resource or array of resources */ },
"meta": {
"total": 100,
"skip": 0,
"take": 25,
"hasMore": true
}
}
Error Response
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Human-readable error message",
"requestId": "req_abc123"
}
}
Pagination
List endpoints support cursor-based pagination:
GET /customers?tenantId=tenant_123&skip=0&take=25
Response includes metadata:
{
"data": [...],
"meta": {
"total": 1250,
"skip": 0,
"take": 25,
"hasMore": true
}
}
Rate Limits
| Endpoint Type | Limit |
|---|---|
| Read operations | 1000/minute |
| Write operations | 100/minute |
| Campaign execution | 10/minute |
| Social publishing | 30/minute |
| Bulk operations | 10/minute |
Rate limit headers are included in responses:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1734184800