Prepared for CORSIA. Api Integration Spec. Draft in review.
The CORSIA (Carbon Offsetting and Reduction Scheme for International Aviation) API Integration Specification outlines the technical requirements for data exchange between DaedArch Corporation's sensor-based Monitoring, Reporting, and Verification (MRV) platform and CORSIA’s systems. This document aims to ensure compliance with the ICAO (International Civil Aviation Organization) standards for carbon emissions monitoring, reporting, and verification, as mandated for international aviation from 2027.
The integration shall facilitate the seamless transfer of verified CO2 emissions data, ensuring that all data exchanged adheres to the sustainability criteria and eligible emission units defined by CORSIA. The document details the authentication mechanisms, API endpoints, data models, error handling procedures, and rate limits necessary for effective integration.
DaedArch shall implement OAuth 2.0 for secure API access. This standard protocol allows for secure, token-based authentication and authorization.
To obtain an access token, DaedArch shall send a POST request to the CORSIA authorization server at the following endpoint:
` POST https://api.corsia.icao.int/oauth/token `
| Parameter | Type | Description | Required | |----------------|--------|------------------------------------------------------|----------| | grant_type | string | Must be set to client_credentials. | Yes | | client_id | string | The unique identifier for DaedArch’s application. | Yes | | client_secret | string | The secret associated with the client_id. | Yes |
On successful authentication, the server shall respond with a JSON object containing the access token:
`json { "access_token": "string", "token_type": "Bearer", "expires_in": 3600 } `
The access token shall be included in the Authorization header of each API request:
` Authorization: Bearer {access_token} `
All API requests shall be made to the following base URL:
` https://api.corsia.icao.int/v1/ `
The endpoint for submitting verified CO2 emissions data is as follows:
` POST /emissions `
The request body shall be a JSON object that adheres to the following schema:
`json { "aircraft_id": "string", "flight_id": "string", "emission_units": [ { "unit_type": "string", "quantity": "number", "timestamp": "string" } ], "reporting_period": { "start_date": "string", "end_date": "string" }, "verification_data": { "verifier_id": "string", "verification_timestamp": "string", "verification_status": "string" } } `
| Field | Type | Description | Constraints | |---------------------------|----------|-----------------------------------------------------------|----------------------------------| | aircraft_id | string | Unique identifier for the aircraft. | Required | | flight_id | string | Unique identifier for the flight. | Required | | emission_units | array | List of emission units recorded for the flight. | Required | | unit_type | string | Type of emission unit (e.g., CO2, CH4). | Required | | quantity | number | Quantity of the emission unit recorded. | Required, must be > 0 | | timestamp | string | ISO 8601 formatted timestamp of the measurement. | Required | | reporting_period | object | Reporting period for the emissions data. | Required | | start_date | string | Start date of the reporting period (ISO 8601). | Required | | end_date | string | End date of the reporting period (ISO 8601). | Required | | verification_data | object | Data related to the verification of emissions. | Required | | verifier_id | string | Unique identifier for the verifier. | Required | | verification_timestamp | string | Timestamp of when verification occurred (ISO 8601). | Required | | verification_status | string | Status of the verification (e.g., "verified", "pending").| Required, must be one of ["verified", "pending", "failed"] |
On successful submission, the server shall respond with a status code of 201 Created and a JSON object containing the submission ID:
`json { "submission_id": "string", "status": "success" } `
To retrieve submitted emissions data, DaedArch shall use the following endpoint:
` GET /emissions/{submission_id} `
The response shall include the details of the emissions submission:
`json { "submission_id": "string", "aircraft_id": "string", "flight_id": "string", "emission_units": [ { "unit_type": "string", "quantity": "number", "timestamp": "string" } ], "reporting_period": { "start_date": "string", "end_date": "string" }, "verification_data": { "verifier_id": "string", "verification_timestamp": "string", "verification_status": "string" }, "status": "string" } `
The emissions data model shall conform to the following structure:
The verification model shall include:
In the event of an error, the server shall return a JSON object with the following structure:
`json { "error": { "code": "string", "message": "string", "details": "string" } } `
| Code | Description | |---------------|--------------------------------------------| | 400 | Bad Request: The request was invalid. | | 401 | Unauthorized: Authentication failed. | | 403 | Forbidden: Access to the resource is denied. | | 404 | Not Found: The requested resource was not found. | | 409 | Conflict: There was a conflict with the current state of the resource. | | 500 | Internal Server Error: An error occurred on the server. |
CORSIA shall enforce rate limits on API requests to ensure fair usage and system stability. The following limits shall apply:
When the rate limit is exceeded, the server shall respond with a status code of 429 Too Many Requests and the following JSON object:
`json { "error": { "code": "rate_limit_exceeded", "message": "You have exceeded the rate limit. Please try again later." } } `
DaedArch shall implement monitoring mechanisms to track API usage and ensure compliance with the rate limits established by CORSIA.
The CORSIA API Integration Specification provides a comprehensive framework for the technical integration between DaedArch Corporation and CORSIA’s systems. Adherence to this specification is mandatory for compliance with the ICAO Carbon Offsetting and Reduction Scheme for International Aviation, effective from 2027.
DaedArch shall ensure that all data submissions are accurate, verified, and compliant with the defined standards, thereby facilitating the effective monitoring, reporting, and verification of CO2 emissions in international aviation. All procedures outlined herein must be followed to maintain compliance and integrity in carbon market operations.