Carbon Intelligence External API
5 read-only endpoints for embedding MintCarb data into your systems. Authenticated via X-API-Key header. All endpoints are tenant-scoped — each key returns only your organization's data.
Base URL
116.203.153.145:8200/api/v1Auth header
X-API-KeyKey format
mc_live_…All methods
GET (read-only)Authentication
Pass your API key in the X-API-Key header on every request. Keys are created in Settings → API Keys inside your MintCarb account.
curl -s \ -H "X-API-Key: mc_live_YOUR_KEY_HERE" \ "https://116.203.153.145:8200/api/v1/ext/v1/emissions"
Scopes
Each key is granted one or more scopes at creation time. A request to an endpoint without the required scope returns 401.
| Scope | Grants access to |
|---|---|
read:emissions | Access emission KPIs, record count, scope breakdown |
read:compliance | Access framework status and regulatory deadlines |
read:credits | Access carbon credit portfolio summary |
read:benchmarks | Access sector benchmarks with a cited source (public data) |
read:market | Access recorded carbon prices with their source |
Response Envelope
Every endpoint returns the same JSON structure regardless of success or error.
successboolean— true on success, false on errordataobject | null— Response payload — null on errorerror{ code, message } | null— Error details — null on successmeta.request_idstring— UUID for tracing/debuggingmeta.timestampISO 8601— Server timestampmeta.versionstring— API version ("1.0")// Success
{
"success": true,
"data": { ... },
"error": null,
"meta": {
"request_id": "f3a9...",
"version": "1.0",
"timestamp": "2026-06-25T10:00:00Z"
}
}
// Error
{
"success": false,
"data": null,
"error": {
"code": "INVALID_KEY",
"message": "Invalid or unauthorized API key"
}
}Error Codes
| HTTP | Condition |
|---|---|
401 | Missing, invalid, revoked, or expired API key |
401 | Key does not have the required scope for this endpoint |
429 | Rate limit exceeded (Free: 100/hr, Pro: 1,000/hr, Enterprise: 10,000/hr) |
500 | Server error — contact support with the request_id from meta |
Endpoints
/ext/v1/emissionsread:emissionsEmission KPIs — last 12 months
Returns total GHG emissions (tCO₂e) for the past 12 months, record count, latest record date, and a breakdown by Scope 1 / 2 / 3.
Response Fields
periodstring— "last_12_months"total_co2e_tonnesnumber— Sum of all scope emissions for the periodrecord_countinteger— Number of emission records in the periodlatest_recordISO 8601 | null— Date of most recent emission recordscope_breakdownarray— Array of { scope: "scope_1"|"scope_2"|"scope_3", co2e_tonnes }Example
curl -s \
-H "X-API-Key: mc_live_YOUR_KEY" \
"https://116.203.153.145:8200/api/v1/ext/v1/emissions"{
"success": true,
"data": {
"period": "last_12_months",
"total_co2e_tonnes": 569471.2,
"record_count": 108,
"latest_record": "2026-03-31",
"scope_breakdown": [
{ "scope": "scope_1", "co2e_tonnes": 412300.5 },
{ "scope": "scope_2", "co2e_tonnes": 98750.3 },
{ "scope": "scope_3", "co2e_tonnes": 58420.4 }
]
},
"meta": { "request_id": "...", "version": "1.0", "timestamp": "..." }
}/ext/v1/complianceread:complianceCompliance health — frameworks + deadlines
Returns the current status of all registered compliance frameworks (CCTS, BRSR, EU CBAM, Singapore CCS, etc.) and the next 10 upcoming regulatory deadlines.
Response Fields
frameworksarray— Array of { framework, status, last_updated }frameworks[].frameworkstring— Framework code: CCTS, BRSR, EU_CBAM, SG_CCS, GHG_PROTOCOL, SBTi, CDP, TCFDframeworks[].statusstring— compliant | action_required | pending_review | not_applicableupcoming_deadlinesarray— Next 10 deadlines ordered by due_dateupcoming_deadlines[].due_dateISO 8601— Deadline dateExample
curl -s \
-H "X-API-Key: mc_live_YOUR_KEY" \
"https://116.203.153.145:8200/api/v1/ext/v1/compliance"{
"success": true,
"data": {
"frameworks": [
{ "framework": "CCTS", "status": "action_required", "last_updated": "2026-06-01T..." },
{ "framework": "BRSR", "status": "compliant", "last_updated": "2026-05-29T..." }
],
"upcoming_deadlines": [
{
"framework": "BRSR",
"title": "BRSR Core Mandatory Disclosure",
"due_date": "2026-07-31",
"status": "pending"
}
]
}
}/ext/v1/creditsread:creditsCarbon credit portfolio summary
Returns a summary of the tenant's carbon credit portfolio: total available and retired credits by quantity, count, and breakdown by credit type (CCC, VCS, Gold Standard, EUA, etc.).
Response Fields
available_creditsinteger— Total quantity of available (unsold, unretired) creditsavailable_countinteger— Number of distinct available credit batchesretired_creditsinteger— Total quantity of retired credits (permanent)retired_countinteger— Number of distinct retirement transactionsby_typearray— Array of { credit_type, quantity } for available creditsExample
curl -s \
-H "X-API-Key: mc_live_YOUR_KEY" \
"https://116.203.153.145:8200/api/v1/ext/v1/credits"{
"success": true,
"data": {
"available_credits": 4500,
"available_count": 3,
"retired_credits": 1200,
"retired_count": 2,
"by_type": [
{ "credit_type": "CCC", "quantity": 3000 },
{ "credit_type": "VCS", "quantity": 1500 }
]
}
}/ext/v1/benchmarksread:benchmarksSector intensity benchmarks
Returns sector emission-intensity benchmarks that carry a cited publication (title, year, link). Only sourced figures are returned; when none is recorded the list is empty and a message says so. Public reference data — no tenant context required.
Response Fields
benchmarksarray— Sector benchmarks with a cited source (may be empty)benchmarks[].sectorstring— Sector namebenchmarks[].intensitynumber | null— Emission intensity per production unitbenchmarks[].unitstring | null— Intensity unitbenchmarks[].sourcestring— Publication the figure comes frombenchmarks[].source_urlstring— Link to the publicationbenchmarks[].source_yearnumber— Publication yearmessagestring | null— "No sector benchmark with a cited source" when the list is emptyExample
curl -s \
-H "X-API-Key: mc_live_YOUR_KEY" \
"https://116.203.153.145:8200/api/v1/ext/v1/benchmarks"{
"success": true,
"data": {
"benchmarks": [],
"message": "No sector benchmark with a cited source"
}
}/ext/v1/marketread:marketCarbon credit market prices
Returns the latest recorded carbon price per instrument, each with its source and date. No live exchange feed is connected yet: prices are reference prices recorded from a cited publication, and the list is empty until one is recorded.
Response Fields
pricesarray— Array of price objects per credit type + exchangeprices[].credit_typestring— Credit type: CCC, ESCert, VCS, EUA, CCS_offset, ...prices[].exchangestring— Exchange: IEX Green, HPX, PXIL, CIX, ICE, ...prices[].pricenumber— Price per tCO₂eprices[].currencystring— ISO 4217 currency code (INR, SGD, EUR, USD)prices[].change_pct_24hnumber | null— 24-hour percentage changeprices[].price_typestring— reference (recorded from a cited source) or exchange_feedprices[].sourcestring— Where the price comes fromprices[].source_urlstring | null— Link to the sourceprices[].as_ofdate | null— Date the price applies toprices[].updated_atISO 8601 | null— When the price was recorded in MintCarblive_feed_connectedboolean— Whether any exchange feed is connectedmessagestring | null— "No live exchange feed connected" when no price is recordedExample
curl -s \
-H "X-API-Key: mc_live_YOUR_KEY" \
"https://116.203.153.145:8200/api/v1/ext/v1/market"{
"success": true,
"data": {
"prices": [],
"live_feed_connected": false,
"message": "No live exchange feed connected"
}
}