GetEstimatedCarbonEmissions
Returns estimated carbon emission values based on customer grouping and filtering parameters. We recommend using pagination to ensure that the operation returns quickly and successfully.
Request Syntax
POST /v1/estimated-carbon-emissions HTTP/1.1
Content-type: application/json
{
"EmissionsTypes": [ "string" ],
"FilterBy": {
"Dimensions": {
"string" : [ "string" ]
}
},
"Granularity": "string",
"GranularityConfiguration": {
"FiscalYearStartMonth": number
},
"GroupBy": [ "string" ],
"MaxResults": number,
"NextToken": "string",
"TimePeriod": {
"End": "string",
"Start": "string"
}
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- TimePeriod
-
The date range for fetching estimated carbon emissions. The range must include the start date of a month for that month's data to be included in the response.
Type: TimePeriod object
Required: Yes
- EmissionsTypes
-
The emission types to include in the results. If absent, returns
TOTAL_LBM_CARBON_EMISSIONSandTOTAL_MBM_CARBON_EMISSIONSemissions types.Type: Array of strings
Valid Values:
TOTAL_LBM_CARBON_EMISSIONS | TOTAL_MBM_CARBON_EMISSIONS | TOTAL_SCOPE_1_CARBON_EMISSIONS | TOTAL_SCOPE_2_LBM_CARBON_EMISSIONS | TOTAL_SCOPE_2_MBM_CARBON_EMISSIONS | TOTAL_SCOPE_3_LBM_CARBON_EMISSIONS | TOTAL_SCOPE_3_MBM_CARBON_EMISSIONSRequired: No
- FilterBy
-
The criteria for filtering estimated carbon emissions. To determine which dimensions are available to be filtered by, you can first call GetEstimatedCarbonEmissionsDimensionValues
Type: FilterExpression object
Required: No
- Granularity
-
The time granularity for the results. If absent, uses
MONTHLYtime granularity. The smallest supported granularity for carbon emissions isMONTHLY.If requesting partial time periods, data will be returned based on the smallest supported granularity. For example, requesting
2025-04-01T00:00:00Zto2026-04-01T00:00:00ZwithYEARLY_CALENDARgranularity will return the last 9 months for 2025 and the first 3 months of 2026.Type: String
Valid Values:
YEARLY_CALENDAR | YEARLY_FISCAL | QUARTERLY_CALENDAR | QUARTERLY_FISCAL | MONTHLYRequired: No
- GranularityConfiguration
-
Configuration for fiscal year calculations when using
YEARLY_FISCALorQUARTERLY_FISCALgranularity.Type: GranularityConfiguration object
Required: No
- GroupBy
-
The dimensions available for grouping estimated carbon emissions.
Type: Array of strings
Valid Values:
USAGE_ACCOUNT_ID | REGION | SERVICERequired: No
- MaxResults
-
The maximum number of results to return in a single call. Default is 1000.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 5000.
Required: No
- NextToken
-
The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"NextToken": "string",
"Results": [
{
"DimensionsValues": {
"string" : "string"
},
"EmissionsValues": {
"string" : {
"Unit": "string",
"Value": number
}
},
"ModelVersion": "string",
"TimePeriod": {
"End": "string",
"Start": "string"
}
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Results
-
The result of the requested inputs.
Type: Array of EstimatedCarbonEmissions objects
- NextToken
-
The pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServerException
-
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The input fails to satisfy the constraints specified by an AWS service.
HTTP Status Code: 400
Examples
GetEstimatedCarbonEmissions
This example illustrates one usage of GetEstimatedCarbonEmissions.
Sample Request
POST /v1/estimated-carbon-emissions
{
"TimePeriod": {
"Start": "2025-01-01T00:00:00Z",
"End": "2025-12-31T23:59:59.999Z"
},
"GroupBy": [
"SERVICE"
],
"EmissionsTypes": [
"TOTAL_LBM_CARBON_EMISSIONS",
"TOTAL_MBM_CARBON_EMISSIONS",
"TOTAL_SCOPE_1_CARBON_EMISSIONS",
"TOTAL_SCOPE_2_LBM_CARBON_EMISSIONS",
"TOTAL_SCOPE_2_MBM_CARBON_EMISSIONS",
"TOTAL_SCOPE_3_LBM_CARBON_EMISSIONS",
"TOTAL_SCOPE_3_MBM_CARBON_EMISSIONS"
],
"Granularity": "MONTHLY"
}
Sample Response
{
"Results": [
{
"DimensionsValues": {
"SERVICE": "AmazonEC2"
},
"EmissionsValues": {
"TOTAL_LBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_MBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_SCOPE_1_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_SCOPE_2_LBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_SCOPE_2_MBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_SCOPE_3_LBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
},
"TOTAL_SCOPE_3_MBM_CARBON_EMISSIONS": {
"Unit": "MTCO2e",
"Value": 1
}
},
"ModelVersion": "v3.0.0",
"TimePeriod": {
"Start": "2025-01-01T00:00:00Z",
"End": "2025-02-01T00:00:00Z"
}
}
]
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: