API Reference
Build on top of Meridian with our RESTful API. Access signal data, attribution models, and reporting programmatically.
Overview
The Meridian API is organized around REST. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. All API requests must be made over HTTPS.
Base URL
https://api.meridian.io/v2
API Version
v2 (stable)
Authentication
Authenticate your API requests by including your API key in the Authorization header as a Bearer token. You can find your API key in the Meridian dashboard under Settings > API.
# Authenticate with your API key curl https://api.meridian.io/v2/signals \ -H "Authorization: Bearer mk_live_your_api_key_here" \ -H "Content-Type: application/json"
API keys carry significant privileges. Do not share your secret API keys in publicly accessible areas such as client-side code, GitHub repositories, or public documentation.
Rate Limits
Rate limits are applied per API key. When you exceed the limit, the API returns a 429 Too Many Requests response.
| Plan | Rate Limit | Burst |
|---|---|---|
| Growth | 1,000 requests/min | 50 concurrent |
| Enterprise | 10,000 requests/min | 200 concurrent |
Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
Core Endpoints
/v2/signals
List all signals for the authenticated account. Supports pagination, date range filtering, and channel filtering.
# List signals from the last 7 days curl "https://api.meridian.io/v2/signals?start_date=2024-01-11&end_date=2024-01-18&limit=50" \ -H "Authorization: Bearer mk_live_your_api_key_here"
// Response (200 OK) { "data": [ { "id": "sig_abc123", "type": "page_view", "channel": "google_ads", "user_id": "usr_def456", "timestamp": "2024-01-15T14:32:00Z", "properties": { "campaign": "q1_brand_awareness", "device": "mobile" } } ], "pagination": { "total": 1284, "limit": 50, "offset": 0, "has_more": true } }
/v2/journeys/:id
Retrieve a specific customer journey by ID, including all associated touchpoints, attribution weights, and conversion events.
curl https://api.meridian.io/v2/journeys/jrn_xyz789 \ -H "Authorization: Bearer mk_live_your_api_key_here"
/v2/signals
Create a new signal event. Use this to send custom events from your backend systems into Meridian for attribution tracking.
curl https://api.meridian.io/v2/signals \ -X POST \ -H "Authorization: Bearer mk_live_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "type": "form_submission", "user_id": "usr_def456", "channel": "organic_search", "properties": { "form_name": "demo_request", "page_url": "/pricing" } }'
/v2/attribution/report
Generate an attribution report for a specified date range and model type. Returns channel-level attribution data with spend, revenue, and ROI metrics.
curl "https://api.meridian.io/v2/attribution/report?model=data_driven&start=2024-01-01&end=2024-01-31" \ -H "Authorization: Bearer mk_live_your_api_key_here"
/v2/webhooks
Create a webhook subscription to receive real-time notifications when specific events occur, such as anomaly detection or conversion milestones.
curl https://api.meridian.io/v2/webhooks \ -X POST \ -H "Authorization: Bearer mk_live_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/webhooks/meridian", "events": ["anomaly.detected", "conversion.completed"], "secret": "whsec_your_signing_secret" }'
Client Libraries
Official SDKs are available for popular languages. Community-maintained libraries are also welcome.
Node.js
npm install @meridian/sdk
Python
pip install meridian-sdk
Ruby
gem install meridian
Ready to build with the Meridian API?
Sign up for a Growth plan to get API access. Full OpenAPI 3.0 spec available in your dashboard.
Start Free Trial