API Documentation - Decarb Desk

This page is designed as developer guide to integrate FincoEnergies’ Decarb Desk API.

💡Getting started

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.

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.

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.

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.

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.

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.

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:

fincoenergies.com/api

🌐API Endpoints

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"
}

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):

KeyValue
ClassCarCar <3.5 t
ClassN1_ILight commercial vehicle (LCV) N1 Class I <3.5 t
ClassN1_IILCV N1 Class II <3.5 t
ClassN1_IIILCV N1 Class II <3.5 t
Class7_53.5 - 7.5 t
Class127.5 – 12 t
Class2012 – 20 t
Class2620 – 26 t
Class4026 – 40 t
Class4440 – 44 t
Class5044 – 50 t
Class6050 – 60 t
ClassGt60> 60 t
Class14Klbs_rigid<14 klbs, single unit
Class19_5Klbs_rigid14 klbs – 19.5 klbs, single unit
Class33Klbs_rigid19.5 klbs – 33 klbs, single unit
Class33Klbs_articulated19.5 klbs – 33 klbs, articulated
Class80Klbs_rigid33 klbs –80 klbs, single unit
Class80Klbs_articulated33 klbs – 80 klbs, articulated
Class80Klbs_articulated_glider33 klbs – 80 klbs, articulated (glider)

Appendix B: EmissionClass (for trucks)

KeyValue
EuEuro1Emission class Euro 1
EuEuro2Emission class Euro 2
EuEuro3Emission class Euro 3
EuEuro4Emission class Euro 4
EuEuro5Emission class Euro 5
EuEuro6Identical to Euro6ac
EuEuro6acEmission class Euro 6 A to C
EuEuro6deEmission class Euro 6 D to E
UsMoves1999Model years pre-1999
UsMoves2000Model years 1999-2000
UsMoves2002Model years 2001-2002
UsMoves2006Model years 2003-2006
UsMoves2009Model years 2007-2009
UsMoves2013Model years 2010-2013
UsMoves2016Model years 2014-2016
UsMoves2020Model years 2017-2020
UsMoves2023Model years 2021-2023

Appendix C: Country codes

CodeCountry
ADAndorra
AEUnited Arab Emirates
AFAfghanistan
AGAntigua and Barbuda
AIAnguilla
ALAlbania
AMArmenia
ANNetherlands Antilles
AOAngola
AQAntarctica
ARArgentina
ASAmerican Samoa
ATAustria
AUAustralia
AWAruba
AXAland Islands
AZAzerbaijan
BABosnia and Herzegovina
BBBarbados
BDBangladesh
BEBelgium
BFBurkina Faso
BGBulgaria
BHBahrain
BIBurundi
BJBenin
BLSaint Barthelemy
BMBermuda
BNBrunei
BOBolivia
BQBonaire, Saint Eustatius and Saba
BRBrazil
BSBahamas
BTBhutan
BVBouvet Island
BWBotswana
BYBelarus
BZBelize
CACanada
CCCocos Islands
CDDemocratic Republic of the Congo
CFCentral African Republic
CGRepublic of the Congo
CHSwitzerland
CIIvory Coast
CKCook Islands
CLChile
CMCameroon
CNChina
COColombia
CRCosta Rica
CSSerbia and Montenegro
CUCuba
CVCape Verde
CWCuracao
CXChristmas Island
CYCyprus
CZCzech Republic
DEGermany
DJDjibouti
DKDenmark
DMDominica
DODominican Republic
DZAlgeria
ECEcuador
EEEstonia
EGEgypt
EHWestern Sahara
EREritrea
ESSpain
ETEthiopia
FIFinland
FJFiji
FKFalkland Islands
FMMicronesia
FOFaroe Islands
FRFrance
GAGabon
GBUnited Kingdom
GDGrenada
GEGeorgia
GFFrench Guiana
GGGuernsey
GHGhana
GIGibraltar
GLGreenland
GMGambia
GNGuinea
GPGuadeloupe
GQEquatorial Guinea
GRGreece
GSSouth Georgia and the South Sandwich Islands
GTGuatemala
GUGuam
GWGuinea-Bissau
GYGuyana
HKHong Kong
HMHeard Island and McDonald Islands
HNHonduras
HRCroatia
HTHaiti
HUHungary
IDIndonesia
IEIreland
ILIsrael
IMIsle of Man
INIndia
IOBritish Indian Ocean Territory
IQIraq
IRIran
ISIceland
ITItaly
JEJersey
JMJamaica
JOJordan
JPJapan
KEKenya
KGKyrgyzstan
KHCambodia
KIKiribati
KMComoros
KNSaint Kitts and Nevis
KPNorth Korea
KRSouth Korea
KWKuwait
KYCayman Islands
KZKazakhstan
LALaos
LBLebanon
LCSaint Lucia
LILiechtenstein
LKSri Lanka
LRLiberia
LSLesotho
LTLithuania
LULuxembourg
LVLatvia
LYLibya
MAMorocco
MCMonaco
MDMoldova
MEMontenegro
MFSaint Martin
MGMadagascar
MHMarshall Islands
MKMacedonia
MLMali
MMMyanmar
MNMongolia
MOMacao
MPNorthern Mariana Islands
MQMartinique
MRMauritania
MSMontserrat
MTMalta
MUMauritius
MVMaldives
MWMalawi
MXMexico
MYMalaysia
MZMozambique
NANamibia
NCNew Caledonia
NENiger
NFNorfolk Island
NGNigeria
NINicaragua
NLNetherlands
NONorway
NPNepal
NRNauru
NUNiue
NZNew Zealand
OMOman
PAPanama
PEPeru
PFFrench Polynesia
PGPapua New Guinea
PHPhilippines
PKPakistan
PLPoland
PMSaint Pierre and Miquelon
PNPitcairn
PRPuerto Rico
PSPalestinian Territory
PTPortugal
PWPalau
PYParaguay
QAQatar
REReunion
RORomania
RSSerbia
RURussia
RWRwanda
SASaudi Arabia
SBSolomon Islands
SCSeychelles
SDSudan
SESweden
SGSingapore
SHSaint Helena
SISlovenia
SJSvalbard and Jan Mayen
SKSlovakia
SLSierra Leone
SMSan Marino
SNSenegal
SOSomalia
SRSuriname
SSSouth Sudan
STSao Tome and Principe
SVEl Salvador
SXSint Maarten
SYSyria
SZSwaziland
TCTurks and Caicos Islands
TDChad
TFFrench Southern Territories
TGTogo
THThailand
TJTajikistan
TKTokelau
TLEast Timor
TMTurkmenistan
TNTunisia
TOTonga
TRTurkey
TTTrinidad and Tobago
TVTuvalu
TWTaiwan
TZTanzania
UAUkraine
UGUganda
UMUnited States Minor Outlying Islands
USUnited States
UYUruguay
UZUzbekistan
VAVatican
VCSaint Vincent and the Grenadines
VEVenezuela
VGBritish Virgin Islands
VIU.S. Virgin Islands
VNVietnam
VUVanuatu
WFWallis and Futuna
WSSamoa
XKKosovo
YEYemen
YTMayotte
ZASouth Africa
ZMZambia
ZWZimbabwe