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.
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"
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.
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.
Generate a new compliance report
Request Body
{
"report_type": "lcfs_quarterly",
"facility_id": "fac_123",
"quarter": "Q4",
"year": 2025,
"format": "pdf"
}
Retrieve a generated report
Documents
Upload and process compliance documents using Intellitick's AI.
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 detectedreport.generated- A report has been generatedalert.triggered- A compliance alert has been triggereddocument.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.
• 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"
}
}