Utilitarian API (1.3.0)

Download OpenAPI specification:Download

Utilitarian API is a software for Multi Utility AMR (Automatic Meter Reading) built by Palmlund Wahlgren Innovative Technology AB and is targeted to utility organisations that require a more open solution for their AMR Operations.

The source for this documentation can be found on github.com. If you find any errors in the documentation or you have suggestions on how to make it better please create an issue on Github.

Introduction

Utilitarian API is a RESTful API that exposes endpoint for AMR Operations.

Authentication

Token Authentication

Each user with is_staff=True is given a unique API Key Token to interact with the API.

Token Authentication is made for programatical high level access of the API. To make other services use the API via a Token make a sepatate user for them and use the token in all authentications.

Users with Token Authentication access to all actions in the API.

For clients to authenticate, the token key should be included in the Authorization HTTP header. The key should be prefixed by the string literal "Token", with whitespace separating the two strings. For example:

Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b

Unauthenticated responses that are denied permission will result in an HTTP 401 Unauthorized response with an appropriate WWW-Authenticate header. For example:

WWW-Authenticate: Token

Note: If you are running an instance of Utilitarian API that is accessable over the Internet you need to make sure that the API is only served under https.

User JWT Auth

Users with is_staff=False are able to request a JSON Web Token (JWT) via the /auth/jwt endpoints.

The JWT endpoint issues a JWT with only read access to the API and will filter all results to the entites the users organization has access to. When using User JWT Auth the organization field of all request bodys an be omittted and if you add it in the request body it will be cleaned and the correct organization ID will be added. For users that are part of several organizations it is possible to switch organization by requesting a new JWT for another organization.

User JWT Auth is used for client applications using the API. Mobile apps, single page application etc.

For clients to authenticate, the JWT key should be included in the Authorization HTTP header. The key should be prefixed by the string literal "JWT", with whitespace separating the two strings. For example:

Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Unauthenticated responses that are denied permission will result in an HTTP 401 Unauthorized response with an appropriate WWW-Authenticate header. For example:

WWW-Authenticate: JWT

Note: If you are running an instance of Utilitarian API that is accessable over the Internet you need to make sure that the API is only served under https.

Pagination

The Pagination scheme used for Utiltiarian API is a Limit/Offset scheme.

By using a limit indicates the maximum number of items to return and the offset indicates the starting position of the query in relation to the complete set of unpaginated items. This makes for a very extensible pagination scheme where the client have better control of the returned values. In all responses the total count of items in the compleate set of unpaginated items are returned to be able to know where in the set a pagination response is located.

The limit and offset is applied in query parameters like:

GET https://api.example.org/accounts/?limit=100&offset=400

The following example shows a common result set.

{
  "count": 1023
  "next": "https://api.example.org/accounts/?limit=100&offset=500",
  "previous": "https://api.example.org/accounts/?limit=100&offset=300",
  "results": []
}

Note: Having very large result sets can lead to significant performance issues.

Meter Devices

Operations on Meter Devices

Meter Devices

Meter Devices are the entity that represents a physical (or logical) meter deployed in the field. They handle all information about how to communicate with the meter and how to interpret the data from the meter.

metering_meter-devices_list

get /metering/meter-devices
/v1/metering/metering/meter-devices

Returns a list of MeterDevices

query Parameters
name
string
external_system_reference
string
manufacturer_serial
string
dlms_logical_device_name
string
dlms_system_title
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-devices_create

post /metering/meter-devices
/v1/metering/metering/meter-devices

Creates a MeterDevice

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
name
required
string (Unique name or identification) [ 1 .. 50 ] characters
external_system_reference
string (External system reference) <= 50 characters Nullable
manufacturer_serial
string (Serial number from manufacturer) <= 50 characters Nullable
protocol
required
string (Communication protocol)
Enum:"dlms-cosem" "iec62056-21" "i-flag" "mbus" "modbus" "lis-200"
iec62056_21_address
string (IEC62056-21 meter address) <= 8 characters Nullable

Only used for IEC62056-21 communication

dlms_logical_device_name
string (DLMS Logical Device Name) <= 32 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

dlms_system_title
string (DLMS System Title) <= 16 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

type
string <uuid> (Type) Nullable
task_groups
Array of string <uuid> (AMR Task Groups)

Choose AMR Task Groups the meter device should be a part of.

meter_tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that are just for this meter device.

network_interface
string <uuid> (Network interface) Nullable
has_current_transformer
boolean (Has current transformer)

Indicates if the meter has a current transformer in its measurement loop.

