curl --request GET \
--url https://octanist.com/api/leads \
--header 'X-API-KEY: <api-key>'{
"success": true,
"data": [
{
"id": "lead_abc123",
"name": "John Doe",
"email": "john@example.com",
"phone": "+1234567890",
"status": "won",
"value": 5000,
"note": "Customer notes",
"custom": "{\"company\":\"Acme Inc\"}",
"lossReason": null,
"conversionName": "Purchase",
"source": "gtm",
"website": "https://example.com",
"path": "/pricing",
"gclid": "abc123",
"ga4cid": "GA1.1.123456789.1234567890",
"ga4sid": "1234567890",
"fbc": "fb.1.1234567890.abc123",
"fbp": "fb.1.1234567890.987654321",
"msclkid": "msclkid123",
"ttclid": "ttclid123",
"twclid": "twclid123",
"rdt_cid": "rdtcid123",
"sccid": "sccid123",
"li_fat_id": "lifatid123",
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "summer_sale",
"ad_storage": true,
"ad_user_data": true,
"analytics_storage": true,
"ad_personalization": true,
"googleAdsCampaignId": "123456789",
"googleAdsCampaignName": "Spring Sale 2026",
"googleAdsAdGroupId": "987654321",
"googleAdsAdGroupName": "Brand Keywords",
"googleAdsAdId": "111222333",
"labelId": "label_xyz",
"selectedConversionEventId": "conv_123",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-02-20T14:00:00.000Z",
"qualifiedAt": "2026-01-18T09:00:00.000Z",
"expiresAt": "2026-04-15T10:30:00.000Z"
}
],
"meta": {
"pagination": {
"limit": 50,
"page": 1,
"totalPages": 5,
"total": 234,
"hasMore": true
},
"requestId": "req_a1b2c3d4e5f6",
"timestamp": "2026-03-10T12:00:00.000Z"
}
}Retrieve a paginated list of leads with optional filtering, sorting, and field selection
curl --request GET \
--url https://octanist.com/api/leads \
--header 'X-API-KEY: <api-key>'{
"success": true,
"data": [
{
"id": "lead_abc123",
"name": "John Doe",
"email": "john@example.com",
"phone": "+1234567890",
"status": "won",
"value": 5000,
"note": "Customer notes",
"custom": "{\"company\":\"Acme Inc\"}",
"lossReason": null,
"conversionName": "Purchase",
"source": "gtm",
"website": "https://example.com",
"path": "/pricing",
"gclid": "abc123",
"ga4cid": "GA1.1.123456789.1234567890",
"ga4sid": "1234567890",
"fbc": "fb.1.1234567890.abc123",
"fbp": "fb.1.1234567890.987654321",
"msclkid": "msclkid123",
"ttclid": "ttclid123",
"twclid": "twclid123",
"rdt_cid": "rdtcid123",
"sccid": "sccid123",
"li_fat_id": "lifatid123",
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "summer_sale",
"ad_storage": true,
"ad_user_data": true,
"analytics_storage": true,
"ad_personalization": true,
"googleAdsCampaignId": "123456789",
"googleAdsCampaignName": "Spring Sale 2026",
"googleAdsAdGroupId": "987654321",
"googleAdsAdGroupName": "Brand Keywords",
"googleAdsAdId": "111222333",
"labelId": "label_xyz",
"selectedConversionEventId": "conv_123",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-02-20T14:00:00.000Z",
"qualifiedAt": "2026-01-18T09:00:00.000Z",
"expiresAt": "2026-04-15T10:30:00.000Z"
}
],
"meta": {
"pagination": {
"limit": 50,
"page": 1,
"totalPages": 5,
"total": 234,
"hasMore": true
},
"requestId": "req_a1b2c3d4e5f6",
"timestamp": "2026-03-10T12:00:00.000Z"
}
}| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | number | No | 50 | Results per page (1-100) |
page | number | No | 1 | Page number |
sort | string | No | createdAt:desc | Sort field and direction |
search | string | No | - | Search across name, email, phone |
fields | string | No | - | Comma-separated fields to return |
?status=won
?source=gtm
?utm_source=google
?status=won,lost
?createdAt[gte]=2026-01-01
?createdAt[lte]=2026-03-01
?value[gte]=100
?value[lt]=1000
?gclid[exists]=true
?fbc[exists]=false
| Field | Description |
|---|---|
status | Lead status: open, qualified, won, lost |
source | Lead source: inbound, gtm, api, manual, wordpress, import |
labelId | Label ID |
value | Lead value (supports comparison operators) |
website | Website URL |
createdAt | Creation date (supports comparison/exists operators) |
updatedAt | Last update date (supports comparison/exists operators) |
qualifiedAt | Qualification date (supports comparison/exists operators) |
exists operator.
| Field | Platform |
|---|---|
gclid | Google Ads |
ga4cid | Google Analytics 4 Client ID |
ga4sid | Google Analytics 4 Session ID |
fbc | Meta (Facebook) Click ID |
fbp | Meta (Facebook) Browser ID |
msclkid | Microsoft Ads |
ttclid | TikTok |
twclid | X (Twitter) |
rdt_cid | |
sccid | Snapchat |
li_fat_id |
| Field | Description |
|---|---|
utm_source | UTM source |
utm_medium | UTM medium |
utm_campaign | UTM campaign |
| Operator | Example | Description |
|---|---|---|
| (none) | ?status=won | Equals |
[gte] | ?value[gte]=100 | Greater than or equal |
[gt] | ?value[gt]=100 | Greater than |
[lte] | ?value[lte]=1000 | Less than or equal |
[lt] | ?value[lt]=1000 | Less than |
[exists] | ?gclid[exists]=true | Field is not null / is null |
?sort=createdAt:desc
?sort=value:asc
?sort=updatedAt:desc
?sort=value:desc,createdAt:asc
createdAt, updatedAt, qualifiedAt, value, name, email, status
?fields=id,name,email,status,value
id field is always included.
| Legacy | Maps To |
|---|---|
updated_after | updatedAt[gte] |
sort=updated_at:desc | sort=updatedAt:desc |
curl -X GET \
-H "X-API-KEY: your_api_key" \
"https://octanist.com/api/leads?status=won&createdAt[gte]=2026-01-01&sort=value:desc&limit=20&fields=id,name,email,value"
{
"success": true,
"data": [
{
"id": "lead_abc123",
"name": "John Doe",
"email": "john@example.com",
"value": 5000
}
],
"meta": {
"pagination": {
"limit": 20,
"page": 1,
"totalPages": 3,
"total": 45,
"hasMore": true
},
"requestId": "req_a1b2c3d4e5f6",
"timestamp": "2026-03-10T12:00:00.000Z"
}
}
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_FILTER | Unknown or invalid filter field |
| 400 | INVALID_DATE | Invalid date value in a date filter |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 500 | INTERNAL_ERROR | Server error |
{
"id": "lead_abc123",
"name": "John Doe",
"email": "john@example.com",
"phone": "+1234567890",
"status": "won",
"value": 5000,
"note": "Customer notes",
"custom": "{\"company\":\"Acme Inc\"}",
"lossReason": null,
"conversionName": "Purchase",
"source": "gtm",
"website": "https://example.com",
"path": "/pricing",
"gclid": "abc123",
"ga4cid": "GA1.1.123456789.1234567890",
"ga4sid": "1234567890",
"fbc": "fb.1.1234567890.abc123",
"fbp": "fb.1.1234567890.987654321",
"msclkid": "msclkid123",
"ttclid": "ttclid123",
"twclid": "twclid123",
"rdt_cid": "rdtcid123",
"sccid": "sccid123",
"li_fat_id": "lifatid123",
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "summer_sale",
"ad_storage": true,
"ad_user_data": true,
"analytics_storage": true,
"ad_personalization": true,
"googleAdsCampaignId": "123456789",
"googleAdsCampaignName": "Spring Sale 2026",
"googleAdsAdGroupId": "987654321",
"googleAdsAdGroupName": "Brand Keywords",
"googleAdsAdId": "111222333",
"labelId": "label_xyz",
"selectedConversionEventId": "conv_123",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-02-20T14:00:00.000Z",
"qualifiedAt": "2026-01-18T09:00:00.000Z",
"expiresAt": "2026-04-15T10:30:00.000Z"
}
API key for authentication
Results per page (1-100)
1 <= x <= 100Page number
x >= 1Sort field and direction (e.g. createdAt:desc, value:asc). Multiple fields can be combined with commas.
"createdAt:desc"
Search across name, email, phone
Comma-separated fields to return. The id field is always included.
"id,name,email,status,value"
Filter by lead status. Multiple values can be comma-separated.
"won"
Filter by lead source
inbound, gtm, api, manual, wordpress, import Filter by label ID
Filter by website URL
Filter by UTM source
Filter by UTM medium
Filter by UTM campaign
Legacy parameter. Maps to updatedAt[gte].