Get started

    API Endpoint

        https://api.co2certs.com/
                

Welcome to the CO2Certs Offsetting API! This robust API is designed to help you seamlessly integrate carbon offsetting capabilities into your applications. With the CO2Certs Offsetting API, you can create records for offsetting emissions, and perform queries to estimate emissions based on value-based transactions. Additionally, you can confirm the emissions estimated by these queries.

To access the CO2Certs API, you will need X-AUTH-TOKEN, API ID and API SECRET . You can request these essential credentials by sending an email to contato@co2certs.com, or you can find them in SUA EMPRESA section on our portal at portal@co2certs.com. These credentials are crucial for authenticating and securely interacting with our services.

Authentication


    curl -X GET \
    https://example.com/api/endpoint \
    -H 'x-auth-token: YOUR_X_AUTH_TOKEN' \
    -H 'Authorization: Basic BASE64_ENCODED_CREDENTIALS'



                

HEADERS

To access the CO2Certs Offsetting API methods, you'll need to use both the x-auth-token and Authorization headers. Remember to include YOUR_X_AUTH_TOKEN in the x-auth-token header of your request, and your BASE64_ENCODED_CREDENTIALS in the Authorization header. To obtain your BASE64_ENCODED_CREDENTIALS, follow these steps:
1. Format Your Credentials: Start by combining your API ID and API Secret into a single string, separated by a colon. This should look like APIID:APISECRET.
2. Encode in BAse64: Convert the combined string into Base64 format. This encoding is used to safely transmit the credentials over HTTP. For example in JavaScript btoa('APIID:APISECRET').
3. Make the Auth Request: Include the encoded credentials in the Authorization header with the prefix `Basic ` and make a request to the authentication endpoint.

emission by distance


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/distance' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "distance": 235
    }'

To create distance emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/create



    Result example :

    {
        "distance": 235000,
        "id": "50287cb1-d69d-423d-976a-257588883caf",
        "emission": 0.0723,
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
distance integer distance in kilometers
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)

emission by route


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/route' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "originZipcode": "05596000",
        "destinationZipcode": "132440001"
    }'

To create route emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emission/route



    Result example :

    {
        "distance": 74217,
        "id": "a6bc0ad1-9df0-44b2-bad9-c9ed397019be",
        "emission": 0.0228,
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
originZipcode string route origin zip code (Ex. 00000-000)
destinationZipcode string route destination zip code (Ex. 00000-000)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000001)

emission by roundtrip


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/roundtrip' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "originZipcode": "05596000",
        "destinationZipcode": "132440001"
    }'

To create roundtrip emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emission/roundtrip



    Result example :

    {
        "distance": 148434,
        "id": "098a59b1-61b7-485a-b100-376b1a7a2ac2",
        "emission": 0.0456,
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
originZipcode string route origin zip code (Ex. 00000-000)
destinationZipcode string route destination zip code (Ex. 00000-000)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000001)

emission by value


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/value' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "value": 248.35
    }'

To create value emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emission/value



    Result example :

    {
        "value": 0.99,
        "id": "a34325a0-0538-485e-bfb1-27d2db755696",
        "emission": 0.001,
        "htmlReceipt": "< html > ... < / html >",
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
value decimal transaction value (Ex. 100.23)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)

emission by precalc


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/precalc' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "emission": 0.002543
    }'

To create precalc emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emission/precalc



    Result example :

    {
        "id": "43fd438-c239-49a0-a0ea-613213882c49",
        "emission": 0.002543,
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
emission decimal emission value in ton CO2e (Ex. 0.0023)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)

emission by passenger


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emission/passenger' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "calcType": 0,
        "transportType": 0,
        "passengers": 1,
        "distance": 148434
    }'

To create passenger emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emission/passenger



    Result example :

    {
        "id": "43fd438-c239-49a0-a0ea-613213882c49",
        "distance": 148434,
        "emission": 0.002543,
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
calcType integer 0 - Distance, 1 - Route, 2 - RoundTrip
transportType integer 0 - Bus, 1 - Subway, 2 - PassengerCar, 3 - Motorcycle, 4 - HeavyDuty
passengers integer number of passengers
distance decimal (required if typeCalc is 0 - Distance) distance in kilometers
originZipcode string (required if typeCalc is 1 - Route or 2 - RoundTrip) route origin zip code (Ex. 00000-000)
destinationZipcode string (required if typeCalc is 1 - Route or 2 - RoundTrip) route destination zip code (Ex. 00000-000)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)

estimate by value


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/estimate/value' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "value": 248.35
    }'