current_transformer_ratio
integer (Current transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the current transformer, Ex: 150/5 = 30

has_voltage_transformer
boolean (Has voltage transformer)

Indicates if the meter has a voltage transformer in its measurement loop.

voltage_transformer_ratio
integer (Voltage transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the voltage transformer, Ex: 150/5 = 30

has_disconnector
boolean (Has disconnector)

indicates if the meter device has a disconnector

disconnector_status
integer (Disconnector status) Nullable
Enum:0 1 2

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "network_interface_info": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-devices_read

get /metering/meter-devices/{id}
/v1/metering/metering/meter-devices/{id}

Returns a single MeterDevice

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "network_interface_info": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-devices_update

put /metering/meter-devices/{id}
/v1/metering/metering/meter-devices/{id}

Updates a single MeterDevice

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device.

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
name
required
string (Unique name or identification) [ 1 .. 50 ] characters
external_system_reference
string (External system reference) <= 50 characters Nullable
manufacturer_serial
string (Serial number from manufacturer) <= 50 characters Nullable
protocol
required
string (Communication protocol)
Enum:"dlms-cosem" "iec62056-21" "i-flag" "mbus" "modbus" "lis-200"
iec62056_21_address
string (IEC62056-21 meter address) <= 8 characters Nullable

Only used for IEC62056-21 communication

dlms_logical_device_name
string (DLMS Logical Device Name) <= 32 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

dlms_system_title
string (DLMS System Title) <= 16 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

type
string <uuid> (Type) Nullable
task_groups
Array of string <uuid> (AMR Task Groups)

Choose AMR Task Groups the meter device should be a part of.

meter_tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that are just for this meter device.

network_interface
string <uuid> (Network interface) Nullable
has_current_transformer
boolean (Has current transformer)

Indicates if the meter has a current transformer in its measurement loop.

current_transformer_ratio
integer (Current transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the current transformer, Ex: 150/5 = 30

has_voltage_transformer
boolean (Has voltage transformer)

Indicates if the meter has a voltage transformer in its measurement loop.

voltage_transformer_ratio
integer (Voltage transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the voltage transformer, Ex: 150/5 = 30

has_disconnector
boolean (Has disconnector)

indicates if the meter device has a disconnector

disconnector_status
integer (Disconnector status) Nullable
Enum:0 1 2

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "network_interface_info": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-devices_partial_update

patch /metering/meter-devices/{id}
/v1/metering/metering/meter-devices/{id}

Partially updates a single MeterDevice

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device.

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
name
required
string (Unique name or identification) [ 1 .. 50 ] characters
external_system_reference
string (External system reference) <= 50 characters Nullable
manufacturer_serial
string (Serial number from manufacturer) <= 50 characters Nullable
protocol
required
string (Communication protocol)
Enum:"dlms-cosem" "iec62056-21" "i-flag" "mbus" "modbus" "lis-200"
iec62056_21_address
string (IEC62056-21 meter address) <= 8 characters Nullable

Only used for IEC62056-21 communication

dlms_logical_device_name
string (DLMS Logical Device Name) <= 32 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

dlms_system_title
string (DLMS System Title) <= 16 characters Nullable ^[abcdefABCDEF1234567890]*$

Only used for DLMS communication

type
string <uuid> (Type) Nullable
task_groups
Array of string <uuid> (AMR Task Groups)

Choose AMR Task Groups the meter device should be a part of.

meter_tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that are just for this meter device.

network_interface
string <uuid> (Network interface) Nullable
has_current_transformer
boolean (Has current transformer)

Indicates if the meter has a current transformer in its measurement loop.

current_transformer_ratio
integer (Current transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the current transformer, Ex: 150/5 = 30

has_voltage_transformer
boolean (Has voltage transformer)

Indicates if the meter has a voltage transformer in its measurement loop.

voltage_transformer_ratio
integer (Voltage transformer ratio) [ -2147483648 .. 2147483647 ]

The ratio of the voltage transformer, Ex: 150/5 = 30

has_disconnector
boolean (Has disconnector)

indicates if the meter device has a disconnector

disconnector_status
integer (Disconnector status) Nullable
Enum:0 1 2

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "external_system_reference": "string",
  • "manufacturer_serial": "string",
  • "protocol": "dlms-cosem",
  • "iec62056_21_address": "string",
  • "dlms_logical_device_name": "string",
  • "dlms_system_title": "string",
  • "type": "string",
  • "task_groups":
    [
    ],
  • "meter_tasks":
    [
    ],
  • "network_interface": "string",
  • "network_interface_info": "string",
  • "has_current_transformer": true,
  • "current_transformer_ratio": -2147483648,
  • "has_voltage_transformer": true,
  • "voltage_transformer_ratio": -2147483648,
  • "has_disconnector": true,
  • "disconnector_status": 0,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-devices_delete

delete /metering/meter-devices/{id}
/v1/metering/metering/meter-devices/{id}

Deletes a single MeterDevice

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device.

Responses

204

No Content

Network Interfaces

Operations on Network Interfaces.

Network Interfaces

A NetworkInterface is an object holding information needed for communication to a meter device. You can connect SIM cards to a network interface. Several meter devices can share the same network interface, for example an MBus gateway. It is also possbile for several network interfaces to share the same SIM Card, for example if using the same IP/SIM-card but different devices are under different ports. Then each meter device would have its own network interface specifiying the port but they would all share the same SIM Card to get the IP address.

Some network interfaces only allows for one open connection and when the network interface is used by communication software we want to make sure that no other job is trying to communicate with the meter devcice. This is done by blocking the network interface. When the communication is done the network interface should be unblocked so that other jobs can connect to it.

Tips: The host parameter is only returned in responses and will contain the following data:

  1. FQDN. If a meter has a DNS compliant name attached to it we assume we want to use that firstly
  2. Static IP Address. If no FQDN is set on the meter it will return the static ip address associated with it.
  3. IP of SIM Card. If no static ip address or FQDN is set the meter will return the IP of the SIM Card attached to it.

metering_network-interfaces_list

get /metering/network-interfaces
/v1/metering/metering/network-interfaces

returns list of NetworkInterfaces

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_network-interfaces_create

post /metering/network-interfaces
/v1/metering/metering/network-interfaces

Create a new Network Interface

Request Body schema: application/json
organization
required
string <uuid> (Organization)
static_ip_address
string (Static IP address) non-empty Nullable

Will override any IP that might be incurred from SIM. Could be used on physical connections such as LAN or when not storing SIMs in Utilitarian.

fqdn
string (FQDN) <= 200 characters Nullable

Will override any set IP and use DNS to lookup IP of meters. Ex: meter098765.mydomain.com .

port
integer (Port) [ 0 .. 2147483647 ] Nullable

Port used for IP communication.

sim
string <uuid> (Sim) Nullable
can_block
boolean (Can block)

It is possible to block the network interface.

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "static_ip_address": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "static_ip_address": "string",
  • "host": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true,
  • "is_blocked": true,
  • "block_time": "2020-01-20T15:54:22Z",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_network-interfaces_read

get /metering/network-interfaces/{id}
/v1/metering/metering/network-interfaces/{id}

Returns a single NetworkInterface

path Parameters
id
required
string <uuid>

A UUID string identifying this network interface.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "static_ip_address": "string",
  • "host": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true,
  • "is_blocked": true,
  • "block_time": "2020-01-20T15:54:22Z",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_network-interfaces_update

put /metering/network-interfaces/{id}
/v1/metering/metering/network-interfaces/{id}

Updates a single Network Interface

path Parameters
id
required
string <uuid>

A UUID string identifying this network interface.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
static_ip_address
string (Static IP address) non-empty Nullable

Will override any IP that might be incurred from SIM. Could be used on physical connections such as LAN or when not storing SIMs in Utilitarian.

fqdn
string (FQDN) <= 200 characters Nullable

Will override any set IP and use DNS to lookup IP of meters. Ex: meter098765.mydomain.com .

port
integer (Port) [ 0 .. 2147483647 ] Nullable

Port used for IP communication.

sim
string <uuid> (Sim) Nullable
can_block
boolean (Can block)

It is possible to block the network interface.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "static_ip_address": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "static_ip_address": "string",
  • "host": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true,
  • "is_blocked": true,
  • "block_time": "2020-01-20T15:54:22Z",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_network-interfaces_partial_update

patch /metering/network-interfaces/{id}
/v1/metering/metering/network-interfaces/{id}

Partially updates a single Network Interface

path Parameters
id
required
string <uuid>

A UUID string identifying this network interface.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
static_ip_address
string (Static IP address) non-empty Nullable

Will override any IP that might be incurred from SIM. Could be used on physical connections such as LAN or when not storing SIMs in Utilitarian.

fqdn
string (FQDN) <= 200 characters Nullable

Will override any set IP and use DNS to lookup IP of meters. Ex: meter098765.mydomain.com .

port
integer (Port) [ 0 .. 2147483647 ] Nullable

Port used for IP communication.

sim
string <uuid> (Sim) Nullable
can_block
boolean (Can block)

It is possible to block the network interface.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "static_ip_address": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "static_ip_address": "string",
  • "host": "string",
  • "fqdn": "string",
  • "port": 0,
  • "sim": "string",
  • "can_block": true,
  • "is_blocked": true,
  • "block_time": "2020-01-20T15:54:22Z",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_network-interfaces_delete

delete /metering/network-interfaces/{id}
/v1/metering/metering/network-interfaces/{id}

Deletes a single Network Interface

path Parameters
id
required
string <uuid>

A UUID string identifying this network interface.

Responses

204

No Content

SIM Cards

Operations on SIM Cards

SIM Cards

Utilitarian is focused on IP communication with meters. Many meter have internal or external modems that are used for cellular communications. This require a SIM-card. Many SIM-cards in IoT data plans will give a fixed IP. It is possible to store all your SIM cards in Utiltarian and link them to your meter devices for an easy way of finding the IP for a meter device. If you switch a SIM cards in the field you need to switch it in Utilitarian so that the system can find the meter device.

Tips: It is possible to save a link to the managing software, for example Jasper, of the SIM cards. In future Utilitarian UI this will be rendered as an external link to quickly get access to logs and other SIM cards operations that are not in the scope of Utilitarian.

metering_sim-cards_list

get /metering/sim-cards
/v1/metering/metering/sim-cards

Returns a list of SimCards

query Parameters
iccid
string
imsi
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_sim-cards_create

post /metering/sim-cards
/v1/metering/metering/sim-cards

Creates a new SimCard

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
iccid
required
string (ICCID) [ 1 .. 20 ] characters ^[0123456789]*$
imsi
required
string (IMSI) [ 1 .. 15 ] characters ^[0123456789]*$
ip_address
string (IP address) non-empty Nullable
phone_number
string (Telephone number) [ 1 .. 30 ] characters Nullable
external_system_link
string <uri> (External system link) [ 1 .. 200 ] characters Nullable

Link to external system for management of the SIM

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_sim-cards_read

get /metering/sim-cards/{id}
/v1/metering/metering/sim-cards/{id}

Returns a single SimCard

path Parameters
id
required
string <uuid>

A UUID string identifying this sim card.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_sim-cards_update

put /metering/sim-cards/{id}
/v1/metering/metering/sim-cards/{id}

Updates a single SimCard

path Parameters
id
required
string <uuid>

A UUID string identifying this sim card.

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
iccid
required
string (ICCID) [ 1 .. 20 ] characters ^[0123456789]*$
imsi
required
string (IMSI) [ 1 .. 15 ] characters ^[0123456789]*$
ip_address
string (IP address) non-empty Nullable
phone_number
string (Telephone number) [ 1 .. 30 ] characters Nullable
external_system_link
string <uri> (External system link) [ 1 .. 200 ] characters Nullable

Link to external system for management of the SIM

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_sim-cards_partial_update

patch /metering/sim-cards/{id}
/v1/metering/metering/sim-cards/{id}

Partially updates a single SimCard

path Parameters
id
required
string <uuid>

A UUID string identifying this sim card.

Request Body schema: application/json
organization
string <uuid> (Organization) Nullable
iccid
required
string (ICCID) [ 1 .. 20 ] characters ^[0123456789]*$
imsi
required
string (IMSI) [ 1 .. 15 ] characters ^[0123456789]*$
ip_address
string (IP address) non-empty Nullable
phone_number
string (Telephone number) [ 1 .. 30 ] characters Nullable
external_system_link
string <uri> (External system link) [ 1 .. 200 ] characters Nullable

Link to external system for management of the SIM

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "iccid": "string",
  • "imsi": "string",
  • "ip_address": "string",
  • "phone_number": "string",
  • "external_system_link": "http://example.com",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_sim-cards_delete

delete /metering/sim-cards/{id}
/v1/metering/metering/sim-cards/{id}

Deletes a single SimCard

path Parameters
id
required
string <uuid>

A UUID string identifying this sim card.

Responses

204

No Content

Meter Device Types

Operations on Meter Device Types

Meter Device Types

It is possible to have a meter that is of same make and model but differently configured. By adding a different meter type we can have a several different setups of the same manufacturer model.

metering_meter-device-types_list

get /metering/meter-device-types
/v1/metering/metering/meter-device-types

Returns a list of MeterDeviceTypess

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-device-types_create

post /metering/meter-device-types
/v1/metering/metering/meter-device-types

Creates a MeterDeviceType

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters
description
string (Description) <= 500 characters
manufacturer
required
string (Manufacturer name) [ 1 .. 100 ] characters
manufacturer_model
required
string (Manufacturer model name) [ 1 .. 50 ] characters
config
string <uuid> (Config) Nullable

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-types_read

get /metering/meter-device-types/{id}
/v1/metering/metering/meter-device-types/{id}

Returns a single MeterDeviceType

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device type.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-types_update

put /metering/meter-device-types/{id}
/v1/metering/metering/meter-device-types/{id}

Updates a single MeterDeviceType

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device type.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters
description
string (Description) <= 500 characters
manufacturer
required
string (Manufacturer name) [ 1 .. 100 ] characters
manufacturer_model
required
string (Manufacturer model name) [ 1 .. 50 ] characters
config
string <uuid> (Config) Nullable

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-types_partial_update

patch /metering/meter-device-types/{id}
/v1/metering/metering/meter-device-types/{id}

Partially updates a single MeterDeviceType

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device type.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters
description
string (Description) <= 500 characters
manufacturer
required
string (Manufacturer name) [ 1 .. 100 ] characters
manufacturer_model
required
string (Manufacturer model name) [ 1 .. 50 ] characters
config
string <uuid> (Config) Nullable

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "manufacturer": "string",
  • "manufacturer_model": "string",
  • "config": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-types_delete

delete /metering/meter-device-types/{id}
/v1/metering/metering/meter-device-types/{id}

Deletes a single MeterDeviceType

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device type.

Responses

204

No Content

Meter Device Configs

Operations on Meter Device Configs

Meter Device Configs

A Meter Device Config stores the configurations of a Meter Device Type. As of now this stores mainly what MeteringSeries it has. The metering series list is used to validate if a meter reading from a meter device is allowed to be saved.

The plan later on is have information about what, for example COSEM objects a meter has, or what MBus Vifes etc the meter has. For example can an IDIS complient meter share configuration with other meters of different make. An OMS compliant Mbus meter can also share configuration between different manufacturers.

metering_meter-device-configs_list

get /metering/meter-device-configs
/v1/metering/metering/meter-device-configs

Returns a list of MeterDeviceConfigs

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-device-configs_create

post /metering/meter-device-configs
/v1/metering/metering/meter-device-configs

Creates a MeterDeviceConfig

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Device config name) [ 1 .. 50 ] characters
series
required
Array of string <uuid> (Meter Reading Series)

Choose meter readings series that will be allowed for this meter device config.

timezone
string (Meter timezone)
Enum:"Africa/Abidjan" "Africa/Accra" "Africa/Addis_Ababa" "Africa/Algiers" "Africa/Asmara" "Africa/Asmera" "Africa/Bamako" "Africa/Bangui" "Africa/Banjul" "Africa/Bissau" "Africa/Blantyre" "Africa/Brazzaville" "Africa/Bujumbura" "Africa/Cairo" "Africa/Casablanca" "Africa/Ceuta" "Africa/Conakry" "Africa/Dakar" "Africa/Dar_es_Salaam" "Africa/Djibouti" "Africa/Douala" "Africa/El_Aaiun" "Africa/Freetown" "Africa/Gaborone" "Africa/Harare" "Africa/Johannesburg" "Africa/Juba" "Africa/Kampala" "Africa/Khartoum" "Africa/Kigali" "Africa/Kinshasa" "Africa/Lagos" "Africa/Libreville" "Africa/Lome" "Africa/Luanda" "Africa/Lubumbashi" "Africa/Lusaka" "Africa/Malabo" "Africa/Maputo" "Africa/Maseru" "Africa/Mbabane" "Africa/Mogadishu" "Africa/Monrovia" "Africa/Nairobi" "Africa/Ndjamena" "Africa/Niamey" "Africa/Nouakchott" "Africa/Ouagadougou" "Africa/Porto-Novo" "Africa/Sao_Tome" "Africa/Timbuktu" "Africa/Tripoli" "Africa/Tunis" "Africa/Windhoek" "America/Adak" "America/Anchorage" "America/Anguilla" "America/Antigua" "America/Araguaina" "America/Argentina/Buenos_Aires" "America/Argentina/Catamarca" "America/Argentina/ComodRivadavia" "America/Argentina/Cordoba" "America/Argentina/Jujuy" "America/Argentina/La_Rioja" "America/Argentina/Mendoza" "America/Argentina/Rio_Gallegos" "America/Argentina/Salta" "America/Argentina/San_Juan" "America/Argentina/San_Luis" "America/Argentina/Tucuman" "America/Argentina/Ushuaia" "America/Aruba" "America/Asuncion" "America/Atikokan" "America/Atka" "America/Bahia" "America/Bahia_Banderas" "America/Barbados" "America/Belem" "America/Belize" "America/Blanc-Sablon" "America/Boa_Vista" "America/Bogota" "America/Boise" "America/Buenos_Aires" "America/Cambridge_Bay" "America/Campo_Grande" "America/Cancun" "America/Caracas" "America/Catamarca" "America/Cayenne" "America/Cayman" "America/Chicago" "America/Chihuahua" "America/Coral_Harbour" "America/Cordoba" "America/Costa_Rica" "America/Creston" "America/Cuiaba" "America/Curacao" "America/Danmarkshavn" "America/Dawson" "America/Dawson_Creek" "America/Denver" "America/Detroit" "America/Dominica" "America/Edmonton" "America/Eirunepe" "America/El_Salvador" "America/Ensenada" "America/Fort_Nelson" "America/Fort_Wayne" "America/Fortaleza" "America/Glace_Bay" "America/Godthab" "America/Goose_Bay" "America/Grand_Turk" "America/Grenada" "America/Guadeloupe" "America/Guatemala" "America/Guayaquil" "America/Guyana" "America/Halifax" "America/Havana" "America/Hermosillo" "America/Indiana/Indianapolis" "America/Indiana/Knox" "America/Indiana/Marengo" "America/Indiana/Petersburg" "America/Indiana/Tell_City" "America/Indiana/Vevay" "America/Indiana/Vincennes" "America/Indiana/Winamac" "America/Indianapolis" "America/Inuvik" "America/Iqaluit" "America/Jamaica" "America/Jujuy" "America/Juneau" "America/Kentucky/Louisville" "America/Kentucky/Monticello" "America/Knox_IN" "America/Kralendijk" "America/La_Paz" "America/Lima" "America/Los_Angeles" "America/Louisville" "America/Lower_Princes" "America/Maceio" "America/Managua" "America/Manaus" "America/Marigot" "America/Martinique" "America/Matamoros" "America/Mazatlan" "America/Mendoza" "America/Menominee" "America/Merida" "America/Metlakatla" "America/Mexico_City" "America/Miquelon" "America/Moncton" "America/Monterrey" "America/Montevideo" "America/Montreal" "America/Montserrat" "America/Nassau" "America/New_York" "America/Nipigon" "America/Nome" "America/Noronha" "America/North_Dakota/Beulah" "America/North_Dakota/Center" "America/North_Dakota/New_Salem" "America/Ojinaga" "America/Panama" "America/Pangnirtung" "America/Paramaribo" "America/Phoenix" "America/Port-au-Prince" "America/Port_of_Spain" "America/Porto_Acre" "America/Porto_Velho" "America/Puerto_Rico" "America/Punta_Arenas" "America/Rainy_River" "America/Rankin_Inlet" "America/Recife" "America/Regina" "America/Resolute" "America/Rio_Branco" "America/Rosario" "America/Santa_Isabel" "America/Santarem" "America/Santiago" "America/Santo_Domingo" "America/Sao_Paulo" "America/Scoresbysund" "America/Shiprock" "America/Sitka" "America/St_Barthelemy" "America/St_Johns" "America/St_Kitts" "America/St_Lucia" "America/St_Thomas" "America/St_Vincent" "America/Swift_Current" "America/Tegucigalpa" "America/Thule" "America/Thunder_Bay" "America/Tijuana" "America/Toronto" "America/Tortola" "America/Vancouver" "America/Virgin" "America/Whitehorse" "America/Winnipeg" "America/Yakutat" "America/Yellowknife" "Antarctica/Casey" "Antarctica/Davis" "Antarctica/DumontDUrville" "Antarctica/Macquarie" "Antarctica/Mawson" "Antarctica/McMurdo" "Antarctica/Palmer" "Antarctica/Rothera" "Antarctica/South_Pole" "Antarctica/Syowa" "Antarctica/Troll" "Antarctica/Vostok" "Arctic/Longyearbyen" "Asia/Aden" "Asia/Almaty" "Asia/Amman" "Asia/Anadyr" "Asia/Aqtau" "Asia/Aqtobe" "Asia/Ashgabat" "Asia/Ashkhabad" "Asia/Atyrau" "Asia/Baghdad" "Asia/Bahrain" "Asia/Baku" "Asia/Bangkok" "Asia/Barnaul" "Asia/Beirut" "Asia/Bishkek" "Asia/Brunei" "Asia/Calcutta" "Asia/Chita" "Asia/Choibalsan" "Asia/Chongqing" "Asia/Chungking" "Asia/Colombo" "Asia/Dacca" "Asia/Damascus" "Asia/Dhaka" "Asia/Dili" "Asia/Dubai" "Asia/Dushanbe" "Asia/Famagusta" "Asia/Gaza" "Asia/Hanoi" "Asia/Harbin" "Asia/Hebron" "Asia/Ho_Chi_Minh" "Asia/Hong_Kong" "Asia/Hovd" "Asia/Irkutsk" "Asia/Istanbul" "Asia/Jakarta" "Asia/Jayapura" "Asia/Jerusalem" "Asia/Kabul" "Asia/Kamchatka" "Asia/Karachi" "Asia/Kashgar" "Asia/Kathmandu" "Asia/Katmandu" "Asia/Khandyga" "Asia/Kolkata" "Asia/Krasnoyarsk" "Asia/Kuala_Lumpur" "Asia/Kuching" "Asia/Kuwait" "Asia/Macao" "Asia/Macau" "Asia/Magadan" "Asia/Makassar" "Asia/Manila" "Asia/Muscat" "Asia/Nicosia" "Asia/Novokuznetsk" "Asia/Novosibirsk" "Asia/Omsk" "Asia/Oral" "Asia/Phnom_Penh" "Asia/Pontianak" "Asia/Pyongyang" "Asia/Qatar" "Asia/Qostanay" "Asia/Qyzylorda" "Asia/Rangoon" "Asia/Riyadh" "Asia/Saigon" "Asia/Sakhalin" "Asia/Samarkand" "Asia/Seoul" "Asia/Shanghai" "Asia/Singapore" "Asia/Srednekolymsk" "Asia/Taipei" "Asia/Tashkent" "Asia/Tbilisi" "Asia/Tehran" "Asia/Tel_Aviv" "Asia/Thimbu" "Asia/Thimphu" "Asia/Tokyo" "Asia/Tomsk" "Asia/Ujung_Pandang" "Asia/Ulaanbaatar" "Asia/Ulan_Bator" "Asia/Urumqi" "Asia/Ust-Nera" "Asia/Vientiane" "Asia/Vladivostok" "Asia/Yakutsk" "Asia/Yangon" "Asia/Yekaterinburg" "Asia/Yerevan" "Atlantic/Azores" "Atlantic/Bermuda" "Atlantic/Canary" "Atlantic/Cape_Verde" "Atlantic/Faeroe" "Atlantic/Faroe" "Atlantic/Jan_Mayen" "Atlantic/Madeira" "Atlantic/Reykjavik" "Atlantic/South_Georgia" "Atlantic/St_Helena" "Atlantic/Stanley" "Australia/ACT" "Australia/Adelaide" "Australia/Brisbane" "Australia/Broken_Hill" "Australia/Canberra" "Australia/Currie" "Australia/Darwin" "Australia/Eucla" "Australia/Hobart" "Australia/LHI" "Australia/Lindeman" "Australia/Lord_Howe" "Australia/Melbourne" "Australia/NSW" "Australia/North" "Australia/Perth" "Australia/Queensland" "Australia/South" "Australia/Sydney" "Australia/Tasmania" "Australia/Victoria" "Australia/West" "Australia/Yancowinna" "Brazil/Acre" "Brazil/DeNoronha" "Brazil/East" "Brazil/West" "CET" "CST6CDT" "Canada/Atlantic" "Canada/Central" "Canada/Eastern" "Canada/Mountain" "Canada/Newfoundland" "Canada/Pacific" "Canada/Saskatchewan" "Canada/Yukon" "Chile/Continental" "Chile/EasterIsland" "Cuba" "EET" "EST" "EST5EDT" "Egypt" "Eire" "Etc/GMT" "Etc/GMT+0" "Etc/GMT+1" "Etc/GMT+10" "Etc/GMT+11" "Etc/GMT+12" "Etc/GMT+2" "Etc/GMT+3" "Etc/GMT+4" "Etc/GMT+5" "Etc/GMT+6" "Etc/GMT+7" "Etc/GMT+8" "Etc/GMT+9" "Etc/GMT-0" "Etc/GMT-1" "Etc/GMT-10" "Etc/GMT-11" "Etc/GMT-12" "Etc/GMT-13" "Etc/GMT-14" "Etc/GMT-2" "Etc/GMT-3" "Etc/GMT-4" "Etc/GMT-5" "Etc/GMT-6" "Etc/GMT-7" "Etc/GMT-8" "Etc/GMT-9" "Etc/GMT0" "Etc/Greenwich" "Etc/UCT" "Etc/UTC" "Etc/Universal" "Etc/Zulu" "Europe/Amsterdam" "Europe/Andorra" "Europe/Astrakhan" "Europe/Athens" "Europe/Belfast" "Europe/Belgrade" "Europe/Berlin" "Europe/Bratislava" "Europe/Brussels" "Europe/Bucharest" "Europe/Budapest" "Europe/Busingen" "Europe/Chisinau" "Europe/Copenhagen" "Europe/Dublin" "Europe/Gibraltar" "Europe/Guernsey" "Europe/Helsinki" "Europe/Isle_of_Man" "Europe/Istanbul" "Europe/Jersey" "Europe/Kaliningrad" "Europe/Kiev" "Europe/Kirov" "Europe/Lisbon" "Europe/Ljubljana" "Europe/London" "Europe/Luxembourg" "Europe/Madrid" "Europe/Malta" "Europe/Mariehamn" "Europe/Minsk" "Europe/Monaco" "Europe/Moscow" "Europe/Nicosia" "Europe/Oslo" "Europe/Paris" "Europe/Podgorica" "Europe/Prague" "Europe/Riga" "Europe/Rome" "Europe/Samara" "Europe/San_Marino" "Europe/Sarajevo" "Europe/Saratov" "Europe/Simferopol" "Europe/Skopje" "Europe/Sofia" "Europe/Stockholm" "Europe/Tallinn" "Europe/Tirane" "Europe/Tiraspol" "Europe/Ulyanovsk" "Europe/Uzhgorod" "Europe/Vaduz" "Europe/Vatican" "Europe/Vienna" "Europe/Vilnius" "Europe/Volgograd" "Europe/Warsaw" "Europe/Zagreb" "Europe/Zaporozhye" "Europe/Zurich" "Factory" "GB" "GB-Eire" "GMT" "GMT+0" "GMT-0" "GMT0" "Greenwich" "HST" "Hongkong" "Iceland" "Indian/Antananarivo" "Indian/Chagos" "Indian/Christmas" "Indian/Cocos" "Indian/Comoro" "Indian/Kerguelen" "Indian/Mahe" "Indian/Maldives" "Indian/Mauritius" "Indian/Mayotte" "Indian/Reunion" "Iran" "Israel" "Jamaica" "Japan" "Kwajalein" "Libya" "MET" "MST" "MST7MDT" "Mexico/BajaNorte" "Mexico/BajaSur" "Mexico/General" "NZ" "NZ-CHAT" "Navajo" "PRC" "PST8PDT" "Pacific/Apia" "Pacific/Auckland" "Pacific/Bougainville" "Pacific/Chatham" "Pacific/Chuuk" "Pacific/Easter" "Pacific/Efate" "Pacific/Enderbury" "Pacific/Fakaofo" "Pacific/Fiji" "Pacific/Funafuti" "Pacific/Galapagos" "Pacific/Gambier" "Pacific/Guadalcanal" "Pacific/Guam" "Pacific/Honolulu" "Pacific/Johnston" "Pacific/Kiritimati" "Pacific/Kosrae" "Pacific/Kwajalein" "Pacific/Majuro" "Pacific/Marquesas" "Pacific/Midway" "Pacific/Nauru" "Pacific/Niue" "Pacific/Norfolk" "Pacific/Noumea" "Pacific/Pago_Pago" "Pacific/Palau" "Pacific/Pitcairn" "Pacific/Pohnpei" "Pacific/Ponape" "Pacific/Port_Moresby" "Pacific/Rarotonga" "Pacific/Saipan" "Pacific/Samoa" "Pacific/Tahiti" "Pacific/Tarawa" "Pacific/Tongatapu" "Pacific/Truk" "Pacific/Wake" "Pacific/Wallis" "Pacific/Yap" "Poland" "Portugal" "ROC" "ROK" "Singapore" "Turkey" "UCT" "US/Alaska" "US/Aleutian" "US/Arizona" "US/Central" "US/East-Indiana" "US/Eastern" "US/Hawaii" "US/Indiana-Starke" "US/Michigan" "US/Mountain" "US/Pacific" "US/Pacific-New" "US/Samoa" "UTC" "Universal" "W-SU" "WET" "Zulu"

Name of timezone the meter operates in. For fixed offset constructed zones (ex. 'Etc/GMT-1') take notise that we are following standard conventions and the sign is inverted. See more at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "timezone": "Africa/Abidjan"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "series_info": "string",
  • "timezone": "Africa/Abidjan",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-configs_read

get /metering/meter-device-configs/{id}
/v1/metering/metering/meter-device-configs/{id}

Returns a single MeterDeviceConfig

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device config.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "series_info": "string",
  • "timezone": "Africa/Abidjan",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-configs_update

put /metering/meter-device-configs/{id}
/v1/metering/metering/meter-device-configs/{id}

Updates a single MeterDeviceConfig

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device config.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Device config name) [ 1 .. 50 ] characters
series
required
Array of string <uuid> (Meter Reading Series)

Choose meter readings series that will be allowed for this meter device config.

timezone
string (Meter timezone)
Enum:"Africa/Abidjan" "Africa/Accra" "Africa/Addis_Ababa" "Africa/Algiers" "Africa/Asmara" "Africa/Asmera" "Africa/Bamako" "Africa/Bangui" "Africa/Banjul" "Africa/Bissau" "Africa/Blantyre" "Africa/Brazzaville" "Africa/Bujumbura" "Africa/Cairo" "Africa/Casablanca" "Africa/Ceuta" "Africa/Conakry" "Africa/Dakar" "Africa/Dar_es_Salaam" "Africa/Djibouti" "Africa/Douala" "Africa/El_Aaiun" "Africa/Freetown" "Africa/Gaborone" "Africa/Harare" "Africa/Johannesburg" "Africa/Juba" "Africa/Kampala" "Africa/Khartoum" "Africa/Kigali" "Africa/Kinshasa" "Africa/Lagos" "Africa/Libreville" "Africa/Lome" "Africa/Luanda" "Africa/Lubumbashi" "Africa/Lusaka" "Africa/Malabo" "Africa/Maputo" "Africa/Maseru" "Africa/Mbabane" "Africa/Mogadishu" "Africa/Monrovia" "Africa/Nairobi" "Africa/Ndjamena" "Africa/Niamey" "Africa/Nouakchott" "Africa/Ouagadougou" "Africa/Porto-Novo" "Africa/Sao_Tome" "Africa/Timbuktu" "Africa/Tripoli" "Africa/Tunis" "Africa/Windhoek" "America/Adak" "America/Anchorage" "America/Anguilla" "America/Antigua" "America/Araguaina" "America/Argentina/Buenos_Aires" "America/Argentina/Catamarca" "America/Argentina/ComodRivadavia" "America/Argentina/Cordoba" "America/Argentina/Jujuy" "America/Argentina/La_Rioja" "America/Argentina/Mendoza" "America/Argentina/Rio_Gallegos" "America/Argentina/Salta" "America/Argentina/San_Juan" "America/Argentina/San_Luis" "America/Argentina/Tucuman" "America/Argentina/Ushuaia" "America/Aruba" "America/Asuncion" "America/Atikokan" "America/Atka" "America/Bahia" "America/Bahia_Banderas" "America/Barbados" "America/Belem" "America/Belize" "America/Blanc-Sablon" "America/Boa_Vista" "America/Bogota" "America/Boise" "America/Buenos_Aires" "America/Cambridge_Bay" "America/Campo_Grande" "America/Cancun" "America/Caracas" "America/Catamarca" "America/Cayenne" "America/Cayman" "America/Chicago" "America/Chihuahua" "America/Coral_Harbour" "America/Cordoba" "America/Costa_Rica" "America/Creston" "America/Cuiaba" "America/Curacao" "America/Danmarkshavn" "America/Dawson" "America/Dawson_Creek" "America/Denver" "America/Detroit" "America/Dominica" "America/Edmonton" "America/Eirunepe" "America/El_Salvador" "America/Ensenada" "America/Fort_Nelson" "America/Fort_Wayne" "America/Fortaleza" "America/Glace_Bay" "America/Godthab" "America/Goose_Bay" "America/Grand_Turk" "America/Grenada" "America/Guadeloupe" "America/Guatemala" "America/Guayaquil" "America/Guyana" "America/Halifax" "America/Havana" "America/Hermosillo" "America/Indiana/Indianapolis" "America/Indiana/Knox" "America/Indiana/Marengo" "America/Indiana/Petersburg" "America/Indiana/Tell_City" "America/Indiana/Vevay" "America/Indiana/Vincennes" "America/Indiana/Winamac" "America/Indianapolis" "America/Inuvik" "America/Iqaluit" "America/Jamaica" "America/Jujuy" "America/Juneau" "America/Kentucky/Louisville" "America/Kentucky/Monticello" "America/Knox_IN" "America/Kralendijk" "America/La_Paz" "America/Lima" "America/Los_Angeles" "America/Louisville" "America/Lower_Princes" "America/Maceio" "America/Managua" "America/Manaus" "America/Marigot" "America/Martinique" "America/Matamoros" "America/Mazatlan" "America/Mendoza" "America/Menominee" "America/Merida" "America/Metlakatla" "America/Mexico_City" "America/Miquelon" "America/Moncton" "America/Monterrey" "America/Montevideo" "America/Montreal" "America/Montserrat" "America/Nassau" "America/New_York" "America/Nipigon" "America/Nome" "America/Noronha" "America/North_Dakota/Beulah" "America/North_Dakota/Center" "America/North_Dakota/New_Salem" "America/Ojinaga" "America/Panama" "America/Pangnirtung" "America/Paramaribo" "America/Phoenix" "America/Port-au-Prince" "America/Port_of_Spain" "America/Porto_Acre" "America/Porto_Velho" "America/Puerto_Rico" "America/Punta_Arenas" "America/Rainy_River" "America/Rankin_Inlet" "America/Recife" "America/Regina" "America/Resolute" "America/Rio_Branco" "America/Rosario" "America/Santa_Isabel" "America/Santarem" "America/Santiago" "America/Santo_Domingo" "America/Sao_Paulo" "America/Scoresbysund" "America/Shiprock" "America/Sitka" "America/St_Barthelemy" "America/St_Johns" "America/St_Kitts" "America/St_Lucia" "America/St_Thomas" "America/St_Vincent" "America/Swift_Current" "America/Tegucigalpa" "America/Thule" "America/Thunder_Bay" "America/Tijuana" "America/Toronto" "America/Tortola" "America/Vancouver" "America/Virgin" "America/Whitehorse" "America/Winnipeg" "America/Yakutat" "America/Yellowknife" "Antarctica/Casey" "Antarctica/Davis" "Antarctica/DumontDUrville" "Antarctica/Macquarie" "Antarctica/Mawson" "Antarctica/McMurdo" "Antarctica/Palmer" "Antarctica/Rothera" "Antarctica/South_Pole" "Antarctica/Syowa" "Antarctica/Troll" "Antarctica/Vostok" "Arctic/Longyearbyen" "Asia/Aden" "Asia/Almaty" "Asia/Amman" "Asia/Anadyr" "Asia/Aqtau" "Asia/Aqtobe" "Asia/Ashgabat" "Asia/Ashkhabad" "Asia/Atyrau" "Asia/Baghdad" "Asia/Bahrain" "Asia/Baku" "Asia/Bangkok" "Asia/Barnaul" "Asia/Beirut" "Asia/Bishkek" "Asia/Brunei" "Asia/Calcutta" "Asia/Chita" "Asia/Choibalsan" "Asia/Chongqing" "Asia/Chungking" "Asia/Colombo" "Asia/Dacca" "Asia/Damascus" "Asia/Dhaka" "Asia/Dili" "Asia/Dubai" "Asia/Dushanbe" "Asia/Famagusta" "Asia/Gaza" "Asia/Hanoi" "Asia/Harbin" "Asia/Hebron" "Asia/Ho_Chi_Minh" "Asia/Hong_Kong" "Asia/Hovd" "Asia/Irkutsk" "Asia/Istanbul" "Asia/Jakarta" "Asia/Jayapura" "Asia/Jerusalem" "Asia/Kabul" "Asia/Kamchatka" "Asia/Karachi" "Asia/Kashgar" "Asia/Kathmandu" "Asia/Katmandu" "Asia/Khandyga" "Asia/Kolkata" "Asia/Krasnoyarsk" "Asia/Kuala_Lumpur" "Asia/Kuching" "Asia/Kuwait" "Asia/Macao" "Asia/Macau" "Asia/Magadan" "Asia/Makassar" "Asia/Manila" "Asia/Muscat" "Asia/Nicosia" "Asia/Novokuznetsk" "Asia/Novosibirsk" "Asia/Omsk" "Asia/Oral" "Asia/Phnom_Penh" "Asia/Pontianak" "Asia/Pyongyang" "Asia/Qatar" "Asia/Qostanay" "Asia/Qyzylorda" "Asia/Rangoon" "Asia/Riyadh" "Asia/Saigon" "Asia/Sakhalin" "Asia/Samarkand" "Asia/Seoul" "Asia/Shanghai" "Asia/Singapore" "Asia/Srednekolymsk" "Asia/Taipei" "Asia/Tashkent" "Asia/Tbilisi" "Asia/Tehran" "Asia/Tel_Aviv" "Asia/Thimbu" "Asia/Thimphu" "Asia/Tokyo" "Asia/Tomsk" "Asia/Ujung_Pandang" "Asia/Ulaanbaatar" "Asia/Ulan_Bator" "Asia/Urumqi" "Asia/Ust-Nera" "Asia/Vientiane" "Asia/Vladivostok" "Asia/Yakutsk" "Asia/Yangon" "Asia/Yekaterinburg" "Asia/Yerevan" "Atlantic/Azores" "Atlantic/Bermuda" "Atlantic/Canary" "Atlantic/Cape_Verde" "Atlantic/Faeroe" "Atlantic/Faroe" "Atlantic/Jan_Mayen" "Atlantic/Madeira" "Atlantic/Reykjavik" "Atlantic/South_Georgia" "Atlantic/St_Helena" "Atlantic/Stanley" "Australia/ACT" "Australia/Adelaide" "Australia/Brisbane" "Australia/Broken_Hill" "Australia/Canberra" "Australia/Currie" "Australia/Darwin" "Australia/Eucla" "Australia/Hobart" "Australia/LHI" "Australia/Lindeman" "Australia/Lord_Howe" "Australia/Melbourne" "Australia/NSW" "Australia/North" "Australia/Perth" "Australia/Queensland" "Australia/South" "Australia/Sydney" "Australia/Tasmania" "Australia/Victoria" "Australia/West" "Australia/Yancowinna" "Brazil/Acre" "Brazil/DeNoronha" "Brazil/East" "Brazil/West" "CET" "CST6CDT" "Canada/Atlantic" "Canada/Central" "Canada/Eastern" "Canada/Mountain" "Canada/Newfoundland" "Canada/Pacific" "Canada/Saskatchewan" "Canada/Yukon" "Chile/Continental" "Chile/EasterIsland" "Cuba" "EET" "EST" "EST5EDT" "Egypt" "Eire" "Etc/GMT" "Etc/GMT+0" "Etc/GMT+1" "Etc/GMT+10" "Etc/GMT+11" "Etc/GMT+12" "Etc/GMT+2" "Etc/GMT+3" "Etc/GMT+4" "Etc/GMT+5" "Etc/GMT+6" "Etc/GMT+7" "Etc/GMT+8" "Etc/GMT+9" "Etc/GMT-0" "Etc/GMT-1" "Etc/GMT-10" "Etc/GMT-11" "Etc/GMT-12" "Etc/GMT-13" "Etc/GMT-14" "Etc/GMT-2" "Etc/GMT-3" "Etc/GMT-4" "Etc/GMT-5" "Etc/GMT-6" "Etc/GMT-7" "Etc/GMT-8" "Etc/GMT-9" "Etc/GMT0" "Etc/Greenwich" "Etc/UCT" "Etc/UTC" "Etc/Universal" "Etc/Zulu" "Europe/Amsterdam" "Europe/Andorra" "Europe/Astrakhan" "Europe/Athens" "Europe/Belfast" "Europe/Belgrade" "Europe/Berlin" "Europe/Bratislava" "Europe/Brussels" "Europe/Bucharest" "Europe/Budapest" "Europe/Busingen" "Europe/Chisinau" "Europe/Copenhagen" "Europe/Dublin" "Europe/Gibraltar" "Europe/Guernsey" "Europe/Helsinki" "Europe/Isle_of_Man" "Europe/Istanbul" "Europe/Jersey" "Europe/Kaliningrad" "Europe/Kiev" "Europe/Kirov" "Europe/Lisbon" "Europe/Ljubljana" "Europe/London" "Europe/Luxembourg" "Europe/Madrid" "Europe/Malta" "Europe/Mariehamn" "Europe/Minsk" "Europe/Monaco" "Europe/Moscow" "Europe/Nicosia" "Europe/Oslo" "Europe/Paris" "Europe/Podgorica" "Europe/Prague" "Europe/Riga" "Europe/Rome" "Europe/Samara" "Europe/San_Marino" "Europe/Sarajevo" "Europe/Saratov" "Europe/Simferopol" "Europe/Skopje" "Europe/Sofia" "Europe/Stockholm" "Europe/Tallinn" "Europe/Tirane" "Europe/Tiraspol" "Europe/Ulyanovsk" "Europe/Uzhgorod" "Europe/Vaduz" "Europe/Vatican" "Europe/Vienna" "Europe/Vilnius" "Europe/Volgograd" "Europe/Warsaw" "Europe/Zagreb" "Europe/Zaporozhye" "Europe/Zurich" "Factory" "GB" "GB-Eire" "GMT" "GMT+0" "GMT-0" "GMT0" "Greenwich" "HST" "Hongkong" "Iceland" "Indian/Antananarivo" "Indian/Chagos" "Indian/Christmas" "Indian/Cocos" "Indian/Comoro" "Indian/Kerguelen" "Indian/Mahe" "Indian/Maldives" "Indian/Mauritius" "Indian/Mayotte" "Indian/Reunion" "Iran" "Israel" "Jamaica" "Japan" "Kwajalein" "Libya" "MET" "MST" "MST7MDT" "Mexico/BajaNorte" "Mexico/BajaSur" "Mexico/General" "NZ" "NZ-CHAT" "Navajo" "PRC" "PST8PDT" "Pacific/Apia" "Pacific/Auckland" "Pacific/Bougainville" "Pacific/Chatham" "Pacific/Chuuk" "Pacific/Easter" "Pacific/Efate" "Pacific/Enderbury" "Pacific/Fakaofo" "Pacific/Fiji" "Pacific/Funafuti" "Pacific/Galapagos" "Pacific/Gambier" "Pacific/Guadalcanal" "Pacific/Guam" "Pacific/Honolulu" "Pacific/Johnston" "Pacific/Kiritimati" "Pacific/Kosrae" "Pacific/Kwajalein" "Pacific/Majuro" "Pacific/Marquesas" "Pacific/Midway" "Pacific/Nauru" "Pacific/Niue" "Pacific/Norfolk" "Pacific/Noumea" "Pacific/Pago_Pago" "Pacific/Palau" "Pacific/Pitcairn" "Pacific/Pohnpei" "Pacific/Ponape" "Pacific/Port_Moresby" "Pacific/Rarotonga" "Pacific/Saipan" "Pacific/Samoa" "Pacific/Tahiti" "Pacific/Tarawa" "Pacific/Tongatapu" "Pacific/Truk" "Pacific/Wake" "Pacific/Wallis" "Pacific/Yap" "Poland" "Portugal" "ROC" "ROK" "Singapore" "Turkey" "UCT" "US/Alaska" "US/Aleutian" "US/Arizona" "US/Central" "US/East-Indiana" "US/Eastern" "US/Hawaii" "US/Indiana-Starke" "US/Michigan" "US/Mountain" "US/Pacific" "US/Pacific-New" "US/Samoa" "UTC" "Universal" "W-SU" "WET" "Zulu"

Name of timezone the meter operates in. For fixed offset constructed zones (ex. 'Etc/GMT-1') take notise that we are following standard conventions and the sign is inverted. See more at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "timezone": "Africa/Abidjan"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "series_info": "string",
  • "timezone": "Africa/Abidjan",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-configs_partial_update

patch /metering/meter-device-configs/{id}
/v1/metering/metering/meter-device-configs/{id}

Partially updates a single MeterDeviceConfig

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device config.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Device config name) [ 1 .. 50 ] characters
series
required
Array of string <uuid> (Meter Reading Series)

Choose meter readings series that will be allowed for this meter device config.

timezone
string (Meter timezone)
Enum:"Africa/Abidjan" "Africa/Accra" "Africa/Addis_Ababa" "Africa/Algiers" "Africa/Asmara" "Africa/Asmera" "Africa/Bamako" "Africa/Bangui" "Africa/Banjul" "Africa/Bissau" "Africa/Blantyre" "Africa/Brazzaville" "Africa/Bujumbura" "Africa/Cairo" "Africa/Casablanca" "Africa/Ceuta" "Africa/Conakry" "Africa/Dakar" "Africa/Dar_es_Salaam" "Africa/Djibouti" "Africa/Douala" "Africa/El_Aaiun" "Africa/Freetown" "Africa/Gaborone" "Africa/Harare" "Africa/Johannesburg" "Africa/Juba" "Africa/Kampala" "Africa/Khartoum" "Africa/Kigali" "Africa/Kinshasa" "Africa/Lagos" "Africa/Libreville" "Africa/Lome" "Africa/Luanda" "Africa/Lubumbashi" "Africa/Lusaka" "Africa/Malabo" "Africa/Maputo" "Africa/Maseru" "Africa/Mbabane" "Africa/Mogadishu" "Africa/Monrovia" "Africa/Nairobi" "Africa/Ndjamena" "Africa/Niamey" "Africa/Nouakchott" "Africa/Ouagadougou" "Africa/Porto-Novo" "Africa/Sao_Tome" "Africa/Timbuktu" "Africa/Tripoli" "Africa/Tunis" "Africa/Windhoek" "America/Adak" "America/Anchorage" "America/Anguilla" "America/Antigua" "America/Araguaina" "America/Argentina/Buenos_Aires" "America/Argentina/Catamarca" "America/Argentina/ComodRivadavia" "America/Argentina/Cordoba" "America/Argentina/Jujuy" "America/Argentina/La_Rioja" "America/Argentina/Mendoza" "America/Argentina/Rio_Gallegos" "America/Argentina/Salta" "America/Argentina/San_Juan" "America/Argentina/San_Luis" "America/Argentina/Tucuman" "America/Argentina/Ushuaia" "America/Aruba" "America/Asuncion" "America/Atikokan" "America/Atka" "America/Bahia" "America/Bahia_Banderas" "America/Barbados" "America/Belem" "America/Belize" "America/Blanc-Sablon" "America/Boa_Vista" "America/Bogota" "America/Boise" "America/Buenos_Aires" "America/Cambridge_Bay" "America/Campo_Grande" "America/Cancun" "America/Caracas" "America/Catamarca" "America/Cayenne" "America/Cayman" "America/Chicago" "America/Chihuahua" "America/Coral_Harbour" "America/Cordoba" "America/Costa_Rica" "America/Creston" "America/Cuiaba" "America/Curacao" "America/Danmarkshavn" "America/Dawson" "America/Dawson_Creek" "America/Denver" "America/Detroit" "America/Dominica" "America/Edmonton" "America/Eirunepe" "America/El_Salvador" "America/Ensenada" "America/Fort_Nelson" "America/Fort_Wayne" "America/Fortaleza" "America/Glace_Bay" "America/Godthab" "America/Goose_Bay" "America/Grand_Turk" "America/Grenada" "America/Guadeloupe" "America/Guatemala" "America/Guayaquil" "America/Guyana" "America/Halifax" "America/Havana" "America/Hermosillo" "America/Indiana/Indianapolis" "America/Indiana/Knox" "America/Indiana/Marengo" "America/Indiana/Petersburg" "America/Indiana/Tell_City" "America/Indiana/Vevay" "America/Indiana/Vincennes" "America/Indiana/Winamac" "America/Indianapolis" "America/Inuvik" "America/Iqaluit" "America/Jamaica" "America/Jujuy" "America/Juneau" "America/Kentucky/Louisville" "America/Kentucky/Monticello" "America/Knox_IN" "America/Kralendijk" "America/La_Paz" "America/Lima" "America/Los_Angeles" "America/Louisville" "America/Lower_Princes" "America/Maceio" "America/Managua" "America/Manaus" "America/Marigot" "America/Martinique" "America/Matamoros" "America/Mazatlan" "America/Mendoza" "America/Menominee" "America/Merida" "America/Metlakatla" "America/Mexico_City" "America/Miquelon" "America/Moncton" "America/Monterrey" "America/Montevideo" "America/Montreal" "America/Montserrat" "America/Nassau" "America/New_York" "America/Nipigon" "America/Nome" "America/Noronha" "America/North_Dakota/Beulah" "America/North_Dakota/Center" "America/North_Dakota/New_Salem" "America/Ojinaga" "America/Panama" "America/Pangnirtung" "America/Paramaribo" "America/Phoenix" "America/Port-au-Prince" "America/Port_of_Spain" "America/Porto_Acre" "America/Porto_Velho" "America/Puerto_Rico" "America/Punta_Arenas" "America/Rainy_River" "America/Rankin_Inlet" "America/Recife" "America/Regina" "America/Resolute" "America/Rio_Branco" "America/Rosario" "America/Santa_Isabel" "America/Santarem" "America/Santiago" "America/Santo_Domingo" "America/Sao_Paulo" "America/Scoresbysund" "America/Shiprock" "America/Sitka" "America/St_Barthelemy" "America/St_Johns" "America/St_Kitts" "America/St_Lucia" "America/St_Thomas" "America/St_Vincent" "America/Swift_Current" "America/Tegucigalpa" "America/Thule" "America/Thunder_Bay" "America/Tijuana" "America/Toronto" "America/Tortola" "America/Vancouver" "America/Virgin" "America/Whitehorse" "America/Winnipeg" "America/Yakutat" "America/Yellowknife" "Antarctica/Casey" "Antarctica/Davis" "Antarctica/DumontDUrville" "Antarctica/Macquarie" "Antarctica/Mawson" "Antarctica/McMurdo" "Antarctica/Palmer" "Antarctica/Rothera" "Antarctica/South_Pole" "Antarctica/Syowa" "Antarctica/Troll" "Antarctica/Vostok" "Arctic/Longyearbyen" "Asia/Aden" "Asia/Almaty" "Asia/Amman" "Asia/Anadyr" "Asia/Aqtau" "Asia/Aqtobe" "Asia/Ashgabat" "Asia/Ashkhabad" "Asia/Atyrau" "Asia/Baghdad" "Asia/Bahrain" "Asia/Baku" "Asia/Bangkok" "Asia/Barnaul" "Asia/Beirut" "Asia/Bishkek" "Asia/Brunei" "Asia/Calcutta" "Asia/Chita" "Asia/Choibalsan" "Asia/Chongqing" "Asia/Chungking" "Asia/Colombo" "Asia/Dacca" "Asia/Damascus" "Asia/Dhaka" "Asia/Dili" "Asia/Dubai" "Asia/Dushanbe" "Asia/Famagusta" "Asia/Gaza" "Asia/Hanoi" "Asia/Harbin" "Asia/Hebron" "Asia/Ho_Chi_Minh" "Asia/Hong_Kong" "Asia/Hovd" "Asia/Irkutsk" "Asia/Istanbul" "Asia/Jakarta" "Asia/Jayapura" "Asia/Jerusalem" "Asia/Kabul" "Asia/Kamchatka" "Asia/Karachi" "Asia/Kashgar" "Asia/Kathmandu" "Asia/Katmandu" "Asia/Khandyga" "Asia/Kolkata" "Asia/Krasnoyarsk" "Asia/Kuala_Lumpur" "Asia/Kuching" "Asia/Kuwait" "Asia/Macao" "Asia/Macau" "Asia/Magadan" "Asia/Makassar" "Asia/Manila" "Asia/Muscat" "Asia/Nicosia" "Asia/Novokuznetsk" "Asia/Novosibirsk" "Asia/Omsk" "Asia/Oral" "Asia/Phnom_Penh" "Asia/Pontianak" "Asia/Pyongyang" "Asia/Qatar" "Asia/Qostanay" "Asia/Qyzylorda" "Asia/Rangoon" "Asia/Riyadh" "Asia/Saigon" "Asia/Sakhalin" "Asia/Samarkand" "Asia/Seoul" "Asia/Shanghai" "Asia/Singapore" "Asia/Srednekolymsk" "Asia/Taipei" "Asia/Tashkent" "Asia/Tbilisi" "Asia/Tehran" "Asia/Tel_Aviv" "Asia/Thimbu" "Asia/Thimphu" "Asia/Tokyo" "Asia/Tomsk" "Asia/Ujung_Pandang" "Asia/Ulaanbaatar" "Asia/Ulan_Bator" "Asia/Urumqi" "Asia/Ust-Nera" "Asia/Vientiane" "Asia/Vladivostok" "Asia/Yakutsk" "Asia/Yangon" "Asia/Yekaterinburg" "Asia/Yerevan" "Atlantic/Azores" "Atlantic/Bermuda" "Atlantic/Canary" "Atlantic/Cape_Verde" "Atlantic/Faeroe" "Atlantic/Faroe" "Atlantic/Jan_Mayen" "Atlantic/Madeira" "Atlantic/Reykjavik" "Atlantic/South_Georgia" "Atlantic/St_Helena" "Atlantic/Stanley" "Australia/ACT" "Australia/Adelaide" "Australia/Brisbane" "Australia/Broken_Hill" "Australia/Canberra" "Australia/Currie" "Australia/Darwin" "Australia/Eucla" "Australia/Hobart" "Australia/LHI" "Australia/Lindeman" "Australia/Lord_Howe" "Australia/Melbourne" "Australia/NSW" "Australia/North" "Australia/Perth" "Australia/Queensland" "Australia/South" "Australia/Sydney" "Australia/Tasmania" "Australia/Victoria" "Australia/West" "Australia/Yancowinna" "Brazil/Acre" "Brazil/DeNoronha" "Brazil/East" "Brazil/West" "CET" "CST6CDT" "Canada/Atlantic" "Canada/Central" "Canada/Eastern" "Canada/Mountain" "Canada/Newfoundland" "Canada/Pacific" "Canada/Saskatchewan" "Canada/Yukon" "Chile/Continental" "Chile/EasterIsland" "Cuba" "EET" "EST" "EST5EDT" "Egypt" "Eire" "Etc/GMT" "Etc/GMT+0" "Etc/GMT+1" "Etc/GMT+10" "Etc/GMT+11" "Etc/GMT+12" "Etc/GMT+2" "Etc/GMT+3" "Etc/GMT+4" "Etc/GMT+5" "Etc/GMT+6" "Etc/GMT+7" "Etc/GMT+8" "Etc/GMT+9" "Etc/GMT-0" "Etc/GMT-1" "Etc/GMT-10" "Etc/GMT-11" "Etc/GMT-12" "Etc/GMT-13" "Etc/GMT-14" "Etc/GMT-2" "Etc/GMT-3" "Etc/GMT-4" "Etc/GMT-5" "Etc/GMT-6" "Etc/GMT-7" "Etc/GMT-8" "Etc/GMT-9" "Etc/GMT0" "Etc/Greenwich" "Etc/UCT" "Etc/UTC" "Etc/Universal" "Etc/Zulu" "Europe/Amsterdam" "Europe/Andorra" "Europe/Astrakhan" "Europe/Athens" "Europe/Belfast" "Europe/Belgrade" "Europe/Berlin" "Europe/Bratislava" "Europe/Brussels" "Europe/Bucharest" "Europe/Budapest" "Europe/Busingen" "Europe/Chisinau" "Europe/Copenhagen" "Europe/Dublin" "Europe/Gibraltar" "Europe/Guernsey" "Europe/Helsinki" "Europe/Isle_of_Man" "Europe/Istanbul" "Europe/Jersey" "Europe/Kaliningrad" "Europe/Kiev" "Europe/Kirov" "Europe/Lisbon" "Europe/Ljubljana" "Europe/London" "Europe/Luxembourg" "Europe/Madrid" "Europe/Malta" "Europe/Mariehamn" "Europe/Minsk" "Europe/Monaco" "Europe/Moscow" "Europe/Nicosia" "Europe/Oslo" "Europe/Paris" "Europe/Podgorica" "Europe/Prague" "Europe/Riga" "Europe/Rome" "Europe/Samara" "Europe/San_Marino" "Europe/Sarajevo" "Europe/Saratov" "Europe/Simferopol" "Europe/Skopje" "Europe/Sofia" "Europe/Stockholm" "Europe/Tallinn" "Europe/Tirane" "Europe/Tiraspol" "Europe/Ulyanovsk" "Europe/Uzhgorod" "Europe/Vaduz" "Europe/Vatican" "Europe/Vienna" "Europe/Vilnius" "Europe/Volgograd" "Europe/Warsaw" "Europe/Zagreb" "Europe/Zaporozhye" "Europe/Zurich" "Factory" "GB" "GB-Eire" "GMT" "GMT+0" "GMT-0" "GMT0" "Greenwich" "HST" "Hongkong" "Iceland" "Indian/Antananarivo" "Indian/Chagos" "Indian/Christmas" "Indian/Cocos" "Indian/Comoro" "Indian/Kerguelen" "Indian/Mahe" "Indian/Maldives" "Indian/Mauritius" "Indian/Mayotte" "Indian/Reunion" "Iran" "Israel" "Jamaica" "Japan" "Kwajalein" "Libya" "MET" "MST" "MST7MDT" "Mexico/BajaNorte" "Mexico/BajaSur" "Mexico/General" "NZ" "NZ-CHAT" "Navajo" "PRC" "PST8PDT" "Pacific/Apia" "Pacific/Auckland" "Pacific/Bougainville" "Pacific/Chatham" "Pacific/Chuuk" "Pacific/Easter" "Pacific/Efate" "Pacific/Enderbury" "Pacific/Fakaofo" "Pacific/Fiji" "Pacific/Funafuti" "Pacific/Galapagos" "Pacific/Gambier" "Pacific/Guadalcanal" "Pacific/Guam" "Pacific/Honolulu" "Pacific/Johnston" "Pacific/Kiritimati" "Pacific/Kosrae" "Pacific/Kwajalein" "Pacific/Majuro" "Pacific/Marquesas" "Pacific/Midway" "Pacific/Nauru" "Pacific/Niue" "Pacific/Norfolk" "Pacific/Noumea" "Pacific/Pago_Pago" "Pacific/Palau" "Pacific/Pitcairn" "Pacific/Pohnpei" "Pacific/Ponape" "Pacific/Port_Moresby" "Pacific/Rarotonga" "Pacific/Saipan" "Pacific/Samoa" "Pacific/Tahiti" "Pacific/Tarawa" "Pacific/Tongatapu" "Pacific/Truk" "Pacific/Wake" "Pacific/Wallis" "Pacific/Yap" "Poland" "Portugal" "ROC" "ROK" "Singapore" "Turkey" "UCT" "US/Alaska" "US/Aleutian" "US/Arizona" "US/Central" "US/East-Indiana" "US/Eastern" "US/Hawaii" "US/Indiana-Starke" "US/Michigan" "US/Mountain" "US/Pacific" "US/Pacific-New" "US/Samoa" "UTC" "Universal" "W-SU" "WET" "Zulu"

Name of timezone the meter operates in. For fixed offset constructed zones (ex. 'Etc/GMT-1') take notise that we are following standard conventions and the sign is inverted. See more at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "timezone": "Africa/Abidjan"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "series":
    [
    ],
  • "series_info": "string",
  • "timezone": "Africa/Abidjan",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-device-configs_delete

delete /metering/meter-device-configs/{id}
/v1/metering/metering/meter-device-configs/{id}

Deletes a single MeterDeviceConfig

path Parameters
id
required
string <uuid>

A UUID string identifying this meter device config.

Responses

204

No Content

Meter Reading Series

Operations on Meter Reading Series

Meter Reading Series

A MeterReadingSeries is used for grouping all meter values that should be viewed as a time series of values. It also adds "metadata" about the series so that it is possible to know more about the values contained in it.

In Utilitarian we aim to use OBIS codes as series identifier but there is nothing preventing the use of any identifier for a series. Simple string values like "energy" and "power" could be used or more complex identifiers like from the CIM standard.

Since we might have electricity meters that have current and voltage transformers in their measurement loops we need to specify if the series is affected by either the current transformer and/or the voltage transformer ratio.

metering_meter-reading-series_list

get /metering/meter-reading-series
/v1/metering/metering/meter-reading-series

Returns a list of MeterReadingSeries

query Parameters
name
string
unit
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-reading-series_create

post /metering/meter-reading-series
/v1/metering/metering/meter-reading-series

Create a MeterReadingSeries

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters

Used to group meter readings.

description
string (Description) <= 250 characters
unit
required
string (Unit) [ 1 .. 10 ] characters

Unit characters of the series, ex: kWh

unit_description
string (Unit description) [ 1 .. 250 ] characters Nullable

Longer name of unit or more info about the unit, Ex Celsius or Bar, Atmospheric.

si_multiplier
string <decimal> (SI Multiplier)

Multiplier to get series unit in SI unit. Ex 1 kPa = 1000 * 1 Pa.

affected_by_ct_ratio
boolean (Affected by current transformer ratio)

Indicates if series is affected by the current transformer of the meter. Is used for calculations.

affected_by_vt_ratio
boolean (Affected by voltage transformer ratio)

Indicates if series is affected by the voltage transformer of the meter. Is used in calculations.

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-reading-series_read

get /metering/meter-reading-series/{id}
/v1/metering/metering/meter-reading-series/{id}

Returns a single MeterReadingSeries

path Parameters
id
required
string <uuid>

A UUID string identifying this meter reading series.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-reading-series_update

put /metering/meter-reading-series/{id}
/v1/metering/metering/meter-reading-series/{id}

Updates a single MeterReadingSeries

path Parameters
id
required
string <uuid>

A UUID string identifying this meter reading series.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters

Used to group meter readings.

description
string (Description) <= 250 characters
unit
required
string (Unit) [ 1 .. 10 ] characters

Unit characters of the series, ex: kWh

unit_description
string (Unit description) [ 1 .. 250 ] characters Nullable

Longer name of unit or more info about the unit, Ex Celsius or Bar, Atmospheric.

si_multiplier
string <decimal> (SI Multiplier)

Multiplier to get series unit in SI unit. Ex 1 kPa = 1000 * 1 Pa.

affected_by_ct_ratio
boolean (Affected by current transformer ratio)

Indicates if series is affected by the current transformer of the meter. Is used for calculations.

affected_by_vt_ratio
boolean (Affected by voltage transformer ratio)

Indicates if series is affected by the voltage transformer of the meter. Is used in calculations.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-reading-series_partial_update

patch /metering/meter-reading-series/{id}
/v1/metering/metering/meter-reading-series/{id}

Partially updates a single MeterReadingSeries

path Parameters
id
required
string <uuid>

A UUID string identifying this meter reading series.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 50 ] characters

Used to group meter readings.

description
string (Description) <= 250 characters
unit
required
string (Unit) [ 1 .. 10 ] characters

Unit characters of the series, ex: kWh

unit_description
string (Unit description) [ 1 .. 250 ] characters Nullable

Longer name of unit or more info about the unit, Ex Celsius or Bar, Atmospheric.

si_multiplier
string <decimal> (SI Multiplier)

Multiplier to get series unit in SI unit. Ex 1 kPa = 1000 * 1 Pa.

affected_by_ct_ratio
boolean (Affected by current transformer ratio)

Indicates if series is affected by the current transformer of the meter. Is used for calculations.

affected_by_vt_ratio
boolean (Affected by voltage transformer ratio)

Indicates if series is affected by the voltage transformer of the meter. Is used in calculations.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "unit": "string",
  • "unit_description": "string",
  • "si_multiplier": "string",
  • "affected_by_ct_ratio": true,
  • "affected_by_vt_ratio": true,
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-reading-series_delete

delete /metering/meter-reading-series/{id}
/v1/metering/metering/meter-reading-series/{id}

Deletes a single MeterReadingsSeries

path Parameters
id
required
string <uuid>

A UUID string identifying this meter reading series.

Responses

204

No Content

Meter Readings

Operations on Meter Readings

Meter Readings

Meter Readings are the raw data we receive from meter devices. They are limited to numerical data. Meter Readings table is designed for short term storage of meter values.

metering_meter-readings_list

get /metering/meter-readings
/v1/metering/metering/meter-readings

Returns a list of MeterReadings. Supply both meter_id and series_id in query parameters to get a complete series. Returns a list of only values and timestamps. If the series and meter is omitted the values will be mixed.

query Parameters
meter_device
string
series
string
start_time
string
end_time
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{}

metering_meter-readings_create

post /metering/meter-readings
/v1/metering/metering/meter-readings

Creates a MeterReading

Request Body schema: application/json
organization
required
string <uuid> (Organization)
meter_device
required
string <uuid> (Meter device)
series
required
string <uuid> (Series)
timestamp
required
string <date-time> (Timestamp)

Time when the reading was registered in the meter.

value
required
string <decimal> (Value)

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "meter_device": "string",
  • "series": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "meter_device": "string",
  • "series": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z"
}

