---
title: "Add Site Meter Consent"
method: POST
path: "/entities/site/{site_id}/meter-consent"
tags: ["3. Sites"]
---

# Add Site Meter Consent

`POST /entities/site/{site_id}/meter-consent`

Add boundary meter consent for a site.

Confirm that the site has consented for Axle to retrieve its boundary meter readings. This is required for participation in the wholesale market for assets that do not have CoP11 approval, but may also be provided via other endpoints (e.g. during site onboarding). Returns the updated site details with the new consent timestamp.

## Path parameters

- `site_id` string, uuid, required

## Request body

- SiteMeterConsentRequest — Request model for adding boundary meter consent for a site.
  - `gave_boundary_meter_consent_at` string, date-time, required — Timezone-aware ISO 8601 timestamp (e.g. '2026-01-01T12:34:56Z') indicating when the household gave consent for Axle to access readings from their boundary meter, if consent was given.

## Response `200`

Successful Response

- SiteResponse — Response model for site information.
  - `id` string, uuid, required — Axle's internal UUID for the site
  - `mpan` string — Meter Point Administration Number for the site
  - `postcode` string — UK postcode for the site
  - `address` string — Full address for the site
  - `asset_ids` string[] — List of asset IDs associated with this site
  - `markets` MarketResponse[] — Markets the site is participating in
  - `dispatch_methods` DispatchMethodResponse[] — Dispatch methods allowed for the site
  - `tariff` TariffResponse — Response model for tariff information.
    - `tariff_type` 'single_rate' | 'dual_rate' | 'dynamic' | 'smart' | 'unknown' — An enumeration.
    - `tariff_cheap_start_time` string, time — Start time for off-peak/cheap rate period
    - `tariff_cheap_end_time` string, time — End time for off-peak/cheap rate period
  - `gave_boundary_meter_consent_at` string, date-time — Timestamp when boundary meter consent was given

## Other responses

- `400` — Invalid request
- `404` — Site not found or not authorized to access
- `422` — Validation Error
- `500` — Internal server error

---

[API](https://skmtc.dev/axle/apis/axle-api-docs.md) · [All operations](https://skmtc.dev/axle/apis/axle-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/axle/axle-api-docs/revisions/75be7f9a952f/schema)
