GraphQL API

Eén query.
Volledig audit trail.

Haal assets, producten, berekeningen, emissiefactoren en hun bronregister op in één round-trip. Gebouwd voor CSRD-auditors, BI-dashboards en LLM-integraties die de volledige graaf nodig hebben.

POST https://carbontrace.cloud/api/v1/graphql

Graph-native

Asset → product → berekening → factor → register doorlopen in één query, niet vijf.

Vastgelegde bronverwijzingen

Berekeningskaarten bewaren invoer en aannames. Een oorspronkelijke factor wordt alleen gekoppeld bij een eenduidig vastgelegd ID; ontbrekende herkomst geeft null.

Scenario-mutaties

Simuleer refurbishment voor gelijke dienstverlening of uitschakeling in het volgende kwartaal. De inventaris blijft gelijk; uitvoering wordt gelogd.

Quickstart

Gebruik een willekeurige API-sleutel van je instellingenpagina. Testsleutels (ct_test_*) geven sandboxdata terug, zodat je kunt ontwikkelen zonder live data te raken.

curl -X POST https://carbontrace.cloud/api/v1/graphql \
  -H "Authorization: Bearer ct_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query OrgOverview { organization { id name plan asset_count total_kg_co2e } }"
  }'

Voorbeeldquery's

Elk onderstaand voorbeeld is vooraf goedgekeurd op de free- en pro-plannen (whitelist van persisted query's). Business- en enterprise-plannen kunnen eigen query's indienen.

Methodologie-doorloop

Lees asset, berekening en beschikbare vastgelegde stroomfactoren. Een registerverwijzing bewijst geen onafhankelijke assurance.

query MethodologyAudit($assetId: ID!) {
  asset(id: $assetId) {
    id
    brand
    mpn
    total_kg_co2e
    production_kg
    use_phase_kg

    active_calculation {
      id
      created_at
      total_kg_co2e
      emission_factor(type: GRID) {
        value
        unit
        source
        source_version
        source_url
        source_license
        registry {
          display_name
          current_version
          next_check_after
        }
      }
    }
  }
}

Asset-detail

Haal een asset op met het gekoppelde product en optionele match in de globale catalogus (PCF-data indien beschikbaar).

query AssetDetail($id: ID!) {
  asset(id: $id) {
    id
    brand
    mpn
    serial_number
    status
    purchase_date
    country
    total_kg_co2e
    product {
      id
      brand
      mpn
      name
      category
    }
  }
}

Organisatie-overzicht

Actuele levenscyclustotalen van assets; niet automatisch een emissie-inventaris voor een rapportageperiode.

query OrgOverview {
  organization {
    id
    name
    plan
    asset_count
    total_kg_co2e
  }
}

Factor per regio + datum

Referentiezoekopdracht per regio en datum; bewijst niet dat een factor in een opgeslagen berekening is gebruikt.

query FactorLookup($region: String!, $atDate: DateTime) {
  factorByRegion(type: GRID, regionCode: $region, atDate: $atDate) {
    value
    unit
    source
    source_version
    valid_from
    valid_to
  }
}

Refurbishment simuleren (mutatie)

Vergelijk één nieuwe aankoop met refurbishment voor hetzelfde volgende kwartaal. Oorspronkelijke productie is een reeds gemaakte impact; gezamenlijke verwerking aan het levenseinde is uitgesloten.

mutation Refurbish($ids: [ID!]!) {
  simulateRefurbish(assetIds: $ids) {
    current_quarterly_co2e
    scenario_quarterly_co2e
    delta_kg_co2e
    delta_percentage
    affected_assets_count
  }
}

Limieten en valkuilen

  • Rate limits worden gedeeld met de REST API — dezelfde quota per minuut en per dag per plan. Free: 25/day, Pro: 1000/day, Business: 10000/day, Enterprise: 100000/day.
  • Free- en pro-plannen kunnen alleen gewhiteliste query's uitvoeren (de 5 hierboven). Business en enterprise mogen elke query indienen.
  • Asset-query's geven maximaal 100 rijen per pagina terug. Gebruik de after-cursor voor paginering.
  • Scenario-mutaties zijn beperkt tot 500 assets per call. Grotere portfolio's moeten client-side worden gebatcht.
  • Lees methodology_card, boundary en assumptions waar beschikbaar. Engine v4 gebruikt bruto gemodelleerde EoL-verwerking, aparte terugwinningsscenario’s en niet-statistische gevoeligheid. Een negatieve scenariodelta betekent minder geschatte uitstoot, geen inventarisaftrek. Extra velden bij de vijf templates vereisen een goedgekeurde query of een abonnement met ad-hocquery’s.

Volledige referentie

De REST API blijft het primaire oppervlak. GraphQL is bedoeld voor graaf-vormige reads en wat-als-scenario's.