OpenAPI Specification
openapi: 3.1.0
info:
title: Wren Credits Project Orders API
description: The Wren API is a JSON REST API that lets you offset carbon dioxide through Wren's portfolio of verified carbon sequestration projects. Create offset orders by tonnage, fund specific projects by dollar amount, plant trees, manage a prepaid credit balance, and list portfolios, purchases, and donations. Most endpoints require an API token (team live token, wren_test_ sandbox token, or legacy personal token) via HTTP Basic or Bearer auth.
version: '2026-07-21'
contact:
name: Wren Support
email: support@wren.co
url: https://www.wren.co/faq
termsOfService: https://www.wren.co/terms-of-use
servers:
- url: https://www.wren.co
description: Production
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Project Orders
description: Fund a specific project by dollar amount
paths:
/api/project-orders:
post:
operationId: createProjectOrder
tags:
- Project Orders
summary: Fund a specific project by dollar amount
description: Funds a specific project directly by projectId without portfolio allocation. Offsettable projects (cost_per_ton) create offset orders and the response includes impact.tons; non-offsettable projects create project donations. Tree-measured projects are not supported (use /api/tree-orders).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectOrderRequest'
examples:
basic:
value:
projectId: 18
amountInUsdCents: 2500
note: Funding this project for Q1 usage
credits:
value:
projectId: 18
amountInUsdCents: 2500
paymentMethod: credits
dryRun:
value:
projectId: 18
amountInUsdCents: 2500
dryRun: true
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectOrderRequest'
responses:
'200':
description: Project order created (or previewed when dryRun is true)
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectOrderResponse'
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
components:
responses:
Forbidden:
description: Missing or invalid authentication, or account not eligible for the operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid payload, missing required fields, or validation failure.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
ProjectOrderResponse:
type: object
properties:
id:
type:
- string
- 'null'
amountCharged:
type: number
currency:
type: string
impact:
type: object
properties:
tons:
type: number
description: Included only when the project has cost_per_ton.
paymentMethod:
type: string
creditsRemaining:
type: integer
test:
type: boolean
Error:
type: object
properties:
message:
type: string
description: Human-readable description of the validation or auth failure.
ProjectOrderRequest:
type: object
required:
- projectId
- amountInUsdCents
properties:
projectId:
type: integer
minimum: 1
description: ID of the project to fund.
amountInUsdCents:
type: integer
minimum: 100
description: Amount in USD cents. Minimum 100 ($1.00).
note:
type: string
dryRun:
type: boolean
sendReceiptEmail:
type: boolean
paymentMethod:
type: string
enum:
- stripe
- credits
onBehalfOfName:
type: string
maxLength: 200
onBehalfOfEmail:
type: string
maxLength: 320
securitySchemes:
basicAuth:
type: http
scheme: basic
description: 'Recommended for curl: pass the API token as the username with an empty password (-u [api_token]:). Token types: team live token (UUID), team test token (wren_test_ prefix, sandbox), legacy personal token (UUID).'
bearerAuth:
type: http
scheme: bearer
description: 'Authorization: Bearer [api_token] with the same token types as Basic auth.'
externalDocs:
description: Wren API Documentation
url: https://www.wren.co/docs/api
x-provenance:
generated: '2026-07-21'
method: derived
source:
- https://www.wren.co/docs/api
- https://www.wren.co/docs/api/wren-api.postman_collection.json
- https://www.wren.co/docs/api/offset-orders
- https://www.wren.co/docs/api/project-orders
- https://www.wren.co/docs/api/tree-orders
- https://www.wren.co/docs/api/portfolios
- https://www.wren.co/docs/api/purchases
- https://www.wren.co/docs/api/project-donations
- https://www.wren.co/docs/api/credits
note: Wren publishes complete REST reference documentation and a Postman collection but no OpenAPI document. This spec was derived faithfully from the published docs and collection by the API Evangelist enrichment pipeline; it is not an official Wren artifact.