ArtrellionAdvocacy Infrastructure for the Data-Driven Era

American Carbon Registry API Integration Specification — Data Exchange Protocol

Prepared for American Carbon Registry. Api Integration Spec. Draft in review.

American Carbon Registry API Integration Specification — Data Exchange Protocol

Overview

This document outlines the API integration specifications for data exchange between DaedArch Corporation's sensor-based Monitoring, Reporting, and Verification (MRV) platform and the American Carbon Registry (ACR) systems. The integration aims to facilitate the seamless transfer of carbon offset data, ensuring compliance with the ACR’s standards for carbon credits, which include permanence and additionality. This document shall serve as a technical reference for developers and system integrators involved in the implementation of this API.

Purpose

The API integration will enable DaedArch to submit verified carbon offset data, including methodologies developed for agriculture and forestry, to the ACR. This integration will support both voluntary and compliance market credits, ensuring that all data adheres to the ACR's rigorous requirements.

Authentication

Authentication Mechanism

The ACR API employs OAuth 2.0 for authentication. All requests must include a valid access token in the Authorization header.

  1. Token Retrieval: DaedArch shall obtain an access token by making a POST request to the token endpoint.

Endpoint: https://api.americancarbonregistry.org/oauth/token

Request Format: `http POST /oauth/token HTTP/1.1 Host: api.americancarbonregistry.org Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET} `

Response Format: `json { "access_token": "{ACCESS_TOKEN}", "token_type": "Bearer", "expires_in": 3600 } `

  1. Authorization Header: All subsequent API requests shall include the access token as follows:

`http Authorization: Bearer {ACCESS_TOKEN} `

Endpoints

Data Submission Endpoint

The primary endpoint for submitting carbon offset data is as follows:

Endpoint: https://api.americancarbonregistry.org/v1/carbon-offsets

Method: POST

Request Format: `http POST /v1/carbon-offsets HTTP/1.1 Host: api.americancarbonregistry.org Content-Type: application/json Authorization: Bearer {ACCESS_TOKEN}

{ "project_id": "{PROJECT_ID}", "methodology_id": "{METHODOLOGY_ID}", "offset_data": { "start_date": "{START_DATE}", "end_date": "{END_DATE}", "total_offset": {TOTAL_OFFSET}, "permanence": {PERMANENCE}, "additionality": {ADDITIONALITY}, "verification_chain": [ { "verifier_name": "{VERIFIER_NAME}", "verification_date": "{VERIFICATION_DATE}", "report_link": "{REPORT_LINK}" } ] } } `

Response Format: `json { "status": "success", "message": "Carbon offset data submitted successfully.", "data": { "submission_id": "{SUBMISSION_ID}", "timestamp": "{TIMESTAMP}" } } `

Data Retrieval Endpoint

To retrieve submitted data, use the following endpoint:

Endpoint: https://api.americancarbonregistry.org/v1/carbon-offsets/{submission_id}

Method: GET

Request Format: `http GET /v1/carbon-offsets/{submission_id} HTTP/1.1 Host: api.americancarbonregistry.org Authorization: Bearer {ACCESS_TOKEN} `

Response Format: `json { "status": "success", "data": { "submission_id": "{SUBMISSION_ID}", "project_id": "{PROJECT_ID}", "methodology_id": "{METHODOLOGY_ID}", "offset_data": { "start_date": "{START_DATE}", "end_date": "{END_DATE}", "total_offset": {TOTAL_OFFSET}, "permanence": {PERMANENCE}, "additionality": {ADDITIONALITY}, "verification_chain": [ { "verifier_name": "{VERIFIER_NAME}", "verification_date": "{VERIFICATION_DATE}", "report_link": "{REPORT_LINK}" } ] }, "timestamp": "{TIMESTAMP}" } } `

Data Models

Carbon Offset Data Model

The following fields shall be included in the carbon offset data model:

  • project_id (string, required): Unique identifier for the carbon offset project.
  • methodology_id (string, required): Identifier for the methodology used.
  • offset_data (object, required):
  • start_date (string, date format, required): The start date of the carbon offset period (YYYY-MM-DD).
  • end_date (string, date format, required): The end date of the carbon offset period (YYYY-MM-DD).
  • total_offset (number, required): Total carbon offsets generated (in metric tons).
  • permanence (boolean, required): Indicator of whether the carbon offset is permanent (true/false).
  • additionality (boolean, required): Indicator of whether the carbon offset is additional (true/false).
  • verification_chain (array, required): List of verification entries (at least one entry is required).
  • verifier_name (string, required): Name of the verifier.
  • verification_date (string, date format, required): Date of verification (YYYY-MM-DD).
  • report_link (string, required): URL to the verification report.

Example Data Model

`json { "project_id": "12345", "methodology_id": "method_001", "offset_data": { "start_date": "2023-01-01", "end_date": "2023-12-31", "total_offset": 1500, "permanence": true, "additionality": true, "verification_chain": [ { "verifier_name": "ACR Verifier Inc.", "verification_date": "2023-02-20", "report_link": "https://example.com/report/12345" } ] } } `

Error Handling

The ACR API shall return standardized error responses to facilitate troubleshooting and integration. The error responses will include the following fields:

  • status (string): Indication of the status (e.g., "error").
  • code (integer): HTTP status code (e.g., 400, 401, 404).
  • message (string): A descriptive message providing details about the error.

Example Error Response

`json { "status": "error", "code": 400, "message": "Invalid request format. Please check the data model." } `

Rate Limits

To ensure fair usage and system performance, the ACR API will enforce rate limits on API requests. The following limits shall apply:

  • Requests per minute: 60 requests
  • Requests per hour: 1,000 requests

Rate Limit Response

When the rate limit is exceeded, the API shall respond with a 429 status code and the following message:

`json { "status": "error", "code": 429, "message": "Rate limit exceeded. Please try again later." } `

Conformity Assessment Procedures

To ensure compliance with ACR standards, DaedArch shall implement the following conformity assessment procedures:

  1. Data Validation: All data submitted to the ACR API shall be validated against the specified data model to ensure that it meets the required formats and constraints.
  1. Audit Trails: DaedArch shall maintain detailed audit trails of all API interactions, including timestamps, request and response payloads, and any errors encountered. This information shall be made available for review upon request by ACR.
  1. Periodic Review: DaedArch shall conduct periodic reviews of the integration to ensure continued compliance with ACR standards and to address any changes in the API or regulatory requirements.
  1. Training and Documentation: DaedArch shall provide training for its personnel involved in the data submission process and maintain up-to-date documentation on the API integration, including this specification.
  1. Feedback Mechanism: A feedback mechanism shall be established to facilitate communication between DaedArch and ACR regarding any issues or improvements related to the API integration.

Conclusion

This API Integration Specification provides the necessary guidelines and requirements for facilitating data exchange between DaedArch and the American Carbon Registry. Adherence to these specifications will ensure compliance with ACR standards, thereby supporting the integrity and reliability of carbon offset data in both voluntary and compliance markets.

All parties involved in the integration process shall review this document thoroughly and ensure that their systems and processes align with the outlined requirements.

Organisation
American Carbon Registry
Category
Carbon Registries
Doc type
Api Integration Spec
Word count
953

The co-dependence network

Trellison Institute

Research and methodology.

Carbon capture research →

Artrellion

Policy and stakeholder engagement.

Carbon release arsenal →

LedgerWell

Operational verification.

Carbon business cases →

Disclosure: Draft document prepared for Artrellion stakeholder engagement. Transmittal requires governance approval and recipient-specific customisation.

← American Carbon Registry · All stakeholders