---
title: "Replace an instrument's fields"
method: PUT
path: "/energy-instruments/{instrumentId}"
tags: ["Sites"]
---

# Replace an instrument's fields

`PUT /energy-instruments/{instrumentId}`

It stays on its site; source becomes manual. Requires org.write_data.

## Path parameters

- `instrumentId` string, required

## Request body

- EnergyInstrumentInput
  - `certificateScheme` '' | 'GO' | 'REGO' | 'REC' | 'I-REC' | 'other', required
  - `certifiedKwh` number, double, nullable, required — Low-carbon kWh the instrument certifies; always null for default_grid.
  - `evidenceUrl` string, required
  - `lowCarbonShare` number, double, nullable, required — The supplier's fuel mix, as the low-carbon share of its generation.
  - `note` string, required
  - `periodEnd` string, date, required — The day after the last day covered.
  - `periodStart` string, date, required
  - `supplierKgCo2ePerKwh` number, double, nullable, required — The supplier-specific emission rate.
  - `supplierName` string, required
  - `supplyPoint` string, required — Normalized value of one of the site's supply_point matchers; empty for the whole site.
  - `type` 'ppa' | 'green_tariff' | 'unbundled_eac' | 'default_grid', required

## Response `200`

Updated instrument

- EnergyInstrumentResponse
  - `data` EnergyInstrument, required
    - `certificateScheme` '' | 'GO' | 'REGO' | 'REC' | 'I-REC' | 'other', required
    - `certifiedKwh` number, double, nullable, required — Low-carbon kWh the instrument certifies; always null for default_grid.
    - `evidenceUrl` string, required
    - `lowCarbonShare` number, double, nullable, required — The supplier's fuel mix, as the low-carbon share of its generation.
    - `note` string, required
    - `periodEnd` string, date, required — The day after the last day covered.
    - `periodStart` string, date, required
    - `supplierKgCo2ePerKwh` number, double, nullable, required — The supplier-specific emission rate.
    - `supplierName` string, required
    - `supplyPoint` string, required — Normalized value of one of the site's supply_point matchers; empty for the whole site.
    - `type` 'ppa' | 'green_tariff' | 'unbundled_eac' | 'default_grid', required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `siteId` string, required
    - `source` 'manual' | 'supplier_portal', required
    - `suppliedBy` string, required — The user who typed it in, or the supplier's contact through the supplier portal.
    - `updatedAt` string, date-time, required
    - `updatedBy` string, required

## Other responses

- `400` — VALIDATION_ERROR or UNKNOWN_SUPPLY_POINT
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

## Changes

- **2026-10-02** `766c2a40e369` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/energy-instruments/:instrumentId/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/4189686230ca?raw)
