POST /api/v3/reading

Creates new readings

CreateReadingsV3 Permissions: IntervalData (Manage)

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Request Body

Array of:

ReadingCreate
Property Description Type
channelId

Channel Identification

The channel that receives the reading is determined by the following rules:

Direct pointers to a channel If the channelId is supplied, then import to that channel. If the channelId is not supplied look at the channelImportId property, which indicates a specific channel. Inferred pointers to a channel If the channelId and channelImportId are not supplied, look at the meterImportId property, which indicates a meter.If that meter has one channel, import to that channel. If that meter has more than one channel, find the channel with the same observation type as the observationTypeCode property.If only one is found, import to that channel. If more than one channel is found based on observation type, find the channel with the same output unit as the unitCode property.If only one is found, import to that channel. If more than one channel is found based on unit, find the channel with the same channelIntervalInSeconds property. If only one is found, import to that channel. Topmost (Channel)

integer (int32)
channelImportId The import identifier for the channel on which to create the reading. See the channelId property for more information Must be between 0 and 255 characters string
channelIntervalInSeconds integer (int32)
meterImportId The import identifier for the meter on which to create the reading. See the channelId property for more information Must be between 0 and 255 characters string
observationTypeCode The observationType code of the reading. See the channelId property for more information Must be between 0 and 16 characters string
readings array of readings Required Reading[]
Reading properties
Property Description Type
estimated Indicates if the reading is estimated Required (defined) boolean
note A note pertaining to the reading Required (defined) string
time The date and time of the reading Required Required string (date-time)
value The reading’s value Required Required number (double)
unitCode The unit code of the reading. See the channelId property for more information Must be between 0 and 16 characters string
Example Request Body application/json
[
  {    "channelId": 1,    "channelImportId": "string",    "channelIntervalInSeconds": 1,    "meterImportId": "string",    "observationTypeCode": "string",    "readings": [
      {      "estimated": false,      "note": "string",      "time": "2026-03-30",      "value": 1.0
    }
    ],    "unitCode": "string"
  }
]

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

ReadingResponse
Property Description Type
failedReadings Data representing the failed reading imports FailedReadingResponse[]
FailedReadingResponse properties
Property Description Type
channelId integer (int32)
channelImportId string
channelIntervalInSeconds integer (int32)
error string
meterImportId string
observationTypeCode string
readings FailedReadings[]
FailedReadings properties
Property Description Type
error string
estimated boolean
note string
time string (date-time)
value number (double)
unitCode string
failedReadingsCount The number of failed reading imports integer (int32)
importedReadingsCount The number of successfully imported readings integer (int32)
Example Response application/json
{  "failedReadings": [
    {    "channelId": 1,    "channelImportId": "string",    "channelIntervalInSeconds": 1,    "error": "string",    "meterImportId": "string",    "observationTypeCode": "string",    "readings": [
      {      "error": "string",      "estimated": false,      "note": "string",      "time": "2026-03-30",      "value": 1.0
    }
    ],    "unitCode": "string"
  }
  ],  "failedReadingsCount": 1,  "importedReadingsCount": 1
}