> For the complete documentation index, see [llms.txt](https://india-energy-stack.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://india-energy-stack.gitbook.io/docs/schemas/meterdatarequest/v0.6.md).

# v0.6

> **Files** — [attributes.yaml](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterDataRequest/v0.6/attributes.yaml) · [schema.json](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterDataRequest/v0.6/schema.json) · [context.jsonld](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterDataRequest/v0.6/context.jsonld) · [vocab.jsonld](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterDataRequest/v0.6/vocab.jsonld) · [examples/](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterDataRequest/v0.6/examples/README.md)

## MeterDataRequest v0.6

This directory contains the schemas, context mapping, and vocabularies for querying smart meter telemetry and profiles. In version 0.6, the request layer has been split into three distinct, composable models:

1. **MeterDataCapabilities**
2. **MeterDataAuthorisation**
3. **MeterDataRequest**

***

### 1. MeterDataCapabilities

Represents the data sharing capabilities supported by a meter data provider (e.g. DISCOM). It acts as the blueprint of what data points are available, specifying what profile types, register keys, telemetry modes, and query boundaries are supported.

* **Main Schema**: `schema.json#/$defs/MeterDataCapabilities`
* **JSON-LD Type**: `ies:MeterDataCapabilities`
* **Link to Example**: [`Capabilities_Example.json`](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterDataRequest/v0.6/examples/Capabilities_Example.json)

***

### 2. MeterDataAuthorisation

Represents the cryptographic or digital grant/token allowing an entity (such as a Technical Service Provider) to access a specific subset of data capabilities. It defines:

* **`grantor`**: The authorizing entity (e.g. Utility/DISCOM).
* **`grantee`**: The authorized entity (e.g. TSP).
* **`purpose`**: The explicit reason for accessing the data (e.g. ESG reporting).
* **`validFrom` / `validUntil`**: The validity period.
* **`capabilities`**: The allowed `MeterDataCapabilities` object.
* **Main Schema**: `schema.json#/$defs/MeterDataAuthorisation`
* **JSON-LD Type**: `ies:MeterDataAuthorisation`
* **Link to Example**: [`Authorisation_Example.json`](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterDataRequest/v0.6/examples/Authorisation_Example.json)

***

### 3. MeterDataRequest

Represents the actual data query payload sent by the authorized entity to pull telemetry. It contains query criteria and proves authorization and user consent:

* **`consumers`** (optional): List of target consumer DIDs/URIs.
* **`resources`** (optional): List of target meter serials or service point URIs.
* **`scope`**: Hierarchy of query (`ResourceOnly`, `ResourceAndChildren`, `ChildrenOnly`).
* **`from` / `duration`**: The start and duration of the query time window.
* **`consumerConsent`** (optional): Array of consumer consent DIDs or receipt hashes.
* **`authorisation`**: Inline `MeterDataAuthorisation` object or URL pointing to the grant.
* **`capabilitiesRequested`**: The requested `MeterDataCapabilities` subset.
* **Main Schema**: `schema.json` (root schema)
* **JSON-LD Type**: `ies:MeterDataRequest`
* **Link to Example**: [`Request_Example.json`](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterDataRequest/v0.6/examples/Request_Example.json)

***

### Field reference

*Auto-generated from `schema.json`. A field name in **bold** with a trailing **\*** is required; all others are optional. **Type** shows units for QuantitativeValue models. Where a field is derived from a standard, its description begins with **Based on** and the standard reference (from the field's `x-standard` annotation). One table per object.*

#### MeterDataRequest

| Field                          | Type                                                    | Description                                                                                             |
| ------------------------------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `consumers`                    | list of uri                                             | List of consumer URIs/DIDs for whom the data is requested (optional).                                   |
| `resources`                    | list of uri                                             | List of resource URIs/DIDs (e.g. meter DIDs, service point IDs) to query (optional).                    |
| `scope`                        | `ResourceOnly` / `ResourceAndChildren` / `ChildrenOnly` | —                                                                                                       |
| **`from`** \*                  | date-time                                               | ISO 8601 UTC date-time indicating the start time of the requested data window.                          |
| **`duration`** \*              | duration                                                | ISO 8601 duration string representing the length of the requested data window (e.g., PT15M, P1D, P30D). |
| `consumerConsent`              | list of text                                            | Consent references/receipts proving authorization (optional).                                           |
| `authorisation`                | MeterDataAuthorisation or uri                           | Inline authorization object or URI reference to it.                                                     |
| **`capabilitiesRequested`** \* | MeterDataCapabilities                                   | —                                                                                                       |
| `maxRecordsShared`             | integer                                                 | Maximum number of records that should be shared or returned in a single batch/page.                     |

#### MeterDataAuthorisation

| Field                 | Type                  | Description                                                             |
| --------------------- | --------------------- | ----------------------------------------------------------------------- |
| **`grantor`** \*      | uri                   | URI/DID of the entity authorizing access.                               |
| **`grantee`** \*      | uri                   | URI/DID of the authorized entity.                                       |
| **`purpose`** \*      | text                  | Reason/purpose for data access.                                         |
| **`validFrom`** \*    | date-time             | ISO 8601 UTC date-time indicating when the authorization becomes valid. |
| **`validUntil`** \*   | date-time             | ISO 8601 UTC date-time indicating when the authorization expires.       |
| **`capabilities`** \* | MeterDataCapabilities | —                                                                       |

#### MeterDataCapabilities

| Field                | Type                                                            | Description                                                         |
| -------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------- |
| **`profiles`** \*    | list of ProfileCapability                                       | List of profiles and their specific values/modes.                   |
| `supportedScopes`    | list of `ResourceOnly` / `ResourceAndChildren` / `ChildrenOnly` | Hierarchical scopes supported by the query processor.               |
| `maxHistoryDuration` | duration                                                        | Maximum length of historical data window supported by the provider. |

#### ProfileCapability

| Field                | Type                                                                                                                                                 | Description                                                                                                          |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **`profileType`** \* | `CustomerProfile` / `IntervalProfile` / `DailyProfile` / `MonthlyProfile` / `BillDetails` / `InstantaneousProfile` / `EventProfile` / `AlarmProfile` | —                                                                                                                    |
| `readings`           | list of ValueCapability                                                                                                                              | Granular capabilities for specific registers and metrics. If omitted, all readings under this profile are supported. |

#### ValueCapability

| Field          | Type                | Description                                                                                |
| -------------- | ------------------- | ------------------------------------------------------------------------------------------ |
| **`value`** \* | text                | The OBIS code (e.g. 1.0.1.8.0.255) or short code (e.g. kWh imp) representing the register. |
| `mode`         | `READING` / `USAGE` | The telemetry mode (READING, USAGE) supported or requested for this register.              |
| `multiplier`   | number              | Optional decimal multiplier scaling factor (e.g., 0.001 or 1000).                          |
| `accuracy`     | number              | Optional accuracy class or precision value.                                                |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://india-energy-stack.gitbook.io/docs/schemas/meterdatarequest/v0.6.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
