Platform · Layer 04

Everything the dashboard does, over REST.

The web app is a client of the same API you get. Query inventory, execute purchases, retire credits, and stream verification events into your own systems.

99.95%
Uptime SLA
3
Official SDKs
12 mo
Deprecation window
Free
Sandbox
Built for integration

Stable, versioned, and documented.

URL-based versioning with a minimum twelve-month deprecation window and notice at twelve, six, and one month. Breaking changes only ship in a new major version — v1 endpoints will behave the same in five years as they do today.

Auth
OAuth 2.0
SDKs
JS · Python · Go
Read limit
1,000 / min
Write limit
60 / min
Request access
# Retire credits against a target
POST /v1/retirements

{
  "portfolio_id": "pf_02H8K4M1",
  "amount_tco2": 1250,
  "beneficiary": "Acme Corp",
  "vintage_year": 2026
}

# 200 OK
{
  "retirement_id": "ret_02H8L9Q3",
  "status": "complete",
  "attestation_url": "https://…"
}
Questions

What engineering teams ask

Yes. Issuance records, retirement records, measurement data, and attestations are all readable unauthenticated. You need a key for write operations and portfolio-specific endpoints, but auditing the public record requires nothing from us.

Bulk retirements are queued and return a job ID rather than blocking. Poll the job endpoint or subscribe to the webhook — the latter is what we would recommend.

Free and unlimited, with a full set of synthetic projects and credits. Sandbox keys issue instantly and never touch production data or real credits.

Most likely. We maintain integrations with the common carbon accounting platforms, and webhooks push retirement and verification events as they happen so you are not polling.

Get started

Sandbox keys issue instantly

Build against synthetic data first. Move to production when your integration is ready — no sales call in between.