Wren Project Orders API

Fund a specific project by dollar amount

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.
All 92 tools

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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wren-project-orders-api-openapi.yml Raw ↑
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.