metering_meter-readings_read

get /metering/meter-readings/{id}
/v1/metering/metering/meter-readings/{id}

Returns a single MeterReading

path Parameters
id
required
integer

A unique integer value identifying this meter reading.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "meter_device": "string",
  • "series": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z"
}

metering_meter-readings_delete

delete /metering/meter-readings/{id}
/v1/metering/metering/meter-readings/{id}

Deletes a single MeterReading

path Parameters
id
required
integer

A unique integer value identifying this meter reading.

Responses

204

No Content

Staged Meter Readings

Operations on Staged Meter Readings

Staged Meter Readings

Staged Meter Readings are meter readings that when they where received by Utilitarian API did not have a corresponding meter. This might be due to that the meter was set up in the field but was not yet set up in Utilitarian API. To avoid loosing values we save the meter readings for a while and whenever a new meter device is created we will save all staged meter readings as normal meter readings. We also clear the staging table of old values after a set amount of time to make sure the list doesn't grow to large.

metering_staged-meter-readings_list

get /metering/staged-meter-readings
/v1/metering/metering/staged-meter-readings

Returns list of Staged Meter Readings

query Parameters
meter_device_name
string
start_time
string
end_time
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_staged-meter-readings_create

post /metering/staged-meter-readings
/v1/metering/metering/staged-meter-readings

