Stripe Climate API
Stripe Climate is the easiest way to help promising permanent carbon removal technologies launch and scale. Join a growing group of ambitious businesses that are changing the course of carbon removal.
Stripe Climate is the easiest way to help promising permanent carbon removal technologies launch and scale. Join a growing group of ambitious businesses that are changing the course of carbon removal.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/stripe-climate-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Stripe Accounts Account Climate API
description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
contact:
email: dev-platform@stripe.com
name: Stripe Dev Platform Team
url: https://stripe.com
termsOfService: https://stripe.com/us/terms/
version: '2023-10-16'
x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Climate
paths:
/v1/climate/orders:
get:
description: '<p>Lists all Climate order objects. The orders are returned sorted by creation date, with the
most recently created orders appearing first.</p>'
operationId: GetClimateOrders
parameters:
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateOrdersRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/ClimateRemovalsOrdersList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
post:
description: '<p>Creates a Climate order object for a given Climate product. The order will be processed immediately
after creation and payment will be deducted your Stripe balance.</p>'
operationId: PostClimateOrders
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
beneficiary:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateOrdersRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/orders/{order}:
get:
description: <p>Retrieves the details of a Climate order object with the given ID.</p>
operationId: GetClimateOrdersOrder
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateOrdersOrderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
post:
description: <p>Updates the specified order by setting the values of the parameters passed.</p>
operationId: PostClimateOrdersOrder
parameters:
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
beneficiary:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateOrdersOrderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/orders/{order}/cancel:
post:
description: '<p>Cancels a Climate order. You can cancel an order within 30 days of creation. Stripe refunds the
reservation <code>amount_subtotal</code>, but not the <code>amount_fees</code> for user-triggered cancellations. Frontier
might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
provides 90 days advance notice and refunds the <code>amount_total</code>.</p>'
operationId: PostClimateOrdersOrderCancel
parameters:
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateOrdersOrderCancelRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/products:
get:
description: <p>Lists all available Climate product objects.</p>
operationId: GetClimateProducts
parameters:
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateProductsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/ClimateRemovalsProductsList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/products/{product}:
get:
description: <p>Retrieves the details of a Climate product with the given ID.</p>
operationId: GetClimateProductsProduct
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: product
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateProductsProductRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.product'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/reservations:
get:
description: '<p>Lists all Climate order objects. The orders are returned sorted by creation date, with the
most recently created orders appearing first.</p>'
operationId: GetClimateReservations
parameters:
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateReservationsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/ClimateRemovalsOrdersList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
post:
description: '<p>Creates a Climate order object for a given Climate product. The order will be processed immediately
after creation and payment will be deducted your Stripe balance.</p>'
operationId: PostClimateReservations
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
beneficiary:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateReservationsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/reservations/{order}:
get:
description: <p>Retrieves the details of a Climate order object with the given ID.</p>
operationId: GetClimateReservationsOrder
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateReservationsOrderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
post:
description: <p>Updates the specified order by setting the values of the parameters passed.</p>
operationId: PostClimateReservationsOrder
parameters:
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
beneficiary:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateReservationsOrderRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/reservations/{order}/cancel:
post:
description: '<p>Cancels a Climate order. You can cancel an order within 30 days of creation. Stripe refunds the
reservation <code>amount_subtotal</code>, but not the <code>amount_fees</code> for user-triggered cancellations. Frontier
might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
provides 90 days advance notice and refunds the <code>amount_total</code>.</p>'
operationId: PostClimateReservationsOrderCancel
parameters:
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateReservationsOrderCancelRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/reservations/{order}/confirm:
post:
description: '<p>Confirms a Climate order. When you confirm your order, we immediately deduct the funds from your
Stripe balance.</p>'
operationId: PostClimateReservationsOrderConfirm
parameters:
- description: Unique identifier of the order.
in: path
name: order
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostClimateReservationsOrderConfirmRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.order'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/suppliers:
get:
description: <p>Lists all available Climate supplier objects.</p>
operationId: GetClimateSuppliers
parameters:
- description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateSuppliersRequest'
required: false
responses:
'200':
content:
application/json:
schema:
description: ''
x-expandableFields:
- data
$ref: '#/components/schemas/ClimateRemovalsSuppliersList'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
/v1/climate/suppliers/{supplier}:
get:
description: <p>Retrieves a Climate supplier object.</p>
operationId: GetClimateSuppliersSupplier
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: supplier
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetClimateSuppliersSupplierRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/climate.supplier'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
tags:
- Climate
components:
schemas:
climate.product:
description: 'A Climate product represents a type of carbon removal unit available for reservation.
You can retrieve it to see the current price and availability.'
properties:
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
current_prices_per_metric_ton:
additionalProperties:
$ref: '#/components/schemas/climate_removals_products_price'
description: Current prices for a metric ton of carbon removal in a currency's smallest unit.
type: object
delivery_year:
description: The year in which the carbon removal is expected to be delivered.
type:
- integer
- 'null'
id:
description: 'Unique 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.'
maxLength: 5000
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metric_tons_available:
description: The quantity of metric tons available for reservation.
format: decimal
type: string
name:
description: The Climate product's name.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- climate.product
type: string
suppliers:
description: The carbon removal suppliers that fulfill orders for this Climate product.
items:
$ref: '#/components/schemas/climate.supplier'
type: array
required:
- created
- current_prices_per_metric_ton
- id
- livemode
- metric_tons_available
- name
- object
- suppliers
title: ClimateRemovalsProducts
type: object
x-expandableFields:
- current_prices_per_metric_ton
- suppliers
x-resourceId: climate.product
PostClimateOrdersOrderRequest:
type: object
properties:
beneficiary:
anyOf:
- properties:
public_name:
anyOf:
- maxLength: 5000
type: string
- enum:
- ''
type: string
required:
- public_name
title: beneficiary_params
type: object
- enum:
- ''
type: string
description: Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set.
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
additionalProperties:
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
type: object
GetClimateOrdersRequest:
type: object
properties: {}
GetClimateProductsProductRequest:
type: object
properties: {}
GetClimateProductsRequest:
type: object
properties: {}
PostClimateOrdersRequest:
type: object
required:
- product
properties:
amount:
description: Requested amount of carbon removal units. Either this or `metric_tons` must be specified.
type: integer
beneficiary:
description: Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set.
properties:
public_name:
maxLength: 5000
type: string
required:
- public_name
title: beneficiary_params
type: object
currency:
description: Request currency for the order as a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a supported [settlement currency for your account](https://stripe.com/docs/currencies). If omitted, the account's default currency will be used.
maxLength: 5000
type: string
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
additionalProperties:
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
type: object
metric_tons:
description: Requested number of tons for the order. Either this or `amount` must be specified.
format: decimal
type: string
product:
description: Unique identifier of the Climate product.
maxLength: 5000
type: string
GetClimateSuppliersSupplierRequest:
type: object
properties: {}
GetClimateOrdersOrderRequest:
type: object
properties: {}
climate.order:
description: 'Orders represent your intent to purchase a particular Climate product. When you create an order, the
payment is deducted from your merchant balance.'
properties:
amount_fees:
description: Total amount of [Frontier](https://frontierclimate.com/)'s service fees in the currency's smallest unit.
type: integer
amount_subtotal:
description: Total amount of the carbon removal in the currency's smallest unit.
type: integer
amount_total:
description: Total amount of the order including fees in the currency's smallest unit.
type: integer
beneficiary:
$ref: '#/components/schemas/climate_removals_beneficiary'
canceled_at:
description: Time at which the order was canceled. Measured in seconds since the Unix epoch.
format: unix-time
type:
- integer
- 'null'
cancellation_reason:
description: Reason for the cancellation of this order.
enum:
- expired
- product_unavailable
- requested
type:
- string
- 'null'
x-stripeBypassValidation: true
certificate:
description: For delivered orders, a URL to a delivery certificate for the order.
maxLength: 5000
type:
- string
- 'null'
confirmed_at:
description: Time at which t
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-climate-api-openapi.yml