Skip to main content

Base URL

All endpoints are relative to this base URL.

Response Format

All responses use a consistent envelope format.
/api/check is the only public endpoint that returns a minimal { "success": true } response on success. Lead, stats, and ad spend endpoints use the full envelope shown below.

Success Response

Error Response

Error Codes

Pagination

All list endpoints support pagination using limit and page parameters.

Pagination Response

Iterating Through Pages

Rate Limiting

Currently, there are no rate limits on the API. This may change in the future.

Compatibility

The current API keeps the old Octanist lead API behavior while adding pixel session support. Existing integrations can keep using:
  • POST /api/leads with lead fields, click IDs, UTM fields, consent fields, website, and path
  • PATCH /api/leads with changedTo as the legacy alias for status, and email or phone as either a string or an ordered array of fallback identifiers
  • GET /api/leads?updated_after=... as the legacy alias for updatedAt[gte]
  • sort=updated_at:desc as the legacy alias for sort=updatedAt:desc
New integrations can also send sessionId to POST /api/leads. This links a backend-created lead to an existing Octanist pixel session.

Changelog