Create a new Staged Meter Readings

Request Body schema: application/json
meter_device_name
required
string (Name of meter device) [ 1 .. 50 ] characters
series_name
required
string (Name of meter reading series) [ 1 .. 50 ] characters
timestamp
required
string <date-time> (Timestamp)

Time when the reading was registered in the meter.

value
required
string <decimal> (Value)

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_staged-meter-readings_read

get /metering/staged-meter-readings/{id}
/v1/metering/metering/staged-meter-readings/{id}

Returns a single Staged Meter Reading

path Parameters
id
required
integer

A unique integer value identifying this staged meter reading.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_staged-meter-readings_update

put /metering/staged-meter-readings/{id}
/v1/metering/metering/staged-meter-readings/{id}

Updates a single Staged Meter Reading

path Parameters
id
required
integer

A unique integer value identifying this staged meter reading.

Request Body schema: application/json
meter_device_name
required
string (Name of meter device) [ 1 .. 50 ] characters
series_name
required
string (Name of meter reading series) [ 1 .. 50 ] characters
timestamp
required
string <date-time> (Timestamp)

Time when the reading was registered in the meter.

value
required
string <decimal> (Value)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_staged-meter-readings_partial_update

patch /metering/staged-meter-readings/{id}
/v1/metering/metering/staged-meter-readings/{id}

