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.
openapi: 3.0.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:
PostClimateReservationsOrderRequest:
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
PostClimateReservationsOrderConfirmRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
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: {}
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
nullable: true
type: integer
cancellation_reason:
description: Reason for the cancellation of this order.
enum:
- expired
- product_unavailable
- requested
nullable: true
type: string
x-stripeBypassValidation: true
certificate:
description: For delivered orders, a URL to a delivery certificate for the order.
maxLength: 5000
nullable: true
type: string
confirmed_at:
description: Time at which the order was confirmed. Measured in seconds since the Unix epoch.
format: unix-time
nullable: true
type: integer
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase, representing the currency for this order.
maxLength: 5000
type: string
delayed_at:
description: Time at which the order's expected_delivery_year was delayed. Measured in seconds since the Unix epoch.
format: unix-time
nullable: true
type: integer
delivered_at:
description: Time at which the order was delivered. Measured in seconds since the Unix epoch.
format: unix-time
nullable: true
type: integer
delivery_details:
description: Details about the delivery of carbon removal for this order.
items:
$ref: '#/components/schemas/climate_removals_order_deliveries'
type: array
expected_delivery_year:
description: The year this order is expected to be delivered.
type: integer
id:
description: Unique identifier for the object.
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
metadata:
additionalProperties:
maxLength: 500
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.
type: object
metric_tons:
description: Quantity of carbon removal that is included in this order.
format: decimal
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- climate.order
type: string
product:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/climate.product'
description: Unique ID for the Climate `Product` this order is purchasing.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/climate.product'
product_substituted_at:
description: Time at which the order's product was substituted for a different product. Measured in seconds since the Unix epoch.
format: unix-time
nullable: true
type: integer
status:
description: The current status of this order.
enum:
- awaiting_funds
- canceled
- confirme
# --- 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