Documentation menu
Approval workflow
Carbon-source records move through submit → review → approve. Only approved records count toward an event's computed carbon result, which is what makes the output defensible: every reported number traces back to reviewed source data.
The three transitions
POST https://api.carbon-calculator.eventzero.io/api/v2/events/{eventId}/{type}/{recordId}/submit # supplier or member → sets submitted
POST https://api.carbon-calculator.eventzero.io/api/v2/events/{eventId}/{type}/{recordId}/review # manager+ → sets reviewed (+ feedback)
POST https://api.carbon-calculator.eventzero.io/api/v2/events/{eventId}/{type}/{recordId}/approve # manager+ → sets approved- Submit — a supplier or org member hands the record to the event team. Sets
submitted: true. - Review — a manager checks the record and can attach free-text
feedback, which the supplier sees. Setsreviewed: true. - Approve — a manager signs the record off. Sets
approved: true; the record now counts in the event's carbon calculation.
curl -X POST https://api.carbon-calculator.eventzero.io/api/v2/events/<eventId>/flights/<recordId>/review \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Type: application/json" \
-d '{"feedback": "Passenger count looks high — please confirm against the manifest."}'The workflow flags and feedback are server-controlled: writing them directly through create/update is silently ignored — the transitions are the only way to change them.
Which record types have the workflow
12 of the 16 record types support the workflow. The remaining types don't track submission state — their records are plain CRUD, and the transition endpoints don't exist for them (calling one returns 404).
| Record type | submit / review / approve | Supplier rows pinned |
|---|---|---|
| accommodation | ✓ | ✓ |
| flights | ✓ | ✓ |
| travel | ✓ | ✓ |
| transport | ✓ | ✓ |
| transport-overseas | — | ✓ |
| private-jets | ✓ | ✓ |
| activity | — | shared across suppliers |
| food-beverage | ✓ | ✓ |
| drinks | ✓ | ✓ |
| venue | ✓ | ✓ |
| virtual | ✓ | ✓ |
| waste | ✓ | ✓ |
| printed-materials | ✓ | ✓ |
| production-items | ✓ | ✓ |
| product | — | shared across suppliers |
| service | — | shared across suppliers |
Recalculation: Results are recalculated server-side from approved records. After approving, re-read
GET /events/{eventId}/results to pick up the updated figure; a 404 RESULT_NOT_FOUND means no result exists yet.