To estimate value emission, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/estimate/value



    Result example :

    {
        "id": "ace905dc-d129-46bd-acf6-abedac13352a",
        "emission": 0.0007173451889636361363636364,
        "value": 0.99,
        "emissionPerSale": "0,72 Kg CO2e",
        "emissionPerValue": "2,61 Kg CO2e",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
value decimal transaction value to be estimated (Ex. 248.35)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)

emission by estimate id


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/emission/estimate/ace9' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' 

To create emission by estimate id, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/emission/estimate/{id}



    Result example :

    {
        "value": 0.99,
        "id": "f1a9444d-3304-40ec-94bd-f09dc58e7e29",
        "emission": 0.001,
        "htmlReceipt": "< html > ... < / html >",
        "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1ODg4ODNjYWY=",
        "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
id string the estimate id obtained on estimateby value request (Ex. ace905dc-d129-46bd-acf6-abedac13352a)

emission list


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/emissions' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "status": 0
    }'

To list emissions, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/emissions



    Result example :

    {
        "emissions": [
            {
                "id": "62522447-084c-4881-a0d7-1f3416ab3668",
                "type": "RoundTrip",
                "date": "2024-04-01T23:43:25.935+00:00",
                "externalReference": null,
                "customerExternalReference": null,
                "emission": 0.0294,
                "url": "https://transparenc....issao/OTIxYmE2Yc1ODg4ODNjYWY=",
                "qrCode": "iVBORw0KGgoAAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
                "status": "Issued"
            },
            {
                "id": "5b8d83a0-c931-4024-9d46-b5b97e122152",
                "type": "RoundTrip",
                "date": "2024-04-01T23:37:33.813+00:00",
                "externalReference": null,
                "customerExternalReference": null,
                "emission": 0.0352,
                "url": "https://transparenc....issao/OTIxYmE2Yc1ODg4ODNjYWY=",
                "qrCode": "iVBORw0KGgoAAAAACgCAYAAACLz2ctAAAB ... lFTkSuQmCC",
                "status": "Issued"
            }
        ],
        "paginationToken": null,
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }  

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
type integer (optional) 0 - RoundTrip, 1 - Route, 2 - Distance, 3 - Value, 4 - Precalc, 5 - Passenger
status integer (optional) 0 - Registered, 1 - Requested, 2 - Issued
fromDate date (optional) emission period from date (Ex. 2024-05-01)
toDate date (optional) emission period to date (Ex. 2024-05-01)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the emission to specific external records or systems (Ex. CO000002)

get emission by id


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/emission/id/ace9' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' 