Partially updates a single Staged Meter Reading

path Parameters
id
required
integer

A unique integer value identifying this staged meter reading.

Request Body schema: application/json
meter_device_name
required
string (Name of meter device) [ 1 .. 50 ] characters
series_name
required
string (Name of meter reading series) [ 1 .. 50 ] characters
timestamp
required
string <date-time> (Timestamp)

Time when the reading was registered in the meter.

value
required
string <decimal> (Value)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "meter_device_name": "string",
  • "series_name": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "value": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_staged-meter-readings_delete

delete /metering/staged-meter-readings/{id}
/v1/metering/metering/staged-meter-readings/{id}

Deletes a single Staged Meter Reading

path Parameters
id
required
integer

A unique integer value identifying this staged meter reading.

Responses

204

No Content

New Meter Readings

Operation on new meter readings

New Meter Readings

This enpoint is used by the different distributed AMR services that send data. It is not always knows by the external service what the database ID is for meter device or meter readings series. This endpoint will do lookups based on the names of the meter device and meter reading series.

metering_new-meter-readings_create

post /metering/new-meter-readings
/v1/metering/metering/new-meter-readings

Receives Meter Readings, single and in list and will send them to background workers for processing.

Responses

201

Created

Meter System Events

Operations on Meter System Events

Meter System Events

