Transfer of Reads Schema Reference
Headers and Parameters
| Field | Location | Required | Type | Format / Constraints |
|---|---|---|---|---|
X-API-KEY | Header | Yes | string | UUID format |
X-IDEMPOTENCY-KEY | Header (POST) | Yes | string | Non-empty string |
mpid | Path | Yes | string | Supplier MPID |
request_id | Path or body | Conditional | string | UUID |
dispute_id | Path | Conditional | string | UUID |
mpan_id | Query (GET losing-supplier) | No | integer or string | MPAN filter |
start_date | Query (GET losing-supplier) | No | string | Parseable date/datetime |
end_date | Query (GET losing-supplier) | No | string | Parseable date/datetime |
Request Schema (TraditionalTransferOfReadsSchemaNoFlagRequest)
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
mpan_core | Yes | integer | MPAN core |
bsc_validation | Yes | string(enum) | F, U, V |
site_visit_information | No | array or null | List of SiteVisitInformationSchema |
site_visit_information[].site_visit_check_code | No | string or null | Stored site visit code |
site_visit_information[].additional_information | No | string or null | Free text |
meter_readings | Yes | array | List of MeterReadingsSchemaNoFlag |
meter_readings[].meter_id | Yes | string | Meter identifier |
meter_readings[].reading_type | Yes | string | Reading type code |
meter_readings[].register_readings | No | array or null | List of register-level readings |
meter_readings[].register_readings[].meter_register_id | Yes | string | Register identifier |
meter_readings[].register_readings[].reading_datetime | Yes | string(datetime) | ISO 8601 datetime |
meter_readings[].register_readings[].reading | Yes | string | Reading value |
meter_readings[].register_readings[].md_reset_datetime | No | string(datetime) or null | ISO 8601 datetime |
meter_readings[].register_readings[].md_reset_count | No | integer or null | Maximum demand reset count |
meter_readings[].register_readings[].reading_method | Yes | string | Reading method code |
meter_readings[].register_readings[].site_visit_information | No | array or null | Nested site-visit details |
Notes:
- The gaining-supplier request does not include
meter_reading_flag. This value is handled by the service.
Request Schema (ValidateOrRejectReadingsRequestSchema)
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
mpan_core | Yes | integer | MPAN core |
request_id | Yes | string | UUID |
accept_readings | Yes | boolean | true or false |
Request Schema (TraditionalTransferOfReadsDisputeRequestSchema)
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
id | No | string or null | UUID; auto-generated if omitted |
mpan_core | Yes | integer | MPAN core |
request_id | Yes | string | UUID |
dispute_type | Yes | string(enum) | One of D (disputed), M (missing) |
additional_information | No | string or null | Max 200 chars |
meters | Yes | array | List of DisputeMeterDetailsSchema |
meters[].meter_id | Yes | string | Meter identifier |
meters[].registers | Yes | array | List of register proposals |
meters[].registers[].meter_register_id | No | string or null | Register identifier |
meters[].registers[].disputed_reading_value | No | number or null | Existing reading value |
meters[].registers[].proposed_reading_type | No | string(enum) or null | Allowed dispute reading type value |
meters[].registers[].proposed_reading_value | Yes | string | Counter-proposed reading value |
meters[].registers[].proposal_status | No | string or null | Proposal status |
Response Schema (TraditionalTransferOfReadsResponseSchema)
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
mpan_core | Yes | integer | MPAN core |
request_id | Yes | string | UUID |
bsc_validation | Yes | string(enum) | F, U, V |
site_visit_information | No | array or null | List of site visit details |
meter_readings | Yes | array | List of meter readings |
request_received_datetime | Yes | string(datetime) | ISO 8601 datetime |
Response Schema (ReadingsDisputeResponseSchema)
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
id | Yes | string | UUID |
ttor_fk | Yes | string | UUID of the parent traditional ToR record |
dispute_type | Yes | string(enum) | Dispute type value |
additional_information | No | string or null | Free text |
record_rejection_reason_indicator | No | string or null | Rejection reason indicator |
dispute_messages | Yes | array | List of ReadingsDisputeMessageSchema |
dispute_messages[].id | Yes | string | UUID |
dispute_messages[].sender_mpid | Yes | string | Sender MPID |
dispute_messages[].receiver_mpid | Yes | string | Receiver MPID |
dispute_messages[].meter_id | No | string or null | Meter identifier |
dispute_messages[].register_id | No | string or null | Register identifier |
dispute_messages[].initial_dispute | Yes | boolean | Boolean |
dispute_messages[].disputed_reading_value | No | decimal or null | Existing reading |
dispute_messages[].proposed_reading_value | No | decimal or null | Counter-proposal |
dispute_messages[].proposed_reading_type | No | string(enum) or null | Proposed reading type value |
dispute_messages[].initial_rejection_reason | No | string or null | Reason |
dispute_messages[].proposal_status | No | string(enum) or null | One of A, D, M, P, R, U, Y |
created | No | string(datetime) or null | ISO 8601 datetime |
updated | No | string(datetime) or null | ISO 8601 datetime |
Response Schema (DisputeActionResponse)
Used by:
POST /traditional-transfer-of-reads/v1/{mpid}/disputes/newPOST /traditional-transfer-of-reads/v1/{mpid}/disputes/{dispute_id}/acceptPOST /traditional-transfer-of-reads/v1/{mpid}/disputes/{dispute_id}/reject
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
dispute_id | Yes | string | UUID |
dispute_request_datetime | Yes | string(datetime) | ISO 8601 datetime |
Process Response Schema (SupplierProcessResponseSchema)
Used by the gaining-supplier create endpoint and the losing-supplier respond endpoint.
| Field | Required | Type | Format / Constraints |
|---|---|---|---|
request_id | Yes | string | UUID |
request_type | Yes | string | Process type name |
request_status | Yes | string(enum) | Pending, Success, Failed |
description | No | string or null | Process type description |
created_at | Yes | string(datetime) | ISO 8601 datetime |
last_updated_at | Yes | string(datetime) | ISO 8601 datetime |
mpan_core | Yes | integer | MPAN core |