project-orders | Wren API

Project Orders

Use Project Orders to fund a specific project directly by projectId, without portfolio allocation. This is useful when you want to support a single project or allocate a fixed dollar amount.

Overview

Tip: To find available project IDs, browse the Projects summary page for a human-readable list, or call GET /api/portfolios — each portfolio includes a projects array with project id values.

POST /api/project-orders

POST /api/project-orders

Authentication

Required. Use a team API token (recommended) or legacy personal API token via Basic auth or Bearer token. Account required for personal tokens. Test tokens (wren_test_…) return canned responses without side effects — see Test mode.

Headers

Request body

Attribute Type Description & Constraints
projectId integer Required. ID of the project to fund (> 0).
amountInUsdCents integer Required. Amount in USD cents. Minimum 100 ($1.00).
note string Optional. Note for the order.
dryRun boolean Optional. If true, no charge; returns preview only.
sendReceiptEmail boolean Optional. If true, sends a receipt email when dryRun is false.
onBehalfOfName string Optional. Name of the end-customer this order is being placed for. Shown as the purchaser on the impact certificate. Max 200 characters.
onBehalfOfEmail string Optional. Email of the end-customer this order is being placed for. Stored alongside the order; not used for sending email. Max 320 characters.

Minimum amount

amountInUsdCents must be at least 100 (USD cents = $1.00).

Example requests

JSON:

Form-encoded:

Dry run (no charge):

Success response

HTTP 200

Error responses

400 Bad Request — Invalid payload, missing required fields, amountInUsdCents below minimum, project ineligible, or tree-measured project (use /api/tree-orders).

403 Forbidden — Missing/invalid auth or not an account user.