{ "version":"2.0", "metadata":{ "apiVersion":"2018-05-10", "auth":[ "aws.auth#sigv4a", "aws.auth#sigv4" ], "endpointPrefix":"sustainability", "protocol":"rest-json", "protocols":["rest-json"], "serviceFullName":"AWS Sustainability", "serviceId":"Sustainability", "signatureVersion":"v4", "signingName":"sustainability", "uid":"sustainability-2018-05-10" }, "operations":{ "GetEstimatedCarbonEmissions":{ "name":"GetEstimatedCarbonEmissions", "http":{ "method":"POST", "requestUri":"/v1/estimated-carbon-emissions", "responseCode":200 }, "input":{"shape":"GetEstimatedCarbonEmissionsRequest"}, "output":{"shape":"GetEstimatedCarbonEmissionsResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], "documentation":"

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.

", "readonly":true }, "GetEstimatedCarbonEmissionsDimensionValues":{ "name":"GetEstimatedCarbonEmissionsDimensionValues", "http":{ "method":"POST", "requestUri":"/v1/estimated-carbon-emissions-dimension-values", "responseCode":200 }, "input":{"shape":"GetEstimatedCarbonEmissionsDimensionValuesRequest"}, "output":{"shape":"GetEstimatedCarbonEmissionsDimensionValuesResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], "documentation":"

Returns the possible dimension values available for a customer's account. We recommend using pagination to ensure that the operation returns quickly and successfully.

", "readonly":true }, "GetEstimatedWaterAllocation":{ "name":"GetEstimatedWaterAllocation", "http":{ "method":"POST", "requestUri":"/v1/estimated-water-allocation", "responseCode":200 }, "input":{"shape":"GetEstimatedWaterAllocationRequest"}, "output":{"shape":"GetEstimatedWaterAllocationResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], "documentation":"

Returns estimated water allocation values based on customer grouping and filtering parameters. We recommend using pagination to ensure that the operation returns quickly and successfully.

", "readonly":true }, "GetEstimatedWaterAllocationDimensionValues":{ "name":"GetEstimatedWaterAllocationDimensionValues", "http":{ "method":"POST", "requestUri":"/v1/estimated-water-allocation-dimension-values", "responseCode":200 }, "input":{"shape":"GetEstimatedWaterAllocationDimensionValuesRequest"}, "output":{"shape":"GetEstimatedWaterAllocationDimensionValuesResponse"}, "errors":[ {"shape":"ValidationException"}, {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], "documentation":"

Returns the possible dimension values available for a customer's account. We recommend using pagination to ensure that the operation returns quickly and successfully.

", "readonly":true } }, "shapes":{ "AccessDeniedException":{ "type":"structure", "required":["Message"], "members":{ "Message":{ "shape":"String", "locationName":"message" } }, "documentation":"

You do not have sufficient access to perform this action.

", "error":{ "httpStatusCode":403, "senderFault":true }, "exception":true }, "Dimension":{ "type":"string", "documentation":"

Specifies the dimensions available for grouping and filtering environmental impact data.

", "enum":[ "USAGE_ACCOUNT_ID", "REGION", "SERVICE" ] }, "DimensionEntry":{ "type":"structure", "required":[ "Dimension", "Value" ], "members":{ "Dimension":{ "shape":"Dimension", "documentation":"

The dimension type that categorizes this entry.

" }, "Value":{ "shape":"DimensionValue", "documentation":"

The value for the specified dimension. Valid values vary based on the dimension type (e.g., us-east-1 for the REGION dimension, AmazonEC2 for the SERVICE dimension).

" } }, "documentation":"

Represents a dimension and its corresponding value.

" }, "DimensionEntryList":{ "type":"list", "member":{"shape":"DimensionEntry"} }, "DimensionList":{ "type":"list", "member":{"shape":"Dimension"} }, "DimensionListMap":{ "type":"map", "key":{"shape":"Dimension"}, "value":{"shape":"DimensionValueList"} }, "DimensionValue":{ "type":"string", "max":256, "min":0 }, "DimensionValueList":{ "type":"list", "member":{"shape":"DimensionValue"} }, "DimensionsMap":{ "type":"map", "key":{"shape":"Dimension"}, "value":{"shape":"DimensionValue"} }, "Double":{ "type":"double", "box":true }, "Emissions":{ "type":"structure", "required":[ "Value", "Unit" ], "members":{ "Value":{ "shape":"Double", "documentation":"

The numeric value of the emissions quantity.

" }, "Unit":{ "shape":"EmissionsUnit", "documentation":"

The unit of measurement for the emissions value.

" } }, "documentation":"

Represents a carbon emissions quantity with its value and unit of measurement.

" }, "EmissionsMap":{ "type":"map", "key":{"shape":"EmissionsType"}, "value":{"shape":"Emissions"} }, "EmissionsType":{ "type":"string", "documentation":"

Specifies the types of carbon emissions calculations available.

", "enum":[ "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" ] }, "EmissionsTypeList":{ "type":"list", "member":{"shape":"EmissionsType"} }, "EmissionsUnit":{ "type":"string", "documentation":"

Specifies the unit of measurement for emissions.

", "enum":["MTCO2e"] }, "EstimatedCarbonEmissions":{ "type":"structure", "required":[ "TimePeriod", "DimensionsValues", "ModelVersion", "EmissionsValues" ], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

The reporting period for emission values.

" }, "DimensionsValues":{ "shape":"DimensionsMap", "documentation":"

The dimensions used to group emissions values.

" }, "ModelVersion":{ "shape":"ModelVersion", "documentation":"

The semantic version-formatted string that indicates the methodology version used to calculate the emission values.

The AWS Sustainability service reflects the most recent model version for every month. You will not see two entries for the same month with different ModelVersion values. To track the evolution of the methodology and compare emission values from previous versions, we recommend creating a Data Export.

" }, "EmissionsValues":{ "shape":"EmissionsMap", "documentation":"

The emissions values for the requested emissions types.

" } }, "documentation":"

Contains estimated carbon emissions data for a specific time period and dimension grouping.

" }, "EstimatedCarbonEmissionsList":{ "type":"list", "member":{"shape":"EstimatedCarbonEmissions"} }, "EstimatedWaterAllocation":{ "type":"structure", "required":[ "TimePeriod", "DimensionsValues", "ModelVersion", "AllocationValues" ], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

The reporting period for water allocation values.

" }, "DimensionsValues":{ "shape":"DimensionsMap", "documentation":"

The dimensions used to group water allocation values.

" }, "ModelVersion":{ "shape":"ModelVersion", "documentation":"

The semantic version-formatted string that indicates the methodology version used to calculate the water allocation values.

The AWS Sustainability service reflects the most recent model version for every month. You will not see two entries for the same month with different ModelVersion values.

" }, "AllocationValues":{ "shape":"WaterAllocationMap", "documentation":"

The allocation values for the requested water allocation types.

" } }, "documentation":"

Contains estimated water allocation data for a specific time period and dimension grouping.

" }, "EstimatedWaterAllocationList":{ "type":"list", "member":{"shape":"EstimatedWaterAllocation"} }, "FilterExpression":{ "type":"structure", "members":{ "Dimensions":{ "shape":"DimensionListMap", "documentation":"

Filters environmental impact values by specific dimension values.

" } }, "documentation":"

Filters environmental impact values by specific dimension values.

" }, "GetEstimatedCarbonEmissionsDimensionValuesRequest":{ "type":"structure", "required":[ "TimePeriod", "Dimensions" ], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

The date range for fetching the dimension values. The range must include the start date of a month for that month's dimensions to be included in the response.

" }, "Dimensions":{ "shape":"DimensionList", "documentation":"

The dimensions available for grouping estimated carbon emissions.

" }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results to return in a single call. Default is 1000.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedCarbonEmissionsDimensionValuesResponse":{ "type":"structure", "members":{ "Results":{ "shape":"DimensionEntryList", "documentation":"

The list of possible dimensions over which the emissions data is aggregated.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedCarbonEmissionsRequest":{ "type":"structure", "required":["TimePeriod"], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

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.

" }, "GroupBy":{ "shape":"DimensionList", "documentation":"

The dimensions available for grouping estimated carbon emissions.

" }, "FilterBy":{ "shape":"FilterExpression", "documentation":"

The criteria for filtering estimated carbon emissions. To determine which dimensions are available to be filtered by, you can first call GetEstimatedCarbonEmissionsDimensionValues

" }, "EmissionsTypes":{ "shape":"EmissionsTypeList", "documentation":"

The emission types to include in the results. If absent, returns TOTAL_LBM_CARBON_EMISSIONS and TOTAL_MBM_CARBON_EMISSIONS emissions types.

" }, "Granularity":{ "shape":"TimeGranularity", "documentation":"

The time granularity for the results. If absent, uses MONTHLY time granularity. The smallest supported granularity for carbon emissions is MONTHLY.

If requesting partial time periods, data will be returned based on the smallest supported granularity. For example, requesting 2025-04-01T00:00:00Z to 2026-04-01T00:00:00Z with YEARLY_CALENDAR granularity will return the last 9 months for 2025 and the first 3 months of 2026.

" }, "GranularityConfiguration":{ "shape":"GranularityConfiguration", "documentation":"

Configuration for fiscal year calculations when using YEARLY_FISCAL or QUARTERLY_FISCAL granularity.

" }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results to return in a single call. Default is 1000.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedCarbonEmissionsResponse":{ "type":"structure", "required":["Results"], "members":{ "Results":{ "shape":"EstimatedCarbonEmissionsList", "documentation":"

The result of the requested inputs.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedWaterAllocationDimensionValuesRequest":{ "type":"structure", "required":[ "TimePeriod", "Dimensions" ], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

The date range for fetching the dimension values. The range must include the start date of a year for that year's data to be included in the response.

" }, "Dimensions":{ "shape":"DimensionList", "documentation":"

The dimensions available for grouping estimated water allocation.

" }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results to return in a single call. Default is 1000.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedWaterAllocationDimensionValuesResponse":{ "type":"structure", "required":["Results"], "members":{ "Results":{ "shape":"DimensionEntryList", "documentation":"

The list of possible dimensions over which the allocation data is aggregated.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedWaterAllocationRequest":{ "type":"structure", "required":["TimePeriod"], "members":{ "TimePeriod":{ "shape":"TimePeriod", "documentation":"

The date range for fetching estimated water allocation. The range must include the start date of a year for that year's data to be included in the response.

" }, "GroupBy":{ "shape":"DimensionList", "documentation":"

The dimensions available for grouping estimated water allocation.

" }, "FilterBy":{ "shape":"FilterExpression", "documentation":"

The criteria for filtering estimated water allocation. To determine which dimensions are available to be filtered by, you can first call GetEstimatedWaterAllocationDimensionValues

" }, "AllocationTypes":{ "shape":"WaterAllocationTypeList", "documentation":"

The allocation types to include in the results. If absent, returns TOTAL_WATER_WITHDRAWALS allocation types.

" }, "Granularity":{ "shape":"TimeGranularity", "documentation":"

The time granularity for the results. Only YEARLY_CALENDAR time granularity is currently supported for water allocation. Defaults to YEARLY_CALENDAR if absent.

If requesting partial time periods, data will be returned based on the smallest supported granularity. For example, requesting 2025-04-01T00:00:00Z to 2026-04-01T00:00:00Z with YEARLY_CALENDAR will return all the data for 2026 only.

" }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of results to return in a single call. Default is 1000.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GetEstimatedWaterAllocationResponse":{ "type":"structure", "required":["Results"], "members":{ "Results":{ "shape":"EstimatedWaterAllocationList", "documentation":"

The result of the requested inputs.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

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.

" } } }, "GranularityConfiguration":{ "type":"structure", "members":{ "FiscalYearStartMonth":{ "shape":"Month", "documentation":"

The month (1-12) when the fiscal year begins. Used for YEARLY_FISCAL and QUARTERLY_FISCAL granularity. Defaults to 1 (January).

" } }, "documentation":"

Contains configuration for the fiscal year granularities (e.g., YEARLY_FISCAL, QUARTERLY_FISCAL.

" }, "InternalServerException":{ "type":"structure", "required":["Message"], "members":{ "Message":{ "shape":"String", "locationName":"message" } }, "documentation":"

The request processing has failed because of an unknown error, exception, or failure.

", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "retryable":{"throttling":false} }, "MaxResults":{ "type":"integer", "box":true, "max":5000, "min":1 }, "ModelVersion":{ "type":"string", "pattern":"v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?" }, "Month":{ "type":"integer", "box":true, "max":12, "min":1 }, "NextToken":{ "type":"string", "max":2000, "min":1 }, "String":{"type":"string"}, "ThrottlingException":{ "type":"structure", "required":["Message"], "members":{ "Message":{ "shape":"String", "locationName":"message" } }, "documentation":"

The request was denied due to request throttling.

", "error":{ "httpStatusCode":429, "senderFault":true }, "exception":true, "retryable":{"throttling":false} }, "TimeGranularity":{ "type":"string", "documentation":"

Specifies the time period over which environmental impact data is aggregated.

", "enum":[ "YEARLY_CALENDAR", "YEARLY_FISCAL", "QUARTERLY_CALENDAR", "QUARTERLY_FISCAL", "MONTHLY" ] }, "TimePeriod":{ "type":"structure", "required":[ "Start", "End" ], "members":{ "Start":{ "shape":"Timestamp", "documentation":"

The start (inclusive) of the time period. ISO-8601 formatted timestamp, for example: YYYY-MM-DDThh:mm:ss.sssZ

" }, "End":{ "shape":"Timestamp", "documentation":"

The end (exclusive) of the time period. ISO-8601 formatted timestamp, for example: YYYY-MM-DDThh:mm:ss.sssZ

" } }, "documentation":"

Represents a duration of time defined by start and end timestamps.

" }, "Timestamp":{ "type":"timestamp", "timestampFormat":"iso8601" }, "ValidationException":{ "type":"structure", "required":["Message"], "members":{ "Message":{ "shape":"String", "locationName":"message" } }, "documentation":"

The input fails to satisfy the constraints specified by an Amazon Web Services service.

", "error":{ "httpStatusCode":400, "senderFault":true }, "exception":true }, "WaterAllocation":{ "type":"structure", "required":[ "Value", "Unit" ], "members":{ "Value":{ "shape":"Double", "documentation":"

The numeric value of the allocation quantity.

" }, "Unit":{ "shape":"WaterAllocationUnit", "documentation":"

The unit of measurement for the allocation value.

" } }, "documentation":"

Represents a water allocation quantity with its value and unit of measurement.

" }, "WaterAllocationMap":{ "type":"map", "key":{"shape":"WaterAllocationType"}, "value":{"shape":"WaterAllocation"} }, "WaterAllocationType":{ "type":"string", "documentation":"

Specifies the types of water allocation calculations available.

", "enum":["TOTAL_WATER_WITHDRAWALS"] }, "WaterAllocationTypeList":{ "type":"list", "member":{"shape":"WaterAllocationType"} }, "WaterAllocationUnit":{ "type":"string", "documentation":"

Specifies the unit of measurement for allocation.

", "enum":["m3"] } }, "documentation":"

The AWS Sustainability service provides programmatic access to estimated environmental impact data for your Amazon Web Services usage. Use the AWS Sustainability service to retrieve, analyze, and track the environmental impact of your cloud infrastructure over time.

With the AWS Sustainability service, you can:

The API supports pagination for efficient data retrieval and provides dimension values to help you understand the available grouping and filtering options for your account.

" }