To get emission by id, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/emission/id/{id}



    Result example :

    {
        "emission": {
            "id": "aaf75183-c86a-4921-9def-7e4b417eab3c",
            "type": "Distance",
            "date": "2024-05-09T15:12:18.089+00:00",
            "externalReference": null,
            "customerExternalReference": "03.848.503/0001-00",
            "emission": 0.16629,
            "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1YWY=",
            "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYtAAAB ... lFTkSuQmCC",
            "status": "Registered"
        },
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
id string the emission id (Ex. ace905dc-d129-46bd-acf6-abedac13352a)

get emission by external reference


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/emission/reference/EXRF' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4'

To get emission by external reference, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/emission/reference/{externalReference}



    Result example :

    {
        "emission": {
            "id": "aaf75183-c86a-4921-9def-7e4b417eab3c",
            "type": "Distance",
            "date": "2024-05-09T15:12:18.089+00:00",
            "externalReference": "EXRF0001",
            "customerExternalReference": "03.848.503/0001-00",
            "emission": 0.16629,
            "url": "https://transparencia.co2certs.com/emissao/OTIxYmE2Yc1YWY=",
            "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYtAAAB ... lFTkSuQmCC",
            "status": "Registered"
        },
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
externalReference string the emission external reference (Ex. EXRF0001)

request offsetting


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/offsetting' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "emissionIdList": ["5f1575e6-44e1-44ff-9e94-984524ad6aff"],
        "externalReference": "ADD0002",
        "thirdPartyIssuing": false
    }'

To request offsetting, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/offsetting



    Result example :

    {
        "externalReference": "ADD0002",
        "Id": "7f9df321-6ac8-475c-b93c-e772bf0330f7",
        "transactions": [
            {
                "id": "78d88d9b-6f3b-4966-b919-1fb48adf294a",
                "date": "2024-05-18T06:12:32.022+00:00",
                "status": "Requested",
                "thirdPartyIssuing": false,
                "customerExternalReference": "",
                "externalReference": "ADD0002",
                "requestId": "7f9df321-6ac8-475c-b93c-e772bf0330f7",
                "amount": 0.16629,
                "formattedAmount": "166,29 Kg CO2e",
                "reportUrl": "https://co2certs...",
                "certificateUrl": null,
                "tokenUrl": null,
                "qrCode": null,
                "emissions": [
                    "c6ea1443-7ce5-4d3e-9bc7-f524483c8859"
                ]
            }
        ],
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
emissionIdList string array (required) list of emission ids to be offsetted
externalReference string (optional) a unique identifier provided by the user that can be used to link the transaction to specific external records or systems (Ex. CO000002)
thirdPartyIssuing boolean false - certificate will be issued to your company, true - certificates will be issued to your customers

offsetting list


    # Here is a curl example
    curl \
    -X POST 'https://api.co2certs.com/api/v1/integration/offsettings' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' \
    --data '{
        "status": 2
    }'

To list offsettings, you need to make a POST call to the following url :
https://api.co2certs.com/api/v1/integration/offsettings



    Result example :

    {
        "offsettings": [
            {
                "id": "c56e7fee-652d-4834-a928-a6f6e0cb2cc3",
                "date": "2024-04-06T04:13:03.554+00:00",
                "status": "Finished",
                "thirdPartyIssuing": false,
                "customerExternalReference": "",
                "externalReference": null,
                "requestId": null,
                "amount": 0.0646,
                "formattedAmount": "64,60 Kg CO2e",
                "reportUrl": "https://co2certs....",
                "certificateUrl": "https://co2certs...",
                "tokenUrl": "https://polygon....",
                "qrCode": "iVBORw0KGgo....SuQmCC",
                "emissions": [
                    "5b8d83a0-c931-4024-9d46-b5b97e122152",
                    "62522447-084c-4881-a0d7-1f3416ab3668"
                ]
            },
            {
                "id": "de274aee-1b67-4173-bfba-97c33450d3bc",
                "date": "2024-04-06T03:54:24.764+00:00",
                "status": "Finished",
                "thirdPartyIssuing": false,
                "customerExternalReference": "",
                "externalReference": null,
                "requestId": null,
                "amount": 0.1012,
                "formattedAmount": "101,20 Kg CO2e",
                "reportUrl": "https://co2certs....",
                "certificateUrl": "https://co2certs...",
                "tokenUrl": "https://polygon....",
                "qrCode": "iVBORw0KGgo....SuQmCC",
                "emissions": [
                    "106b2305-05f7-4248-b928-2eec03b00c46",
                    "122e0422-a80a-4262-aea5-402981fd938d"
                ]
            }
        ],
        "paginationToken": null,
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

BODY

Field Type Description
status integer (optional) 0 - Requested, 1 - Processing, 2 - Finished
fromDate date (optional) offsetting period from date (Ex. 2024-05-01)
toDate date (optional) offsetting period to date (Ex. 2024-05-01)
requestId string (optional) the offsetting request id obtained on offsetting create request (Ex. 184eb37a-371d-4ea0-a862-31ae9bc3ae06)
customer string (optional) customer document number (Ex. 00.000.000/0001-00)
externalReference string (optional) a unique identifier provided by the user that can be used to link the emission to specific external records or systems (Ex. CO000002)

get offsetting by id


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/offsetting/id/ace9' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' 

To get offsetting by id, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/offsetting/id/{id}



    Result example :

    {
        "offsetting": {
            "id": "d1aa9451-ed01-4025-b518-e4ff3dbf5215",
            "date": "2024-05-18T03:19:37.694+00:00",
            "status": "Requested",
            "thirdPartyIssuing": false,
            "customerExternalReference": "",
            "externalReference": "ADD0002",
            "requestId": "184eb37a-371d-4ea0-a862-31ae9bc3ae06",
            "amount": 0.16629,
            "formattedAmount": "166,29 Kg CO2e",
            "reportUrl": "https://co2certs-49a8b57034a7d6a7f6d259",
            "certificateUrl": null,
            "tokenUrl": null,
            "qrCode": null,
            "emissions": [
                "5f1575e6-44e1-44ff-9e94-984524ad6aff"
                ]
        },
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
id string the offsetting id (Ex. ace905dc-d129-46bd-acf6-abedac13352a)

get offsetting by external reference


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/offsetting/reference/EXRF' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4'

To get emission by external reference, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/offsetting/reference/{externalReference}



    Result example :

    {
        "offsetting": {
            "id": "d1aa9451-ed01-4025-b518-e4ff3dbf5215",
            "date": "2024-05-18T03:19:37.694+00:00",
            "status": "Requested",
            "thirdPartyIssuing": false,
            "customerExternalReference": "",
            "externalReference": "ADD0002",
            "requestId": "184eb37a-371d-4ea0-a862-31ae9bc3ae06",
            "amount": 0.16629,
            "formattedAmount": "166,29 Kg CO2e",
            "reportUrl": "https://co2certs-49a8b57034a7d6a7f6d259",
            "certificateUrl": null,
            "tokenUrl": null,
            "qrCode": null,
            "emissions": [
                "5f1575e6-44e1-44ff-9e94-984524ad6aff"
            ]
        },
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
externalReference string the offsetting external reference (Ex. ADD0002)

get offsetting by request id


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/offsetting/request/184eb' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4'

To get offsetting by request id, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/offsetting/request/{requestId}



    Result example :

    {
        "offsetting": {
            "id": "d1aa9451-ed01-4025-b518-e4ff3dbf5215",
            "date": "2024-05-18T03:19:37.694+00:00",
            "status": "Requested",
            "thirdPartyIssuing": false,
            "customerExternalReference": "",
            "externalReference": "ADD0002",
            "requestId": "184eb37a-371d-4ea0-a862-31ae9bc3ae06",
            "amount": 0.16629,
            "formattedAmount": "166,29 Kg CO2e",
            "reportUrl": "https://co2certs-49a8b57034a7d6a7f6d259",
            "certificateUrl": null,
            "tokenUrl": null,
            "qrCode": null,
            "emissions": [
                "5f1575e6-44e1-44ff-9e94-984524ad6aff"
            ]
        },
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
requestId string the offsetting request id obtained on offsetting create request (Ex. 184eb37a-371d-4ea0-a862-31ae9bc3ae06)

Webhook


    Webhook URL

    https://api.yourdomain.com/webhookmethod/

To receive updates on your offsetting status, please provide your webhook URL. You can do this by navigating to the "CONFIGURAÇÕES >> EMPRESA" section of the CO2Certs portal. Ensure that the provided webhook URL supports POST requests. Visit the portal here:portal@co2certs.com.



    Webhook Body example:

    {
        "id": "d1aa9451-ed01-4025-b518-e4ff3dbf5215",
        "date": "2024-05-18T03:19:37.694+00:00",
        "status": "Finished",
        "thirdPartyIssuing": false,
        "customerExternalReference": "",
        "externalReference": "ADD0002",
        "requestId": "184eb37a-371d-4ea0-a862-31ae9bc3ae06",
        "amount": 0.16629,
        "formattedAmount": "166,29 Kg CO2e",
        "reportUrl": "https://co2certs-api-...07f1304ab5b8434d0",
        "certificateUrl": null,
        "tokenUrl": null,
        "qrCode": null,
        "emissions": [
            "5f1575e6-44e1-44ff-9e94-984524ad6aff"
        ]
    }

webhook test


    # Here is a curl example
    curl \
    -X GET 'https://api.co2certs.com/api/v1/integration/webhook/test/ace9' \
    --header 'Content-Type: application/json' \
    --header 'x-auth-token: OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm' \
    --header 'Authorization: Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4' 

To receive webhook test, you need to make a GET call to the following url :
https://api.co2certs.com/api/v1/integration/webhook/test/{id}



    Result example :

    {
        "success": true,
        "errorMessage": null,
        "errorCode": 0
    }

HEADERS

Header Type Description
x-auth-token Auth Token Your X_AUTH_TOKEN obtained from the portal.co2certs.com or by email.
For example: `OTIxYmE2YTYtM2NhNi00YWUzLWIyZmQtY2E3ZTVkYTM3YTNm`.
Authorization Basic Auth Your BASE64_ENCODED_CREDENTIALS obtained from the authentication step.
For example: `Basic a2lkLmM3OTg0YzRiLWFiZTAtMTgwNTFjYzYyOWM4`.

QUERY PARAMETERS

Field Type Description
id string the offsetting id (Ex. ace905dc-d129-46bd-acf6-abedac13352a)

Errors

The CO2Certs Offsetting API uses the following error codes:

Error Code Meaning
900 Módulo não habilitado.
901 Limite de requisições excedido. Adquira mais créditos.
902 Requisição inválida.
903 Tipo de emissão inválido.
904 CEP de origem inválido.
905 CEP de origem não encontrado.
906 CEP de destino inválido.
907 CEP de destino não encontrado.
908 Identificançao do cliente inválida. Informe um CNPJ válido.
909 CNPJ não encontrado.
910 Kilometragem inválida.
911 Requisição inválida (Valor inválido).
912 Geolocalização de origem não encontrada.
913 Geolocalização de destino não encontrada.
914 Emissão mensal estimada não informada.
915 Estimativa já confirmada.
998 Erro ao calcular rota. Tente novamente mais tarde.
999 Erro interno ou não identificado.