Skip to content

Stripe: Retrieve a product — climate get Climate Products Product

Stripe climate.getClimateProductsProduct: arguments, response, policy and SDK examples.

← Climate operations · Get started

Operation stripe.getclimateproductsproduct

Provider route: GET /v1/climate/products/{product}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["climate"]["getClimateProductsProduct"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.climate.getClimateProductsProduct(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_stripe import StripeIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.climate.get_climate_products_product(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.productstringRequired within parentMaximum length: 5000
queryobjectOptionalAdditional keys: not allowed
query.expandarrayOptional
query.expand[]stringEach itemMaximum length: 5000

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Retrieve a product — climate get Climate Products Product — response body

Referenced models: Retrieve a product — climate get Climate Products Product — response body

Retrieve a product — climate get Climate Products Product — response body
FieldTypePresenceDescription and constraints
$objectRootA Climate product represents a type of carbon removal unit available for reservation.
You can retrieve it to see the current price and availability.
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
current_prices_per_metric_tonobjectRequired within parentCurrent prices for a metric ton of carbon removal in a currency's smallest unit.
Additional keys: see wildcard field
current_prices_per_metric_ton.*ModelAdditional keysExpand Retrieve a product — climate get Climate Products Product — response body — current prices per metric ton value
delivery_yearJSONOptional
delivery_year (anyOf 1)JSONAlternative
delivery_year (anyOf 1) (anyOf 1)integerAlternativeThe year in which the carbon removal is expected to be delivered. If the year is in the past, this represents spot inventory with guaranteed delivery.
delivery_year (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
delivery_year (anyOf 2)nullAlternative
idstringRequired within parentUnique identifier for the object. For convenience, Climate product IDs are human-readable strings
that start with `climsku_`. See [carbon removal inventory](https://stripe.com/docs/climate/orders/carbon-removal-inventory)
for a list of available carbon removal products.
Maximum length: 5000
livemodebooleanRequired within parentHas the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
metric_tons_availablestringRequired within parentThe quantity of metric tons available for reservation.
Format: decimal
namestringRequired within parentThe Climate product's name.
Maximum length: 5000
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: climate.product
suppliersarrayRequired within parentThe carbon removal suppliers that fulfill orders for this Climate product.
suppliers[]ModelEach itemExpand Retrieve a supplier — response body

Referenced models: Retrieve a supplier — response body, Retrieve a product — climate get Climate Products Product — response body — current prices per metric ton value

Retrieve a supplier — response body
FieldTypePresenceDescription and constraints
$objectRootA supplier of carbon removal.
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
info_urlstringRequired within parentLink to a webpage to learn more about the supplier.
Maximum length: 5000
livemodebooleanRequired within parentHas the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
locationsarrayRequired within parentThe locations in which this supplier operates.
locations[]ModelEach itemExpand Retrieve a supplier — response body — locations item
namestringRequired within parentName of this carbon removal supplier.
Maximum length: 5000
objectstringRequired within parentString representing the object’s type. Objects of the same type share the same value.
Known values: climate.supplier
removal_pathwaystringRequired within parentThe scientific pathway used for carbon removal.
Known values: biomass_carbon_removal_and_storage, direct_air_capture, enhanced_weathering, marine_carbon_removal

Referenced models: Retrieve a supplier — response body — locations item

Retrieve a product — climate get Climate Products Product — response body — current prices per metric ton value
FieldTypePresenceDescription and constraints
$objectRoot
amount_feesJSONRequired within parent
amount_fees (anyOf 1)integerAlternativeFees for one metric ton of carbon removal in the currency's smallest unit.
amount_fees (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_subtotalJSONRequired within parent
amount_subtotal (anyOf 1)integerAlternativeSubtotal for one metric ton of carbon removal (excluding fees) in the currency's smallest unit.
amount_subtotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_totalJSONRequired within parent
amount_total (anyOf 1)integerAlternativeTotal for one metric ton of carbon removal (including fees) in the currency's smallest unit.
amount_total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Retrieve a supplier — response body — locations item
FieldTypePresenceDescription and constraints
$objectRoot
cityJSONOptional
city (anyOf 1)stringAlternativeThe city where the supplier is located.
Maximum length: 5000
city (anyOf 2)nullAlternative
countrystringRequired within parentTwo-letter ISO code representing the country where the supplier is located.
Maximum length: 5000
latitudeJSONOptional
latitude (anyOf 1)JSONAlternative
latitude (anyOf 1) (anyOf 1)numberAlternativeThe geographic latitude where the supplier is located.
latitude (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
latitude (anyOf 2)nullAlternative
longitudeJSONOptional
longitude (anyOf 1)JSONAlternative
longitude (anyOf 1) (anyOf 1)numberAlternativeThe geographic longitude where the supplier is located.
longitude (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
longitude (anyOf 2)nullAlternative
regionJSONOptional
region (anyOf 1)stringAlternativeThe state/county/province/region where the supplier is located.
Maximum length: 5000
region (anyOf 2)nullAlternative

SDK function policy ID: stripe.getclimateproductsproduct. Catalog operation: GetClimateProductsProduct. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"Stripe-Version": "2026-09-30.endive"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.