Skip to main content

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.


ResourceDescription
CustomersProfile CRUD, identity resolution, merge
SegmentsDynamic/static segments, sync to Messaging
CampaignsCampaign lifecycle, scheduling, stats
JourneysJourney builder, steps, enrollments
SocialConnections, posts, publishing
PromotionsEvent promotion configuration
AnalyticsEngagement, campaign, social metrics
GraphQLFull GraphQL schema
ErrorsError codes, rate limits

Authentication

All endpoints require authentication via Bearer token.

Authorization: Bearer <jwt_token>

Required Scopes

ScopeDescription
crm:readRead profiles, timeline, notes
crm:writeCreate/update profiles, add notes
crm:adminMerge profiles, manage segments
crm:campaignsManage campaigns and journeys
crm:socialManage social connections and posts

Request Format

Content Type

Content-Type: application/json

Common Query Parameters

ParameterTypeDescription
tenantIdstringTenant identifier (required on most endpoints)
skipnumberPagination offset (default: 0)
takenumberPagination 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 TypeLimit
Read operations1000/minute
Write operations100/minute
Campaign execution10/minute
Social publishing30/minute
Bulk operations10/minute

Rate limit headers are included in responses:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1734184800