Skip to main content

Base URL

https://octanist.com/api
All endpoints are relative to this base URL.

Response Format

All responses use a consistent envelope format.

Success Response

{
  "success": true,
  "data": [...],
  "meta": {
    "pagination": {
      "limit": 50,
      "page": 1,
      "totalPages": 5,
      "total": 234,
      "hasMore": true
    },
    "requestId": "req_a1b2c3d4e5f6",
    "timestamp": "2026-03-10T12:00:00.000Z"
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Human readable error message",
    "details": {}
  },
  "meta": {
    "requestId": "req_a1b2c3d4e5f6",
    "timestamp": "2026-03-10T12:00:00.000Z"
  }
}

Error Codes

CodeDescription
UNAUTHORIZEDMissing or invalid API key
VALIDATION_ERRORInvalid request parameters or body
NOT_FOUNDResource not found
FORBIDDENAction is not allowed
CONFLICTResource conflict (e.g., duplicates)
INVALID_DATEInvalid date format
INVALID_FILTERInvalid filter parameter
INTERNAL_ERRORServer error

Pagination

All list endpoints support pagination using limit and page parameters.
ParameterTypeDefaultMaxDescription
limitnumber50100 (500 for ad-spend)Results per page
pagenumber1-Page number (1-indexed)

Pagination Response

{
  "meta": {
    "pagination": {
      "limit": 50,
      "page": 2,
      "totalPages": 5,
      "total": 234,
      "hasMore": true
    }
  }
}

Iterating Through Pages

# Page 1
curl "https://octanist.com/api/leads?limit=50&page=1"

# Page 2
curl "https://octanist.com/api/leads?limit=50&page=2"

# Continue while hasMore is true

Rate Limiting

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

Changelog

VersionDateChanges
1.1.02026-03Added POST /api/leads and PATCH /api/leads docs, fixed source values
1.0.02024-01Initial API release