Intellitick API Documentation

Build powerful integrations with Intellitick's compliance automation platform. Access real-time data, generate reports, and manage compliance workflows programmatically.

Introduction

The Intellitick API is organized around REST principles. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL: https://api.intellitick.com/v1

Authentication

The Intellitick API uses API keys to authenticate requests. You can view and manage your API keys in the Intellitick Dashboard.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Obtaining API Keys

Navigate to Settings > API Keys in your Intellitick dashboard to generate new API keys.

Authentication Example

curl https://api.intellitick.com/v1/data-points \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
Important: All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Quick Start

Get up and running with the Intellitick API in minutes.

1. Install the SDK (Optional)

# Python
pip install intellitick

# Node.js
npm install @intellitick/sdk

# Ruby
gem install intellitick

2. Make Your First Request

# Python example
import intellitick

client = intellitick.Client('YOUR_API_KEY')
data_points = client.data_points.list(
    facility_id='fac_123',
    start_date='2025-01-01',
    end_date='2025-01-31'
)

for point in data_points:
    print(point.timestamp, point.value)

Data Points

Data points represent time-series operational data from your facilities.

GET /data-points

Retrieve data points for a facility

Parameters

Parameter Type Required Description
facility_id string Yes The facility identifier
start_date string Yes Start date (ISO 8601 format)
end_date string Yes End date (ISO 8601 format)
tags array No Filter by data point tags
limit integer No Number of results (default: 100, max: 1000)

Example Response

{
  "data": [
    {
      "id": "dp_abc123",
      "facility_id": "fac_123",
      "tag": "flow_rate",
      "timestamp": "2025-01-15T14:30:00Z",
      "value": 125.4,
      "unit": "m3/hr",
      "quality": "good"
    }
  ],
  "pagination": {
    "total": 1543,
    "page": 1,
    "per_page": 100
  }
}

Reports

Generate and retrieve compliance reports programmatically.

POST /reports

Generate a new compliance report

Request Body

{
  "report_type": "lcfs_quarterly",
  "facility_id": "fac_123",
  "quarter": "Q4",
  "year": 2025,
  "format": "pdf"
}
GET /reports/{report_id}

Retrieve a generated report

Documents

Upload and process compliance documents using Intellitick's AI.

POST /documents

Upload a document for processing

Example Request

curl -X POST https://api.intellitick.com/v1/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@invoice.pdf" \
  -F "document_type=invoice" \
  -F "facility_id=fac_123"

Webhooks

Receive real-time notifications about events in your Intellitick account.

Available Events

  • data_gap.detected - A data gap has been detected
  • report.generated - A report has been generated
  • alert.triggered - A compliance alert has been triggered
  • document.processed - A document has been processed

Webhook Payload Example

{
  "event": "data_gap.detected",
  "timestamp": "2025-01-15T14:30:00Z",
  "data": {
    "facility_id": "fac_123",
    "tag": "flow_rate",
    "gap_start": "2025-01-15T12:00:00Z",
    "gap_end": "2025-01-15T14:30:00Z",
    "duration_minutes": 150
  }
}

Rate Limits

The Intellitick API enforces rate limits to ensure service stability.

Standard Rate Limits:
• 1,000 requests per minute
• 50,000 requests per hour
• 500,000 requests per day

Rate limit information is included in response headers:

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

Error Handling

Intellitick uses conventional HTTP response codes to indicate the success or failure of an API request.

Error Codes

Code Meaning
200 OK - Everything worked as expected
400 Bad Request - Invalid parameters
401 Unauthorized - Invalid API key
404 Not Found - Resource doesn't exist
429 Too Many Requests - Rate limit exceeded
500 Server Error - Something went wrong on our end

Error Response Format

{
  "error": {
    "type": "invalid_request",
    "message": "facility_id is required",
    "code": "missing_parameter"
  }
}