Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wren-project-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.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:
schemas:
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
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.
responses:
BadRequest:
description: Invalid payload, missing required fields, or validation failure.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Missing or invalid authentication, or account not eligible for the operation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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.