API v1 · MCP Server (31 tools · 3 resources · 3 prompts) · TypeScript & Python SDKs

Build on qlim8

Programmatic access to carbon accounting data. Integrate via REST API, connect AI agents with MCP, or use the TypeScript and Python SDKs.

What do you want to build?

Choose an integration path based on your use case.

REST API v1

Full programmatic access to emissions, activities, reports, targets, value chain, scenarios, data sources, quota, categories, PCF, departments, attestations, notifications, and webhooks. Bearer auth, RFC 9457 errors, cursor pagination, idempotent writes.

Explore the reference →

MCP Server AI

Connect Claude, ChatGPT, Claude Code, Cursor, or any MCP-compatible agent directly to your carbon data — 31 curated tools, 3 resources, and 3 prompts, no custom code required.

Connect your AI agent →

TypeScript SDK ↗

Typed API client for Node.js and the browser. Full type inference, auto-generated from the OpenAPI spec.

npm install @qlim8/api-client

Python SDK ↗

Sync and async client with Pydantic models. Works with FastAPI, Django, or standalone scripts.

pip install qlim8

Webhooks

Subscribe to report.generation_completed, supplier.connected, target.created, and more. HMAC-SHA256 signed with automatic retry.

Webhook reference →

Migration guide

Moving from the legacy X-API-Key endpoints? Covers auth header, error format, pagination, and webhook setup — sunset date 30 Sep 2027.

v0 → v1 →

Guides

Task-focused references — every example in curl, TypeScript, and Python.

Authentication & scopes → Cursor pagination → Idempotent writes → Errors & rate limits → Verifying webhook signatures → For LLMs: llms.txt →

Quickstart

Make your first API call in under 60 seconds.

# 1. Mint an API key at app.qlim8.com → Collectors → API Keys
#    Select scopes: emissions:read

# 2. Fetch your emissions summary for 2024
curl "https://api.qlim8.com/api/v1/emissions/summary?from=2024-01-01T00:00:00Z&to=2024-12-31T23:59:59Z" \
  -H "Authorization: Bearer qk_live_<your-key>"

# Response
{
  "total_co2e_kg": 142300.5,
  "by_scope": { "1": 12000, "2": 45000, "3": 85300.5 },
  "entry_count": 847
}
Full API reference → MCP for AI agents →

Authentication

All endpoints require a Bearer token. Mint keys at Collectors → API Keys in the app.

Live keys
Authorization: Bearer qk_live_<64-hex>

Full access on production data. Rate limit: 600 read / 60 write req/min per key.

Sandbox keys
Authorization: Bearer qk_sandbox_<64-hex>

Isolated environment, no production data. 10× stricter rate limits.

💡
Scope-based access control

Each API key carries a set of scopes (e.g. emissions:read, reports:generate, webhooks:manage). Request only the scopes your integration needs — the principle of least privilege applies. The full scope list is in the API reference.