A MeterSystemEvent is some form of event occurring in a MeterDevice. It could be an indication that something is wrong (Alarm) or an just a log entry that the meter switched to summer time.

metering_meter-system-events_list

get /metering/meter-system-events
/v1/metering/metering/meter-system-events

Returns a list of MeterSystemEvents

query Parameters
meter_device
string
start_time
string
end_time
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-system-events_create

post /metering/meter-system-events
/v1/metering/metering/meter-system-events

Creates a MeterSystemEvents

Request Body schema: application/json
organization
required
string <uuid> (Organization)
meter_device
required
string <uuid> (Meter device)
timestamp
required
string <date-time> (Timestamp)

Time when the event was registered in the meter device

title
required
string (Event title) [ 1 .. 50 ] characters
content
required
string (Event content) [ 1 .. 500 ] characters

Additional information about the meter system event.

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "meter_device": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "title": "string",
  • "content": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "meter_device": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "title": "string",
  • "content": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-system-events_read

get /metering/meter-system-events/{id}
/v1/metering/metering/meter-system-events/{id}

Returns a single MeterSystemEvent

path Parameters
id
required
integer

A unique integer value identifying this meter system event.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "meter_device": "string",
  • "timestamp": "2020-01-20T15:54:22Z",
  • "title": "string",
  • "content": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-system-events_delete

