---
title: "Store a year's hand-entered emissions"
method: PUT
path: "/net-zero/manual-inventories/{year}"
---

# Store a year's hand-entered emissions

`PUT /net-zero/manual-inventories/{year}`

One entry for the whole year (mode year) or twelve monthly ones (mode month), each citing its source. overrideLedger stands them in place of the ledger's figures for the year. Annual inventories resolve them. Requires org.edit_dashboard.

## Path parameters

- `year` integer, required

## Request body

- NetZeroManualInventoryInput
  - `entries` NetZeroManualEntry[], required
    - `reference` string, required
    - `scope1KgCo2e` number, double, nullable, required
    - `scope2KgCo2e` number, double, nullable, required
    - `scope3KgCo2e` number, double, nullable, required
  - `mode` 'year' | 'month', required
  - `overrideLedger` boolean, required

## Response `200`

Stored manual inventory

- NetZeroManualInventoryResponse
  - `data` NetZeroManualInventory, required
    - `entries` NetZeroManualEntry[], required
      - `reference` string, required
      - `scope1KgCo2e` number, double, nullable, required
      - `scope2KgCo2e` number, double, nullable, required
      - `scope3KgCo2e` number, double, nullable, required
    - `mode` 'year' | 'month', required
    - `overrideLedger` boolean, required
    - `updatedAt` string, date-time, required
    - `updatedBy` string, required
    - `year` integer, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

## Changes

- **2026-10-01** `b4751fd15397` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/net-zero/manual-inventories/:year/put.md)

---

[API](https://skmtc.dev/greentally/apis/esgai-api.md) · [All operations](https://skmtc.dev/greentally/apis/esgai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/greentally/apis/esgai-api/revisions/b4751fd15397?raw)
