emissions-api-sdk
v1.0.5
Published
sdk for IBM Emissions APIs
Maintainers
Readme
IBM Envizi - Emissions API Node.js SDK
IBM Envizi - Emissions API (Emissions API) is a managed factor database and calculation engine for embedding greenhouse gas (GHG) emissions calculations into operational decision making.
The emissions-api-sdk is a Node.js SDK for using Emissions API in your projects.
Sign up for the Preview
To get started with the Emissions API follow these steps:
- Sign up for the preview waitlist IBMid sign up page.
- You will be sent an invite email to join to create an account.
- Read the Introduction page to get an overview of the Emissions API.
Installation
npm install emissions-api-sdk
# or
yarn install emissions-api-sdkQuick Start
import { Client, LocationEmission } from 'emissions-api-sdk';
// Initialize client
await Client.getClient({
apiKey: process.env.ENVIZI_API_KEY,
clientId: process.env.ENVIZI_CLIENT_ID,
orgId: process.env.ENVIZI_ORG_ID
});
// Calculate emissions
const result = await LocationEmission.calculate({
"location": {
"country": "USA",
"stateProvince": "california"
},
"activity": {
"type": "electricity",
"value": 1,
"unit": "kWh"
}
});Metadata APIs
The SDK provides Metadata APIs to discover available emission types, geographical areas, and units:
Get Available Types
import { LocationEmission } from 'emissions-api-sdk';
// Get all available Location emission types
const types = await LocationEmission.getTypes();Get Supported Areas
import { LocationEmission } from 'emissions-api-sdk';
// Get supported geographical areas
const areas = await LocationEmission.getArea();Get Valid Units
import { LocationEmission } from 'emissions-api-sdk';
// Get valid units for a specific emission type
const units = await LocationEmission.getUnits("electricity");Get Organization Usage
import { Usage } from 'emissions-api-sdk';
// Retrieves current billing period or historical usage data for the Organization
// History Flag to retrieve current billing or historical usage data.
const units = await Usage.getUsage(true);Authentication
The SDK supports two authentication methods:
API Key (Recommended)
await Client.getClient({
apiKey: process.env.ENVIZI_API_KEY,
clientId: process.env.ENVIZI_CLIENT_ID,
orgId: process.env.ENVIZI_ORG_ID
});Pre-generated Token
await Client.getClient({
token: process.env.JWT_TOKEN,
clientId: process.env.ENVIZI_CLIENT_ID
});Documentation
For detailed documentation, see:
Other resources:
- APIHub - API documentation (OpenAPI)
- Tutorials & Sample Applications
- IBM Envizi for Excel - Emissions API Excel Add-in.
License
This project is licensed under the terms of the LICENSE file.