delete /metering/meter-system-events/{id}
/v1/metering/metering/meter-system-events/{id}

Deletes a single MeterSystemEvent

path Parameters
id
required
integer

A unique integer value identifying this meter system event.

Responses

204

No Content

Meter Security Key Collections

Operations on Meter Security Key Collection

Meter Security Key Collection

A Meter Security Key Collection holds all passwords, secrets and encryption keys for a meter device.

The dlms_master_key will never be returned in any of the responses for security reasons.

Note: DLMS Keys are stored in hexadecimal strings. 128 bit key = 32 hex characters, 256 bit key = 64 hex characters.

metering_meter-security-keys_list

get /metering/meter-security-keys
/v1/metering/metering/meter-security-keys

Returns list of MeterSecurityCollections

query Parameters
meter
string
meter_name
string
meter_external_system_reference
string
meter_manufacturer_serial
string
meter_dlms_system_title
string
meter_dlms_logical_device_name
string
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_meter-security-keys_create

post /metering/meter-security-keys
/v1/metering/metering/meter-security-keys

Creates a MeterSecurityKeyCollection

Request Body schema: application/json
meter
required
string <uuid> (Meter)
iec62056_21_password
string (IEC62056-21 Password) [ 1 .. 8 ] characters Nullable

Used in IEC 62056-21 communication

dlms_global_unicast_encryption_key
string (Global Unicast Encryption Key, GUEK) <= 64 characters Nullable ^[abcdefABCDEF1234567890]*$

Used in DLMS communication

dlms_global_broadcast_encryption_key
string (Global Broadcast Encryption Key, GBEK) <= 64 characters Nullable ^[abcdefABCDEF1234567890]*$

Used in DLMS communication

dlms_master_key
string (Master Key or Key Encrypting Key, KEK) <= 64 characters Nullable ^[abcdefABCDEF1234567890]*$

Used in DLMS communication

dlms_global_authentication_key
string (Global Authentication Key, GAK) <= 64 characters Nullable ^[abcdefABCDEF1234567890]*$

Used in DLMS communication

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "meter": "string",
  • "iec62056_21_password": "string",
  • "dlms_global_unicast_encryption_key": "string",
  • "dlms_global_broadcast_encryption_key": "string",
  • "dlms_master_key": "string",
  • "dlms_global_authentication_key": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "meter": "string",
  • "iec62056_21_password": "string",
  • "dlms_global_unicast_encryption_key": "string",
  • "dlms_global_broadcast_encryption_key": "string",
  • "dlms_master_key": "string",
  • "dlms_global_authentication_key": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_meter-security-keys_read

get /metering/meter-security-keys/{id}
/v1/metering/metering/meter-security-keys/{id}

Returns a single MeterSecurityKeyCollection

