API Documentation - Decarb Desk
This page is designed as developer guide to integrate FincoEnergies’ Decarb Desk API.
💡Getting started
Introduction
We are thrilled to announce the expansion of our Decarb Desk offering with the launch of our first API gateway. This new capability allows cargo owners, freight forwarders, and digital platforms to seamlessly integrate our climate solutions into their existing applications, enabling a more efficient and effective approach to sustainability.
With the Decarb Desk API, recognized sustainability solutions like insetting and offsetting are now digitally accessible, making it easier than ever to incorporate these practices into your operations. This digital integration streamlines the exchange of information, reduces inefficiencies, and enhances the overall impact of your sustainability initiatives.
On this page, you'll find all the instructions and resources you need to get started with the Decarb Desk API and leverage its full potential.
General guidelines:
The FincoEnergies API is built on REST (Representational State Transfer) principles, ensuring a simple, scalable, and stateless architecture that facilitates seamless integration with diverse applications. All interactions with our API are performed over HTTPS, adhering to standard HTTP methods (GET, POST, PUT, DELETE) for resource manipulation. To maintain security and protect user data, the API uses OAuth 2.0 for authorization, requiring clients to obtain an access token for authenticated requests. This ensures that only authorized users can access and manipulate resources, providing a secure and efficient environment for our partners and developers.
API Endpoints:
The FincoEnergies API provides a variety of endpoints that allow you to interact with different aspects of our services. These endpoints are designed to give you access to essential data and functionalities, enabling seamless integration with your applications. Here's a brief overview of the key endpoints you can test:
- Product Categories:
- Get a List of Product Categories: Retrieve a comprehensive list of available product categories, helping you understand the different offerings within our platform.
- Emissions:
- Transportation & Distribution: Access data related to emissions from transportation and distribution activities, crucial for sustainability reporting and carbon footprint management.
- Sales Orders:
- Place an Order: Submit orders directly through the API, streamlining your procurement process.
- Get a Sales Order: Retrieve details of a specific sales order to track its status and contents.
- Get a List of Sales Orders: Access a list of all sales orders, providing an overview of your transactions with FincoEnergies.
- Allocations:
- Get Credit Balance: Check the credit balance for your account, ensuring you have the necessary credits to proceed with transactions.
- Create an End-Customer: Add a new end-customer to your account, facilitating transactions and credit allocations.
- Get a List of End-Customers: View a list of all end-customers associated with your account.
- Place a Transaction to End-Customer: Allocate credits to an end-customer, managing their energy or sustainability allocations.
- Get a List of Transactions to End-Customer: Retrieve a history of all transactions made to end-customers, allowing you to track and manage allocations effectively.
These endpoints provide powerful tools to integrate FincoEnergies' services into your operations, giving you the flexibility and control needed to manage product categories, emissions data, sales orders, and credit allocations efficiently.
Authentication
Learn how to securely connect and start using our API.
Step 1: Request Access to FincoEnergies API
To get started, you'll first need to request access to the FincoEnergies API. Simply head over to our contact form to get in touch with our team. Once your request is approved, you'll receive the necessary credentials to begin integrating with our services.
Step 2: Authenticate with Your API Keys
After approval, the FincoEnergies team will provide you with API keys for accessing the sandbox environment of the Decarb Desk. These keys are essential for authenticating your requests. Use the following endpoint for the sandbox environment: https://api-cloud0106.emagizcloud.com/swaggerui/index.html.
Step 3: Test API Requests from Your Browser
With your sandbox API keys, you can start experimenting with our API. Navigate to the Swagger UI to explore available endpoints and try out requests directly from your browser. This is a great way to familiarize yourself with the API before moving to live data.
Step 4: Transition to Live Data
Ready to move beyond the sandbox? Contact the FincoEnergies team to obtain a new set of API keys for our live environment. These keys will allow you to access and work with real-time data, enabling you to fully integrate our services into your applications. If you need assistance during this process, our team is here to help.
Errors
Understand common issues and how to troubleshoot them.
The FincoEnergies API uses standard HTTP status codes to indicate the success or failure of an API request. Common error codes include:
- 400 Bad Request for invalid or malformed requests,
- 401 Unauthorized for requests lacking proper authentication (e.g., missing or invalid OAuth token),
- 403 Forbidden for requests that are authenticated but lack the necessary permissions,
- 404 Not Found when a requested resource cannot be found, and
- 500 Internal Server Error for unexpected server-side issues. Each error response includes a JSON-formatted message with additional details to help diagnose and correct the issue. We recommend implementing appropriate error handling in your application to manage these responses and retry or adjust requests as necessary.
Change log
The Change Log for the FincoEnergies API will provide a detailed record of all updates, enhancements, and fixes as we continue to develop and improve the platform. Since this is our initial release, there are currently no changes to report. As we move forward, any modifications to the API will be documented here, ensuring that you stay informed about new features, improvements, and important changes that may affect your integration. We recommend checking the Change Log regularly to stay up-to-date with the latest developments.
Versions
The current FincoEnergies API is our initial release and does not yet include versioning. As we continue to enhance and expand our API, future updates may introduce versioning to ensure backward compatibility and to allow developers to continue using existing integrations without disruption. When versioning is implemented, it will likely be indicated in the API URL (e.g., /v1/resource). We will provide clear guidelines and ample notice before making any changes that could impact current users.
Internationalization
The FincoEnergies API is currently available exclusively in English, ensuring consistency and clarity across all endpoints and documentation. While we recognize the global nature of our user base, our focus on English as the primary language allows us to maintain high-quality, precise communication. For support, our technical team is available during European Central Time (CET) office hours, ready to assist with any questions or issues you may encounter. We are committed to providing reliable and timely support to help you effectively integrate and use our API, regardless of your location.
Swagger docs
FincoEnergies provides comprehensive API documentation through Swagger, a powerful and interactive tool that helps developers understand and explore our API. The Swagger docs offer a clear, user-friendly interface where you can view all available endpoints, see detailed descriptions of each operation, and test API calls directly within the documentation. This interactive environment allows you to quickly learn how to integrate with the FincoEnergies API, experiment with different parameters, and see real-time responses, making development faster and more efficient. The Swagger docs ensure that you have all the information you need to effectively utilize our API.
The latest version of the Swagger UI documentation can be found on the link below:
🌐API Endpoints
Product Categories
The GET /ProductCategories endpoint allows users to retrieve a comprehensive list of all product categories available within the FincoEnergies platform. This endpoint is essential for understanding the various categories of products that you can interact with, providing foundational data for further API operations.
Default request:
Request body:
- No input fields needed
Parameters:
- No parameters needed
Default response:
200: Default response
{{
"ProductCategory": [
"ProductID": "GS-OCEAN",
"Brand": "GoodShipping",
"ProductName": "GoodShipping Ocean",
"ProductSource": "Sustainable Marine Fuel",
"ProductType": "Reduction",
"Vintage": "2025",
"ProductDescription": "GoodShipping Ocean Sustainable Marine Fuel"}]}
422: Validation error response:
{
"error": "Description of validation error."
}
500: Default error message:
{
"error": "Description of the error(s) that occurred."
}
504: Timeout error response:
{
"error": "Timeout waiting for response"
}
Emissions Calculations
Calculate the carbon footprint of your transportation operations.
The POST TransportEmissions endpoint provides access to detailed emissions data related to transportation activities within the FincoEnergies platform. This endpoint is crucial for tracking and managing the environmental impact of your transportation and distribution operations. The emissions data retrieved through this endpoint is calculated based on the Global Logistics Emissions Council (GLEC) framework, an internationally recognized standard for measuring and reporting logistics emissions (ISO14083).
By using this endpoint, you can obtain accurate and standardized emissions data that aligns with global sustainability practices, helping you to monitor and reduce your carbon footprint effectively. This information is vital for companies committed to sustainability and transparency, enabling them to report emissions accurately and make informed decisions to minimize environmental impact.
Default request:
Parameters
- No parameters needed
Request body (mandatory fields):
{
"BatchID": "batch1",
"TransportMode": "Seaship",
"FreightWeight": 10,
"WeightUnitOfMeasurement": "teu",
"Reefer": true,
"OriginCityName": "Rotterdam",
"OriginCountryCode": "NL",
"DestinationCityName": "New York",
"DestinationCountryCode": "US",
"AdvancedSettings": {
"OriginUNLOCODE": "NLRTM",
"DestinationUNLOCODE": "USNYC"
},
"AdvancedRoadSettings": {
"OriginZIPCode": "2636",
"DestinationZIPCode": "07008",
"LoadFactor": 70,
"TruckType": "Class12",
"TruckBodyType": "Curtainsider",
"EmptyRunFactor": 70,
"EmissionClass": "EuEuro1",
"FuelType": "hvo"
},
"AdvancedAirSettings": {
"AircraftType": ""
},
"AdvancedSeaSettings": {
"LoadFactor": 70,
"SeaCargoType": "Container"
}
}
- BatchID - optional field, adds a unique identifier to your emission calculation.
- TransportMode - choose 'Train', 'Truck', 'Inland', 'Seaship' or 'Airplane'.
- FreightWeight - choose a number, e.g. 20.
- WeightUnitOfMeasurement - choose 'teu' (20ft container), 'feu' (40ft container), 'kg' or 'ton' (1.000 kg).
- Reefer - Indicates whether cooled transportation applies, choose True or False.
- OriginCountryCode - the country code of the origin; choose from the list Appendix C (below).
- DestinationCountryCode - the country code of the destination; choose from the list Appendix C (below).
- OriginCityName - choose the city name of the origin (tip: avoid region names, symbols and characters other than the qwerty keyboard).
- DestinationCityName - choose the city name of the destination (tip: avoid region names, symbols and characters other than the qwerty keyboard).
Request body (optional, advanced fields):
1. For ocean transportation (TransportMode = "Seaship"):
"AdvancedSettings": { "OriginUNLOCODE": "NLRTM", "DestinationUNLOCODE": "USLGB" }In case the user wishes to calculate emissions for a specific port, one can add the UN/LOCODE of the port. Note: these fields overwrite the "OriginCityName" and "DestinationCityName".
- "OriginUNLOCODE": The UN/LOCODE of the origin port, e.g. NLRTM = NL, Rotterdam.
- "DestinationUNLOCODE": The UN/LOCODE of the destination port, e.g. USLGB = US, Long Beach.
"AdvancedSeaSettings": { "LoadFactor": 60, "SeaCargoType": "Container" }The "LoadFactor" defines how much % of the container is actually being used for cargo. If the loadFactor is high, the emissions of the TEU are shared across more cargo, and therefore lower. Vice-versa also applies: a lower loadFactor of the TEU leads to more emisisons per TEU. Use a value between 1 (for 1%) and 100 (for 100%).
The "SeaCargoType" can be used to specifiy the vessel type. Please use one of the following options:
- "BulkCarrier"
- "ChemicalTanker"
- "Container"
- "GeneralCargo"
- "Liquid"
- "OilTanker"
- "Ferry"
- "RoRo"
- "Vehicle"
2. For road transpotation (TransportMode = "Truck")
"AdvancedRoadSettings": { "OriginZIPCode": "1031AP", "DestinationZIPCode": "1100DL", "TruckType": "Class40", "TruckBodyType": "car" "EmissionClass": "EuEuro6", "FuelType": "hvo", "EmptyRunFactor": 70 }In case the user wishes to calculate intra-city emissions (e.g. from London to London), one can add the zip codes. Note: these fields overwrite the "OriginCityName" and "DestinationCityName", but do need to be used in combination with the "OriginCountryCode" and "DestinationCountryCode".
- "OriginZIPCode": concerns the zip code of the origin, e.g. 1013AP.
- "DestinationZIPCode": concerns the zip code of the destination.
For "TruckType", the vehicle type can be specified. The options are summarized in Appendix A.
For "TruckBodyType", the user can specify a truck body type. The following options are available.
- "curtainsider" - Curtain Sider Trailer
- "cargobox" - Trailer with a fixed body (e.g. wood or metal)
- "cooledbox" - Container chassis
- "tank" - Tanker truck
- "car" - Car transporter truck
- "container" - Container chassis truck for a single TEU
- "container2TEU" - Container chassis truck for two TEU or one FEU.
For "EmissionClass", the user can specify the emission class used. The options are summarized in Appendix B.
For "FuelType", the default value is "diesel 100%". The user can use the following options to overwrite the default option:
- "hvo"
- "electricity"
For "EmptyRunFactor", simulates how much of the return trip is empty, with a value between 0 and 100. For example, EmptyRunFactor = 50 assumes that half of the return trip is empty. Default value is 0% (no empty return assumed).
-----
3. For air transportation (TransportMode = "Airplane"):
"AdvancedAirSettings": { "AircraftType": "string" }With "aircraftType", user can specify the aircraft type, e.g. HybSH (hybrid short haul), HybMH (hybrid medium haul) or HybLH (hybrid long haul).
Responses:
200: Default response:
{ "CO2eTons": 6.2315752}422: Validation error response:
{ "message": "cvc-enumeration-valid: Value 'seaship' is not facet-valid with respect to enumeration '[Train, Truck, Inland, Seaship, Airplane]'. It must be a value from the enumeration. cvc-type.3.1.3: The value 'seaship' of element 'TransportMode' is not valid."}500: Default error response:
{ "error": "Description of the error(s) that occurred."}504: Timeout error response:
{ "error": "Timeout waiting for response"}Appendix A: VehicleType (for trucks):
| Key | Value |
| ClassCar | Car <3.5 t |
| ClassN1_I | Light commercial vehicle (LCV) N1 Class I <3.5 t |
| ClassN1_II | LCV N1 Class II <3.5 t |
| ClassN1_III | LCV N1 Class II <3.5 t |
| Class7_5 | 3.5 - 7.5 t |
| Class12 | 7.5 – 12 t |
| Class20 | 12 – 20 t |
| Class26 | 20 – 26 t |
| Class40 | 26 – 40 t |
| Class44 | 40 – 44 t |
| Class50 | 44 – 50 t |
| Class60 | 50 – 60 t |
| ClassGt60 | > 60 t |
| Class14Klbs_rigid | <14 klbs, single unit |
| Class19_5Klbs_rigid | 14 klbs – 19.5 klbs, single unit |
| Class33Klbs_rigid | 19.5 klbs – 33 klbs, single unit |
| Class33Klbs_articulated | 19.5 klbs – 33 klbs, articulated |
| Class80Klbs_rigid | 33 klbs –80 klbs, single unit |
| Class80Klbs_articulated | 33 klbs – 80 klbs, articulated |
| Class80Klbs_articulated_glider | 33 klbs – 80 klbs, articulated (glider) |
Appendix B: EmissionClass (for trucks)
| Key | Value |
| EuEuro1 | Emission class Euro 1 |
| EuEuro2 | Emission class Euro 2 |
| EuEuro3 | Emission class Euro 3 |
| EuEuro4 | Emission class Euro 4 |
| EuEuro5 | Emission class Euro 5 |
| EuEuro6 | Identical to Euro6ac |
| EuEuro6ac | Emission class Euro 6 A to C |
| EuEuro6de | Emission class Euro 6 D to E |
| UsMoves1999 | Model years pre-1999 |
| UsMoves2000 | Model years 1999-2000 |
| UsMoves2002 | Model years 2001-2002 |
| UsMoves2006 | Model years 2003-2006 |
| UsMoves2009 | Model years 2007-2009 |
| UsMoves2013 | Model years 2010-2013 |
| UsMoves2016 | Model years 2014-2016 |
| UsMoves2020 | Model years 2017-2020 |
| UsMoves2023 | Model years 2021-2023 |