path Parameters
id
required
string <uuid>

A UUID string identifying this meter security key collection.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z",
  • "iec62056_21_password": "string",
  • "dlms_global_unicast_encryption_key": "string",
  • "dlms_global_broadcast_encryption_key": "string",
  • "dlms_global_authentication_key": "string",
  • "meter":
    {
    }
}

metering_meter-security-keys_delete

delete /metering/meter-security-keys/{id}
/v1/metering/metering/meter-security-keys/{id}

Deletes a single MeterSecurityKeyCollection

path Parameters
id
required
string <uuid>

A UUID string identifying this meter security key collection.

Responses

204

No Content

Amr Task Groups

Operations on Amr Task Groups.

Amr Task Groups

Amr Task Groups are used for managing AMR Task that should be set on Meter Devices together.

One good use is to have certain "AMR Profiles" as Amr Task Groups. For example if you have a group of meter that should be collected hourly and another daily you could set up two groups: 'Hourly' and 'Daily' then set the Amr Task Group on specified meter devices. If you then need to make adjustments in the daily jobs you can do this in one place, the Amr Task Group, and not on every individual meter device.

metering_amr-task-groups_list

get /metering/amr-task-groups/
/v1/metering/metering/amr-task-groups/

Returns list of Amr Task Groups

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_amr-task-groups_create

post /metering/amr-task-groups/
/v1/metering/metering/amr-task-groups/

Create a new Amr Task Groups

Request Body schema: application/json
name
required
string (Name) [ 1 .. 150 ] characters
organization
required
string <uuid> (Organization)
description
string (Description) <= 500 characters
tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that should be a part of this group.

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ],
  • "tasks_info": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-task-groups_read

get /metering/amr-task-groups/{id}
/v1/metering/metering/amr-task-groups/{id}

Returns a single Amr Task Group

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task group.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ],
  • "tasks_info": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-task-groups_update

put /metering/amr-task-groups/{id}
/v1/metering/metering/amr-task-groups/{id}

Updates a single Amr Task Group

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task group.

Request Body schema: application/json
name
required
string (Name) [ 1 .. 150 ] characters
organization
required
string <uuid> (Organization)
description
string (Description) <= 500 characters
tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that should be a part of this group.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ],
  • "tasks_info": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-task-groups_partial_update

patch /metering/amr-task-groups/{id}
/v1/metering/metering/amr-task-groups/{id}

Partially updates a single Amr Task Group

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task group.

Request Body schema: application/json
name
required
string (Name) [ 1 .. 150 ] characters
organization
required
string <uuid> (Organization)
description
string (Description) <= 500 characters
tasks
Array of string <uuid> (AMR Tasks)

Choose AMR Tasks that should be a part of this group.

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "organization": "string",
  • "description": "string",
  • "tasks":
    [
    ],
  • "tasks_info": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-task-groups_delete

delete /metering/amr-task-groups/{id}
/v1/metering/metering/amr-task-groups/{id}

Deletes a single Amr Task Group

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task group.

Responses

204

No Content

Amr Tasks

Operations on Amr Tasks.

Amr Tasks

Amr Task are object containing information on how and when to run a AMR job. Amr Tasks are added to meter or Amr Task Groups. If added to a meter the task will run for that particular meter. If you need to manage a collection of tasks used for several meter, use an AmrTask Group.

metering_amr-tasks_list

get /metering/amr-tasks/
/v1/metering/metering/amr-tasks/

Returns list of Amr Task

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

metering_amr-tasks_create

post /metering/amr-tasks/
/v1/metering/metering/amr-tasks/

Create a new Amr Task

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 150 ] characters
description
string (Description) <= 500 characters
is_active
boolean (Is active)
schedule
required
string (AMR Schedule)
Enum:"quarterly" "hourly" "daily" "weekly" "monthly" "yearly"

How often to run the task

run_offset_seconds
integer (Run offset) [ -2147483648 .. 2147483647 ]

Value in seconds

meter_execution_type
required
string (Meter execution type)
Enum:"generic_lis200" "generic_iec6205621" "generic_corus_meter"

The execution interface for this task

task_call
required
string (Task function call) [ 1 .. 50 ] characters

The function to call on the execution interface

task_kwargs
object (Keyword arguments) Nullable

Keyword arguments for task. In JSON

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { }
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { },
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-tasks_invoke_create

post /metering/amr-tasks/invoke
/v1/metering/metering/amr-tasks/invoke

Invokes a task.

Responses

201

Created

metering_amr-tasks_read

get /metering/amr-tasks/{id}
/v1/metering/metering/amr-tasks/{id}

Returns a single Amr Task

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { },
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-tasks_update

put /metering/amr-tasks/{id}
/v1/metering/metering/amr-tasks/{id}

Updates a single Amr Task

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 150 ] characters
description
string (Description) <= 500 characters
is_active
boolean (Is active)
schedule
required
string (AMR Schedule)
Enum:"quarterly" "hourly" "daily" "weekly" "monthly" "yearly"

How often to run the task

run_offset_seconds
integer (Run offset) [ -2147483648 .. 2147483647 ]

Value in seconds

meter_execution_type
required
string (Meter execution type)
Enum:"generic_lis200" "generic_iec6205621" "generic_corus_meter"

The execution interface for this task

task_call
required
string (Task function call) [ 1 .. 50 ] characters

The function to call on the execution interface

task_kwargs
object (Keyword arguments) Nullable

Keyword arguments for task. In JSON

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { }
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { },
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-tasks_partial_update

patch /metering/amr-tasks/{id}
/v1/metering/metering/amr-tasks/{id}

Partially updates a single Amr Task

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
name
required
string (Name) [ 1 .. 150 ] characters
description
string (Description) <= 500 characters
is_active
boolean (Is active)
schedule
required
string (AMR Schedule)
Enum:"quarterly" "hourly" "daily" "weekly" "monthly" "yearly"

How often to run the task

run_offset_seconds
integer (Run offset) [ -2147483648 .. 2147483647 ]

Value in seconds

meter_execution_type
required
string (Meter execution type)
Enum:"generic_lis200" "generic_iec6205621" "generic_corus_meter"

The execution interface for this task

task_call
required
string (Task function call) [ 1 .. 50 ] characters

The function to call on the execution interface

task_kwargs
object (Keyword arguments) Nullable

Keyword arguments for task. In JSON

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { }
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "schedule": "quarterly",
  • "run_offset_seconds": -2147483648,
  • "meter_execution_type": "generic_lis200",
  • "task_call": "string",
  • "task_kwargs": { },
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

metering_amr-tasks_delete

delete /metering/amr-tasks/{id}
/v1/metering/metering/amr-tasks/{id}

Deletes a single Amr Task

path Parameters
id
required
string <uuid>

A UUID string identifying this amr task.

Responses

204

No Content

Invoke Amr Task

Direct invocation of task on demand

Invoke Amr Task

It is possible to invoke the an AMR Task on demand by using this endpoint. It takes a meter device id and task info and will send the task directly to the async workerk.

Organizations

Operations on an Organization

Organizations

Organizationas are used to group entites to a single customer / organization.

organizations_list

get /organizations/
/v1/metering/organizations/

returns list of Organizations

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

organizations_create

post /organizations/
/v1/metering/organizations/

Create a new Organization

Request Body schema: application/json
name
required
string (Name of organization) [ 1 .. 64 ] characters
is_active
boolean (Indicates if organization is active)

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "is_active": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "is_active": true,
  • "members":
    [
    ],
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_read

get /organizations/{id}
/v1/metering/organizations/{id}

Returns a single Organization

path Parameters
id
required
string <uuid>

A UUID string identifying this organization.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "is_active": true,
  • "members":
    [
    ],
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_update

put /organizations/{id}
/v1/metering/organizations/{id}

Updates a single Organization

path Parameters
id
required
string <uuid>

A UUID string identifying this organization.

Request Body schema: application/json
name
required
string (Name of organization) [ 1 .. 64 ] characters
is_active
boolean (Indicates if organization is active)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "is_active": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "is_active": true,
  • "members":
    [
    ],
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_partial_update

patch /organizations/{id}
/v1/metering/organizations/{id}

Partially updates a single Organization

path Parameters
id
required
string <uuid>

A UUID string identifying this organization.

Request Body schema: application/json
name
required
string (Name of organization) [ 1 .. 64 ] characters
is_active
boolean (Indicates if organization is active)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "is_active": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "is_active": true,
  • "members":
    [
    ],
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_delete

delete /organizations/{id}
/v1/metering/organizations/{id}

Deletes a single Organization

path Parameters
id
required
string <uuid>

A UUID string identifying this organization.

Responses

204

No Content

Organizations Memebership

Managing users membership in an organization.

Organizations Membershitp

Organizationas are used to group entites to a single customer / organization.

organizations_memberships_list

get /organizations/memberships/
/v1/metering/organizations/memberships/

returns list of Organization Memberships

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "count": 0,
  • "previous": "http://example.com",
  • "results":
    [
    ]
}

organizations_memberships_create

post /organizations/memberships/
/v1/metering/organizations/memberships/

Create a new Organization Membership

Request Body schema: application/json
organization
required
string <uuid> (Organization)
user
required
string <uuid> (User)

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "user": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "user": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_memberships_read

get /organizations/memberships/{id}
/v1/metering/organizations/memberships/{id}

Returns a single Organization Membership

path Parameters
id
required
integer

A unique integer value identifying this organization member.

Responses

200

OK

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "user": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_memberships_update

put /organizations/memberships/{id}
/v1/metering/organizations/memberships/{id}

Updates a single Organization Membership

path Parameters
id
required
integer

A unique integer value identifying this organization member.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
user
required
string <uuid> (User)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "user": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "user": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_memberships_partial_update

patch /organizations/memberships/{id}
/v1/metering/organizations/memberships/{id}

Partially updates a single Organization Membership

path Parameters
id
required
integer

A unique integer value identifying this organization member.

Request Body schema: application/json
organization
required
string <uuid> (Organization)
user
required
string <uuid> (User)

Responses

200

OK

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string",
  • "user": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "organization": "string",
  • "user": "string",
  • "created_at": "2020-01-20T15:54:22Z",
  • "updated_at": "2020-01-20T15:54:22Z"
}

organizations_memberships_delete

delete /organizations/memberships/{id}
/v1/metering/organizations/memberships/{id}

Deletes a single Organization Membership

path Parameters
id
required
integer

A unique integer value identifying this organization member.

Responses

204

No Content

auth

auth_jwt_change-organization_create

post /auth/jwt/change-organization/
/v1/metering/auth/jwt/change-organization/

Will issue a new token to an already "logged in" UserJwt User for another organization

Request Body schema: application/json
organization
required
string <uuid> (Organization)

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "organization": "string"
}

auth_jwt_renew_list

get /auth/jwt/renew/
/v1/metering/auth/jwt/renew/

Will issue a new JWT if the user has a valid JWT.

query Parameters
limit
integer

Number of results to return per page.

offset
integer

The initial index from which to return the results.

Responses

200

OK

auth_jwt_token_create

post /auth/jwt/token/
/v1/metering/auth/jwt/token/

Providing username, password return token with access to first available organization. If an organization_id is provided return that organization id if the user has access to it.

:param request: :param args: :param kwargs: :return:

Request Body schema: application/json
username
required
string (Username) non-empty
password
required
string (Password) non-empty
organization
string <uuid> (Organization) Nullable

Responses

201

Created

Request samples

application/json
Copy
Expand all Collapse all
{
  • "username": "string",
  • "password": "string",
  • "organization": "string"
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "username": "string",
  • "password": "string",
  • "organization": "string"
}