diff --git a/CHANGELOG.md b/CHANGELOG.md
index cd4a36a..7ad8b3d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog Hiber API
+### 0.143 (2023-03-13)
+
+##### EmailNotificationPreferencesService
+
+- Email notifications for devices that are not installed are no longer sent unless you are a customer support user.
+
+##### ValueService
+
+- Added `downsampled` command (with `DownsampledValues`) to algorithmically downsample the selected values to a number of points.
+ - Use `points` or `pagination.size` to specify the amount of points. If not specified, default pagination size is used.
+ - Note that when both `points` (i.e. 1000) and `pagination.size` (i.e. 100) are given, the points are paginated.
+
+##### MQTTService
+
+- Enabled retry mechanism for MQTT publishers.
+
### 0.142 (2023-02-27)
##### ModemService
diff --git a/changelog/WEB-6838.md b/changelog/WEB-6838.md
new file mode 100644
index 0000000..c8fb190
--- /dev/null
+++ b/changelog/WEB-6838.md
@@ -0,0 +1,7 @@
+
+##### HealthService
+
+- Changed the default health levels:
+ - "Error" to "Alarm"
+ - "Warning" to "Build up"
+ - "Ok" to "Healthy"
diff --git a/docs/html/assignment.html b/docs/html/assignment.html
index 44ae331..b71399c 100644
--- a/docs/html/assignment.html
+++ b/docs/html/assignment.html
@@ -5469,14 +5469,6 @@
Modem
The amount of time since the last message from this modem was received on the server.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Indicates that the total is an approximation, and not an exact value.
-This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner.
-For example, unbundled events are likely to return an approximated total, but not guaranteed to do so.
-
-
-
-
-
-
-
-
-
-
Shape
-
Polygon shape defined by a list of locations, which draw a shape on the map.
The last point is connected to the first to close the shape.
For example, the outline of a city would be defined using a Shape,
while a rectangular region is easier to define using Area.
Permissions limit what a user can do through the API.
-
-
-
-
-
OrganizationPermission
-
OrganizationPermissions limit what a user can do in an Organization.
By default, everyone who has access to an organization, can access:
- organization data
- dashboard (including the map, and message count for the past days, and any events they have access to)
- tags
- deleting tags, but only if they are allowed to update the modems and webhooks the tag is assigned to
Events are filtered by permission, i.e. if you cannot access the users, you would not see user-related events.
Requesting user-related events explicitly if you cannot access the users will return an error.
-
-
-
Name
Number
Description
-
-
-
-
-
PERMISSION_DEFAULT
-
0
-
-
-
-
-
ORGANIZATION_CREATE
-
1
-
Create a new child organization.
-
-
-
-
ORGANIZATION_UPDATE
-
2
-
Update the organizations data, such as billing information, address, and contact.
-
-
-
-
ORGANIZATION_DELETE
-
3
-
Delete child organizations.
-You cannot delete your own organization. To delete your organization, contact support.
-
-
-
-
MODEMS
-
10
-
List modems, see their details and health
-
-
-
-
MODEMS_CREATE
-
50
-
Create new modems. Includes MODEMS permission.
-
-
-
-
MODEMS_UPDATE
-
11
-
Update modems, such as their peripherals, display name and tags. Includes MODEMS permission.
-
-
-
-
MODEMS_LICENSE_KEYS
-
12
-
Show and regenerate license keys. Includes MODEMS permission.
-
-
-
-
MODEMS_MESSAGE_BODY_PARSERS
-
43
-
Manage and assign message body parsers. Includes MODEMS permission.
-
-
-
-
MODEMS_SECURE_NOTES
-
42
-
Show and update secure notes. Includes MODEMS permission.
-
-
-
-
MODEMS_ALARMS
-
44
-
Manage and assign message alerts. Includes MODEMS permission.
-
-
-
-
MODEM_MESSAGES
-
15
-
Read modem messages.
-
-
-
-
MODEM_MESSAGES_SEND_TEST_MESSAGES
-
16
-
Send modem messages using the TestingService. Does not include MODEMS or MESSAGES permission.
-
-
-
-
MODEM_MESSAGES_SEND_REAL_MESSAGES
-
41
-
Send modem messages using real message sources (i.e. gateway). Does not include MODEMS or MESSAGES permission.
-
-
-
-
MODEM_DOWNLINK_MESSAGES
-
51
-
Send modem downlink messages.
-
-
-
-
MODEM_TRANSFERS
-
20
-
See modem transfers, inbound and outbound modems. Includes modems permission.
-
-
-
-
MODEM_TRANSFERS_SEND
-
21
-
Transfer modems to another organization, cancel open transfers and send return transfers.
-Includes modems_transfers permission.
-
-
-
-
MODEM_TRANSFERS_PROCESS
-
22
-
Mark transfers as received, prepare modems for return. This does not include actually sending the return transfer.
-Includes modems_transfers permission.
-
-
-
-
MODEM_CLAIM
-
25
-
Claiming modems.
-
-
-
-
USERS
-
30
-
List all users, see their names and email addresses.
-
-
-
-
USERS_MANAGE
-
31
-
Approve or create new users, remove users from the organization. Includes users permission.
-
-
-
-
PUBLISHERS
-
35
-
Manage publishers: webhooks, MQTT integration and custom email publishers.
-
-
-
-
TOKENS
-
36
-
Manage tokens.
-
-
-
-
CERTIFICATES
-
38
-
Read and use uploaded certificates (i.e. for publishers).
-
-
-
-
CERTIFICATES_MANAGE
-
39
-
Upload certificates, and update or delete uploaded certificates.
-
-
-
-
ASSIGNMENTS
-
45
-
Manage assignments using the assignment services and individual calls on, for example, ModemService.
-
-
-
-
SIMULATION_MANAGE
-
46
-
Manage simulations, like modem message simulation.
-
-
-
-
HEALTH_MANAGE
-
47
-
Manage custom health levels.
-
-
-
-
LOCATIONS_MANAGE
-
48
-
Manage saved locations using the OrganizationLocationService.
-
-
-
-
EXPORT
-
49
-
Create, access and download exports.
-
-
-
-
-
-
SupportPermission
-
SupportPermissions are used for features typically reserved for customer support, or that behave differently
when used by a customer support operator.
-
-
-
Name
Number
Description
-
-
-
-
-
CUSTOMER_SUPPORT
-
0
-
Allow Customer Support functions.
-
-
-
-
-
-
UserPermission
-
UserPermissions are generally used to limit what a token can do to its user.
By default, a user has all UserPermissions, which apply only to himself.
When creating a token, however, the token typically does not need permission to affect the user at all.
-
-
-
Name
Number
Description
-
-
-
-
-
READ
-
0
-
Read your name, email, linked organizations and mission-control settings.
-
-
-
-
UPDATE
-
1
-
Update your personal information, mission-control settings and default organization. Includes read permission.
-
-
-
-
REQUEST_ACCESS
-
2
-
Request access to an organization and cancel open requests. Does not include read permission.
-
-
-
-
DELETE
-
3
-
Delete your user account permanently. Includes read permission.
-
-
-
-
-
-
-
-
-
-
-
-
Scalar Value Types
-
-
-
.proto Type
Notes
C++
Java
Python
Go
C#
PHP
Ruby
-
-
-
-
-
double
-
-
double
-
double
-
float
-
float64
-
double
-
float
-
Float
-
-
-
-
float
-
-
float
-
float
-
float
-
float32
-
float
-
float
-
Float
-
-
-
-
int32
-
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.
-
int32
-
int
-
int
-
int32
-
int
-
integer
-
Bignum or Fixnum (as required)
-
-
-
-
int64
-
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.
-
int64
-
long
-
int/long
-
int64
-
long
-
integer/string
-
Bignum
-
-
-
-
uint32
-
Uses variable-length encoding.
-
uint32
-
int
-
int/long
-
uint32
-
uint
-
integer
-
Bignum or Fixnum (as required)
-
-
-
-
uint64
-
Uses variable-length encoding.
-
uint64
-
long
-
int/long
-
uint64
-
ulong
-
integer/string
-
Bignum or Fixnum (as required)
-
-
-
-
sint32
-
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
-
int32
-
int
-
int
-
int32
-
int
-
integer
-
Bignum or Fixnum (as required)
-
-
-
-
sint64
-
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.
-
int64
-
long
-
int/long
-
int64
-
long
-
integer/string
-
Bignum
-
-
-
-
fixed32
-
Always four bytes. More efficient than uint32 if values are often greater than 2^28.
-
uint32
-
int
-
int
-
uint32
-
uint
-
integer
-
Bignum or Fixnum (as required)
-
-
-
-
fixed64
-
Always eight bytes. More efficient than uint64 if values are often greater than 2^56.
-
uint64
-
long
-
int/long
-
uint64
-
ulong
-
integer/string
-
Bignum
-
-
-
-
sfixed32
-
Always four bytes.
-
int32
-
int
-
int
-
int32
-
int
-
integer
-
Bignum or Fixnum (as required)
-
-
-
-
sfixed64
-
Always eight bytes.
-
int64
-
long
-
int/long
-
int64
-
long
-
integer/string
-
Bignum
-
-
-
-
bool
-
-
bool
-
boolean
-
boolean
-
bool
-
bool
-
boolean
-
TrueClass/FalseClass
-
-
-
-
string
-
A string must always contain UTF-8 encoded or 7-bit ASCII text.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Indicates that the total is an approximation, and not an exact value.
-This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner.
-For example, unbundled events are likely to return an approximated total, but not guaranteed to do so.
-
-
-
-
-
-
-
-
-
-
Shape
-
Polygon shape defined by a list of locations, which draw a shape on the map.
The last point is connected to the first to close the shape.
For example, the outline of a city would be defined using a Shape,
while a rectangular region is easier to define using Area.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Indicates that the total is an approximation, and not an exact value.
-This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner.
-For example, unbundled events are likely to return an approximated total, but not guaranteed to do so.
-
-
-
-
-
-
-
-
-
-
Shape
-
Polygon shape defined by a list of locations, which draw a shape on the map.
The last point is connected to the first to close the shape.
For example, the outline of a city would be defined using a Shape,
while a rectangular region is easier to define using Area.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
Deprecated. Deprecated health based on the number of error and warning events this modem has received in the past 30 days
-Uses the OK, WARNING, ERROR format.
diff --git a/docs/md/assignment.md b/docs/md/assignment.md
index a5a2065..833a6e2 100644
--- a/docs/md/assignment.md
+++ b/docs/md/assignment.md
@@ -641,7 +641,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -673,7 +672,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/base.md b/docs/md/base.md
deleted file mode 100644
index 17a67f6..0000000
--- a/docs/md/base.md
+++ /dev/null
@@ -1,725 +0,0 @@
-# base.proto
-
-
-
-#### This file was generated from [base.proto](https://github.com/HiberGlobal/api/blob/master/base.proto).
-
-## Table of Contents
-
-
-
-- Messages
- - [Area](#area)
- - [Avatar](#avatar)
- - [BytesOrHex](#bytesorhex)
- - [BytesOrHex.Update](#bytesorhexupdate)
- - [Date](#date)
- - [DoubleRange](#doublerange)
- - [Duration](#duration)
- - [Filter](#filter)
- - [Filter.ChildOrganizations](#filterchildorganizations)
- - [Filter.ChildOrganizations.Update](#filterchildorganizationsupdate)
- - [Filter.Events](#filterevents)
- - [Filter.Events.Update](#filtereventsupdate)
- - [Filter.FieldEnumValues](#filterfieldenumvalues)
- - [Filter.Modems](#filtermodems)
- - [Filter.Modems.Update](#filtermodemsupdate)
- - [Filter.OrganizationPermissions](#filterorganizationpermissions)
- - [Filter.Organizations](#filterorganizations)
- - [Filter.Publishers](#filterpublishers)
- - [Filter.SupportPermissions](#filtersupportpermissions)
- - [Filter.Tags](#filtertags)
- - [Filter.Tags.Update](#filtertagsupdate)
- - [Filter.UserPermissions](#filteruserpermissions)
- - [Filter.Users](#filterusers)
- - [Filter.Webhooks](#filterwebhooks)
- - [Location](#location)
- - [LocationSelection](#locationselection)
- - [NamedFile](#namedfile)
- - [Pagination](#pagination)
- - [Pagination.Result](#paginationresult)
- - [Shape](#shape)
- - [TimeRange](#timerange)
- - [Timestamp](#timestamp)
- - [UpdateBoolean](#updateboolean)
- - [UpdateClearableString](#updateclearablestring)
- - [UpdateOptionalDuration](#updateoptionalduration)
- - [UpdateOptionalId](#updateoptionalid)
- - [UpdateZeroableInt](#updatezeroableint)
-
-- Enums
- - [EventType](#eventtype)
- - [Health](#health)
- - [UnitOfMeasurement](#unitofmeasurement)
-
-
- - Enums
- - [hiber.OrganizationPermission](#hiberorganizationpermission)
- - [hiber.SupportPermission](#hibersupportpermission)
- - [hiber.UserPermission](#hiberuserpermission)
-
-- [Scalar Value Types](#scalar-value-types)
-
-## Messages
-
-### Area
-
-Rectangular area between two locations, normalized to bottom-left and top-right points.
-
-Center point is added for convenience; it's simple the point directly between the two corner points.
-When sending an Area to the api, the center location is ignored.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| center | [ Location](#location) | none |
-| bottom_left | [ Location](#location) | none |
-| top_right | [ Location](#location) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### Avatar
-
-An avatar is represented either by a (publicly) fetchable URL that serves an image,
-xor a binary payload that knows its name and mime-type.
-
-If it is a url, it must be obtainable without credentials, though this is not validated by the API.
-Because the content behind URL's can change or become unavailable over time,
-the client should make sure it properly caches the data fetched from the URL.
-("Properly" means [among other things] respecting the response headers for this resource)
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.url | [ string](#string) | A URL that contains the location of avatar. |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.image | [ NamedFile](#namedfile) | The data of the avatar as a Named File. |
-
-### BytesOrHex
-
-Some clients may prefer direct binary data, while other prefer a hexadecimal string,
-both for input and output. To support both methods, this object is used to represent binary data.
-
-When you receive this from the api, both fields are set. When sending it to the api, only one field is required.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| bytes | [ bytes](#bytes) | none |
-| hex | [ string](#string) | none |
-
-### BytesOrHex.Update
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ BytesOrHex](#bytesorhex) | none |
-
-### Date
-
-Date type for convenience.
-
-Some clients are better at parsing year, month and day of month as separate fields,
-while others prefer a text-based format.
-To accommodate this, this Date type supports both.
-
-When used as API output, both the int fields and textual fields will be set.
-The textual field has the commonly used ISO 8601 local date format (i.e. "2018-01-01").
-When used an API input, either specify the int fields or the textual field.
-If both are specified, the textual field will be discarded.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| year | [ uint32](#uint32) | none |
-| month | [ uint32](#uint32) | none |
-| day | [ uint32](#uint32) | none |
-| textual | [ string](#string) | none |
-
-### DoubleRange
-
-Decimal range.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ double](#double) | none |
-| end | [ double](#double) | none |
-
-### Duration
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| duration | [ google.protobuf.Duration](#googleprotobufduration) | none |
-| textual | [ string](#string) | none |
-
-### Filter
-
-Filters used in many api calls to filter the data sources, results, etc.
-
-"Include" fields filter out anything not in the include set.
-When not set, all items will be returned (except excluded items)
-
-"Exclude" fields filter out anything in the exclude set.
-When combined with include, exclude takes precedence when determining whether an item is filtered
-
-
-### Filter.ChildOrganizations
-
-Specify which organizations to get data from. By default, data is only retrieved for the current organization, but
-using ChildOrganizations we can specify to include a number of, or all, sub-organizations.
-
-Note: ChildOrganization differs from other filters in that it defaults to not allowing anything, where the
-other filters default to allowing everything
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### Filter.ChildOrganizations.Update
-
-Update object to update a Filter.ChildOrganizations field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ Filter.ChildOrganizations](#filterchildorganizations) | none |
-
-### Filter.Events
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated EventType](#eventtype) | none |
-| exclude | [repeated EventType](#eventtype) | none |
-
-### Filter.Events.Update
-
-Update object to update a Filter.Events field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ Filter.Events](#filterevents) | none |
-
-### Filter.FieldEnumValues
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| field | [ string](#string) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### Filter.Modems
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | Include all modems with these modem numbers (HEX) |
-| exclude | [repeated string](#string) | Exclude all modems with these modem numbers (HEX). Exclude takes precedence over include. |
-
-### Filter.Modems.Update
-
-Update object to update a Filter.Modems field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ Filter.Modems](#filtermodems) | none |
-
-### Filter.OrganizationPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated OrganizationPermission](#organizationpermission) | none |
-| exclude | [repeated OrganizationPermission](#organizationpermission) | none |
-
-### Filter.Organizations
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### Filter.Publishers
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### Filter.SupportPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated SupportPermission](#supportpermission) | none |
-| exclude | [repeated SupportPermission](#supportpermission) | none |
-
-### Filter.Tags
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-
-### Filter.Tags.Update
-
-Update object to update a Filter.Tags field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ Filter.Tags](#filtertags) | none |
-
-### Filter.UserPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated UserPermission](#userpermission) | none |
-| exclude | [repeated UserPermission](#userpermission) | none |
-
-### Filter.Users
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### Filter.Webhooks
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### Location
-
-Geographic latitude and longitude coordinates specified in decimal degrees.
-For more information, see the WGS-84 coordinate system, which is used for most GPS systems.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| latitude | [ double](#double) | Decimal degrees north. |
-| longitude | [ double](#double) | Decimal degrees east. |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### LocationSelection
-
-Selection object for map data. Filter modems on the map by id, (child)organization.
-
-Also, filter the map data by level and area restriction, to only display a small area at a detailed map level,
-for example
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| areas | [repeated Area](#area) | Rectangular areas, each defined by two locations, normalized to bottom-left and top-right points. |
-| shapes | [repeated Shape](#shape) | Polygon shapes, each defined by a list of locations, which draw a shape on the map. |
-
-### NamedFile
-
-A NamedFile contains bytes with its mime-type and name.
-It can represent any file of any type.
-
-Note that depending on where in the API this is used,
-the server might put restrictions on file size, media-type or name length.
-
-The file name should be interpreted as-is.
-No hierarchical information is stored in the name, nor should you look at the "extension" to know its media-type.
-It might not even have a file extension.
-The file name may contain characters that cannot be a valid file name on certain systems.
-
-Specific API calls may pur restrictions on the name or size of the file.
-
-When showing this as an image in a browser, one can make use of a `data` URI.
-The client must convert the bytes to base64 and can then construct a data URI like this
-
- data:;base64,
-
-Other type clients should be able to sort-of-directly set the data bytes as the source for an image.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| data | [ BytesOrHex](#bytesorhex) | The binary payload that represents the file |
-| media_type | [ string](#string) | The media-type of the file, as defined by RFC 6838 or its extensions |
-| name | [ string](#string) | A semantic name for this file. |
-
-### Pagination
-
-Pagination is normalized across the api. Provide a pagination object to get a specific page or offset,
-or limit your data.
-
-Calls that have a pagination option automatically return a Pagination.Result, which contains
-either the specified pagination options or the defaults, as well as total counts. It also contains Pagination
-objects that can be used for the previous and next page.
-
-This effectively means that an api user would never need to create their own pagination object; as long as they
-start at the first page and continue to the next, they can use the provided Pagination object.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-
-### Pagination.Result
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-| total | [ int32](#int32) | none |
-| total_pages | [ int32](#int32) | none |
-| previous | [ Pagination](#pagination) | none |
-| next | [ Pagination](#pagination) | none |
-| approximated_total | [ bool](#bool) | Indicates that the total is an approximation, and not an exact value. This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner. For example, unbundled events are likely to return an approximated total, but not guaranteed to do so. |
-
-### Shape
-
-Polygon shape defined by a list of locations, which draw a shape on the map.
-The last point is connected to the first to close the shape.
-
-For example, the outline of a city would be defined using a Shape,
-while a rectangular region is easier to define using Area.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| path | [repeated Location](#location) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### TimeRange
-
-Period of time between two timestamps. Typically used for filtering.
-
-This can be used with textual shortcuts for timestamp, and some additional duration textual shortcuts:
-- a duration as an offset of now, i.e. "-10h" or "PT-10h": converted to now + offset, so start.textual -10h is
- 10 hours before the end time (using the ISO 8601 duration format)
-Examples:
-- start "-10h" end "now": a time range from 10 hours before the request time, to the request time
-- start "-10h" end "2022-01-01 20:00": becomes start 2022-01-01 10:00 end 2022-01-01 20:00
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ Timestamp](#timestamp) | none |
-| end | [ Timestamp](#timestamp) | none |
-
-### Timestamp
-
-Timestamp type for convenience.
-
-Some clients are better at parsing Google's seconds/nanos based timestamp, while others prefer a text-based format.
-To accommodate this, this Timestamp type supports both.
-
-When used as API output, both the timestamp and textual fields will be set. The textual field has the commonly
-used ISO 8601 format (i.e. "2018-01-01T13:00:00Z").
-When used an API input, only one of the fields is needed, there is no need to set both. When both are set, the
-timestamp field will be used, the textual field will be discarded.
-
-In addition, the textual field, when used as input, allows for a number of shortcuts that get converted into
-timestamps:
-- "now": converted to the current timestamp at the time of the request
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| timestamp | [ google.protobuf.Timestamp](#googleprotobuftimestamp) | none |
-| time_zone | [ string](#string) | none |
-| textual | [ string](#string) | none |
-
-### UpdateBoolean
-
-Update object for a boolean.
-
-Since false is the default value, we need to distinguish between an omitted value and setting the value to false,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ bool](#bool) | none |
-
-### UpdateClearableString
-
-Update object for a string that can be empty.
-
-Since an empty string is also the default value, we need to distinguish between an omitted value and
-setting the value to an empty string, in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ string](#string) | none |
-
-### UpdateOptionalDuration
-
-Update object for an optional Duration.
-
-To use this to update, set a value and set updated to true.
-To clear the duration, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ Duration](#duration) | none |
-
-### UpdateOptionalId
-
-Update object for an optional id.
-
-To use this to update, set a value and set updated to true. To clear the id, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ int64](#int64) | none |
-
-### UpdateZeroableInt
-
-Update object for an int that can be set to 0.
-
-Since 0 is also the default value, we need to distinguish between an omitted value and setting the value to 0,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ uint32](#uint32) | none |
-
-
-## Enums
-### EventType
-Enum of api-accessible events.
-
-The event types in this enum have a protobuf implementation, and can be used, for example, in the
-api event stream and publishers.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| DEFAULT | none | 0 |
-| ORGANIZATION_CREATED | none | 34 |
-| ORGANIZATION_UPDATED | none | 12 |
-| ORGANIZATION_DELETED | none | 35 |
-| ORGANIZATION_EVENT_CONFIGURATION_UPDATED | none | 43 |
-| MODEM_CREATED | none | 55 |
-| MODEM_UPDATED | none | 36 |
-| MODEM_LOCATION_UPDATED | none | 4 |
-| MODEM_ACTIVATED | none | 33 |
-| MODEM_MESSAGE_RECEIVED | none | 5 |
-| MODEM_MESSAGE_BODY_PARSED | none | 39 |
-| MODEM_MESSAGE_BODY_RECEIVED | none | 45 |
-| MODEM_MESSAGE_CANNOT_BE_PARSED | none | 15 |
-| MODEM_MESSAGE_SUMMARY | none | 42 |
-| MODEM_MESSAGE_BODY_PARSER_CREATED | none | 46 |
-| MODEM_MESSAGE_BODY_PARSER_UPDATED | none | 47 |
-| MODEM_MESSAGE_BODY_PARSER_DELETED | none | 48 |
-| MODEM_ALARM | none | 56 |
-| MODEM_ALARM_CREATED | none | 57 |
-| MODEM_ALARM_UPDATED | none | 58 |
-| MODEM_ALARM_DELETED | none | 59 |
-| ASSIGNED | none | 63 |
-| UNASSIGNED | none | 64 |
-| MODEM_TRANSFER_STARTED | none | 17 |
-| MODEM_TRANSFER_RECEIVED | none | 18 |
-| MODEM_TRANSFER_CANCELLED | none | 19 |
-| MODEM_TRANSFER_NOT_RECEIVED | none | 20 |
-| MODEM_TRANSFER_RETURN_TRANSFER_STARTED | none | 21 |
-| MODEM_CLAIMED | none | 22 |
-| PUBLISHER_CREATED | none | 1 |
-| PUBLISHER_UPDATED | none | 2 |
-| PUBLISHER_DELETED | none | 3 |
-| PUBLISHER_AUTO_DISABLED | none | 37 |
-| PUBLISHER_FAILED | none | 11 |
-| USER_ACCESS_REQUEST | none | 8 |
-| USER_INVITED | none | 38 |
-| USER_ADDED | none | 9 |
-| USER_REMOVED | none | 10 |
-| USER_VALIDATION_UPDATED | none | 54 |
-| TOKEN_CREATED | none | 31 |
-| TOKEN_EXPIRY_WARNING | none | 25 |
-| TOKEN_EXPIRED | none | 26 |
-| TOKEN_DELETED | none | 32 |
-| EXPORT_CREATED | none | 65 |
-| EXPORT_READY | none | 66 |
-| EXPORT_FAILED | none | 67 |
-
-### Health
-Health is an indicator for issues. It is used for publishers to give a quick indication of issues.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| OK | none | 0 |
-| WARNING | none | 1 |
-| ERROR | none | 2 |
-
-### UnitOfMeasurement
-Unit of measurement for a numeric value.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| UNIT_UNKNOWN | none | 0 |
-| DURATION_MILLISECONDS | none | 40 |
-| DURATION_SECONDS | none | 1 |
-| DURATION_MINUTES | none | 2 |
-| DURATION_HOURS | none | 3 |
-| DURATION_DAYS | none | 4 |
-| DURATION_WEEKS | none | 41 |
-| FUEL_EFFICIENCY_LITER_PER_100_KILOMETER | none | 30 |
-| FUEL_EFFICIENCY_KILOMETER_PER_LITER | none | 31 |
-| FUEL_EFFICIENCY_KILOMETER_PER_US_GALLON | none | 32 |
-| FUEL_EFFICIENCY_KILOMETER_PER_IMPERIAL_GALLON | none | 33 |
-| FUEL_EFFICIENCY_MILE_PER_US_GALLON | none | 34 |
-| FUEL_EFFICIENCY_MILE_PER_IMPERIAL_GALLON | none | 35 |
-| FUEL_EFFICIENCY_MILE_PER_LITER | none | 36 |
-| DISTANCE_METER | none | 8 |
-| DISTANCE_MILLIMETER | none | 9 |
-| DISTANCE_CENTIMETER | none | 10 |
-| DISTANCE_KILOMETER | none | 11 |
-| DISTANCE_NAUTICAL_MILE | none | 26 |
-| DISTANCE_MILE | none | 21 |
-| DISTANCE_YARD | none | 27 |
-| DISTANCE_FOOT | none | 28 |
-| DISTANCE_INCH | none | 29 |
-| PERCENT | none | 16 |
-| PRESSURE_BAR | none | 12 |
-| PRESSURE_PSI | none | 14 |
-| PRESSURE_K_PA | none | 17 |
-| SPEED_KILOMETERS_PER_HOUR | none | 18 |
-| SPEED_KNOTS | none | 19 |
-| SPEED_METERS_PER_SECOND | none | 20 |
-| SPEED_MILES_PER_HOUR | none | 22 |
-| TEMPERATURE_KELVIN | none | 5 |
-| TEMPERATURE_DEGREES_CELSIUS | none | 6 |
-| TEMPERATURE_DEGREES_FAHRENHEIT | none | 7 |
-| VOLTAGE_MILLIVOLT | none | 15 |
-| VOLUME_LITER | none | 23 |
-| VOLUME_GALLON_US | none | 24 |
-| VOLUME_GALLON_IMPERIAL | none | 25 |
-| VOLUME_CUBIC_METER | none | 42 |
-| VOLUME_CUBIC_FOOT | none | 43 |
-| MASS_KILOGRAMS | none | 37 |
-| MASS_POUNDS | none | 38 |
-| FLOW_CUBIC_METERS_PER_HOUR | none | 39 |
-
-
-
-## Referenced messages from permission.proto
-(Note that these are included because there is a proto dependency on the file,
-so not all messages listed here are referenced.)
-
-#### This section was generated from [permission.proto](https://github.com/HiberGlobal/api/blob/master/permission.proto).
-
-
-
-### Enums
-#### hiber.OrganizationPermission
-OrganizationPermissions limit what a user can do in an Organization.
-By default, everyone who has access to an organization, can access:
-- organization data
-- dashboard (including the map, and message count for the past days, and any events they have access to)
-- tags
-- deleting tags, but only if they are allowed to update the modems and webhooks the tag is assigned to
-
-Events are filtered by permission, i.e. if you cannot access the users, you would not see user-related events.
-Requesting user-related events explicitly if you cannot access the users will return an error.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| PERMISSION_DEFAULT | none | 0 |
-| ORGANIZATION_CREATE | Create a new child organization. | 1 |
-| ORGANIZATION_UPDATE | Update the organizations data, such as billing information, address, and contact. | 2 |
-| ORGANIZATION_DELETE | Delete child organizations. You cannot delete your own organization. To delete your organization, contact support. | 3 |
-| MODEMS | List modems, see their details and health | 10 |
-| MODEMS_CREATE | Create new modems. Includes MODEMS permission. | 50 |
-| MODEMS_UPDATE | Update modems, such as their peripherals, display name and tags. Includes MODEMS permission. | 11 |
-| MODEMS_LICENSE_KEYS | Show and regenerate license keys. Includes MODEMS permission. | 12 |
-| MODEMS_MESSAGE_BODY_PARSERS | Manage and assign message body parsers. Includes MODEMS permission. | 43 |
-| MODEMS_SECURE_NOTES | Show and update secure notes. Includes MODEMS permission. | 42 |
-| MODEMS_ALARMS | Manage and assign message alerts. Includes MODEMS permission. | 44 |
-| MODEM_MESSAGES | Read modem messages. | 15 |
-| MODEM_MESSAGES_SEND_TEST_MESSAGES | Send modem messages using the TestingService. Does not include MODEMS or MESSAGES permission. | 16 |
-| MODEM_MESSAGES_SEND_REAL_MESSAGES | Send modem messages using real message sources (i.e. gateway). Does not include MODEMS or MESSAGES permission. | 41 |
-| MODEM_DOWNLINK_MESSAGES | Send modem downlink messages. | 51 |
-| MODEM_TRANSFERS | See modem transfers, inbound and outbound modems. Includes modems permission. | 20 |
-| MODEM_TRANSFERS_SEND | Transfer modems to another organization, cancel open transfers and send return transfers. Includes modems_transfers permission. | 21 |
-| MODEM_TRANSFERS_PROCESS | Mark transfers as received, prepare modems for return. This does not include actually sending the return transfer. Includes modems_transfers permission. | 22 |
-| MODEM_CLAIM | Claiming modems. | 25 |
-| USERS | List all users, see their names and email addresses. | 30 |
-| USERS_MANAGE | Approve or create new users, remove users from the organization. Includes users permission. | 31 |
-| PUBLISHERS | Manage publishers: webhooks, MQTT integration and custom email publishers. | 35 |
-| TOKENS | Manage tokens. | 36 |
-| CERTIFICATES | Read and use uploaded certificates (i.e. for publishers). | 38 |
-| CERTIFICATES_MANAGE | Upload certificates, and update or delete uploaded certificates. | 39 |
-| ASSIGNMENTS | Manage assignments using the assignment services and individual calls on, for example, ModemService. | 45 |
-| SIMULATION_MANAGE | Manage simulations, like modem message simulation. | 46 |
-| HEALTH_MANAGE | Manage custom health levels. | 47 |
-| LOCATIONS_MANAGE | Manage saved locations using the OrganizationLocationService. | 48 |
-| EXPORT | Create, access and download exports. | 49 |
-
-#### hiber.SupportPermission
-SupportPermissions are used for features typically reserved for customer support, or that behave differently
-when used by a customer support operator.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| CUSTOMER_SUPPORT | Allow Customer Support functions. | 0 |
-
-#### hiber.UserPermission
-UserPermissions are generally used to limit what a token can do to its user.
-By default, a user has all UserPermissions, which apply only to himself.
-When creating a token, however, the token typically does not need permission to affect the user at all.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| READ | Read your name, email, linked organizations and mission-control settings. | 0 |
-| UPDATE | Update your personal information, mission-control settings and default organization. Includes read permission. | 1 |
-| REQUEST_ACCESS | Request access to an organization and cancel open requests. Does not include read permission. | 2 |
-| DELETE | Delete your user account permanently. Includes read permission. | 3 |
-
-## Scalar Value Types
-
-| .proto Type | Notes | C++ Type | Java Type | Python Type |
-| ----------- | ----- | -------- | --------- | ----------- |
-|
double | | double | double | float |
-|
float | | float | float | float |
-|
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
-|
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
-|
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
-|
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
-|
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
-|
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
-|
sfixed32 | Always four bytes. | int32 | int | int |
-|
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
-|
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |
-
diff --git a/docs/md/dashboard.md b/docs/md/dashboard.md
index 25cc174..2dbecc6 100644
--- a/docs/md/dashboard.md
+++ b/docs/md/dashboard.md
@@ -50,12 +50,6 @@
- [hiber.event.Event.ModemEvent.ModemLocationUpdatedEvent](#hibereventeventmodemeventmodemlocationupdatedevent)
- [hiber.event.Event.ModemEvent.ModemUpdatedEvent](#hibereventeventmodemeventmodemupdatedevent)
- [hiber.event.Event.ModemEvent.ModemUpdatedEvent.PeripheralsEntry](#hibereventeventmodemeventmodemupdatedeventperipheralsentry)
- - [hiber.event.Event.ModemTransferEvent](#hibereventeventmodemtransferevent)
- - [hiber.event.Event.ModemTransferEvent.ModemTransferCancelledEvent](#hibereventeventmodemtransfereventmodemtransfercancelledevent)
- - [hiber.event.Event.ModemTransferEvent.ModemTransferNotReceivedEvent](#hibereventeventmodemtransfereventmodemtransfernotreceivedevent)
- - [hiber.event.Event.ModemTransferEvent.ModemTransferReceivedEvent](#hibereventeventmodemtransfereventmodemtransferreceivedevent)
- - [hiber.event.Event.ModemTransferEvent.ModemTransferReturnTransferStartedEvent](#hibereventeventmodemtransfereventmodemtransferreturntransferstartedevent)
- - [hiber.event.Event.ModemTransferEvent.ModemTransferStartedEvent](#hibereventeventmodemtransfereventmodemtransferstartedevent)
- [hiber.event.Event.OrganizationEvent](#hibereventeventorganizationevent)
- [hiber.event.Event.OrganizationEvent.EventConfigurationUpdated](#hibereventeventorganizationeventeventconfigurationupdated)
- [hiber.event.Event.OrganizationEvent.EventConfigurationUpdated.ModemMessageSummaryUpdate](#hibereventeventorganizationeventeventconfigurationupdatedmodemmessagesummaryupdate)
@@ -79,7 +73,6 @@
- [hiber.event.Event.TokenEvent.TokenExpiredEvent](#hibereventeventtokeneventtokenexpiredevent)
- [hiber.event.Event.TokenEvent.TokenExpiryWarningEvent](#hibereventeventtokeneventtokenexpirywarningevent)
- [hiber.event.Event.TransferEvent](#hibereventeventtransferevent)
- - [hiber.event.Event.TransferEvent.DeprecatedTransfer](#hibereventeventtransfereventdeprecatedtransfer)
- [hiber.event.Event.UserEvent](#hibereventeventuserevent)
- [hiber.event.Event.UserEvent.UserAccessRequestEvent](#hibereventeventusereventuseraccessrequestevent)
- [hiber.event.Event.UserEvent.UserAddedEvent](#hibereventeventusereventuseraddedevent)
@@ -641,80 +634,6 @@ modem's location is updated
| key | [ string](#string) | none |
| value | [ string](#string) | none |
-### hiber.event.Event.ModemTransferEvent
-
-
-
-
-### hiber.event.Event.ModemTransferEvent.ModemTransferCancelledEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
-### hiber.event.Event.ModemTransferEvent.ModemTransferNotReceivedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | The health level caused for the modem (and organization) by this event. |
-
-### hiber.event.Event.ModemTransferEvent.ModemTransferReceivedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
-### hiber.event.Event.ModemTransferEvent.ModemTransferReturnTransferStartedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| return_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| original_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| return_lines | [repeated hiber.modem.ModemTransferReturnLine](#hibermodemmodemtransferreturnline) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | The health level caused for the modem (and organization) by this event. |
-
-### hiber.event.Event.ModemTransferEvent.ModemTransferStartedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
### hiber.event.Event.OrganizationEvent
@@ -993,20 +912,6 @@ This event is disabled by default.
| transfer | [ hiber.transfer.Transfer](#hibertransfertransfer) | none |
| deprecated_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | Deprecated, here to be backwards compatible with ModemTransferEvents. |
-### hiber.event.Event.TransferEvent.DeprecatedTransfer
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| identifier | [ string](#string) | none |
-| modem_numbers | [repeated string](#string) | none |
-| sender_organization | [ string](#string) | none |
-| recipient_organization | [ string](#string) | none |
-| comment | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-
### hiber.event.Event.UserEvent
@@ -1354,7 +1259,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -1386,7 +1290,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/device.md b/docs/md/device.md
index 316fccc..4fa0118 100644
--- a/docs/md/device.md
+++ b/docs/md/device.md
@@ -344,7 +344,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -376,7 +375,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/device_service.md b/docs/md/device_service.md
index 0dcbf45..ad7ede0 100644
--- a/docs/md/device_service.md
+++ b/docs/md/device_service.md
@@ -406,7 +406,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -438,7 +437,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/event.md b/docs/md/event.md
index 4ded8c1..744408b 100644
--- a/docs/md/event.md
+++ b/docs/md/event.md
@@ -44,12 +44,6 @@
- [Event.ModemEvent.ModemLocationUpdatedEvent](#eventmodemeventmodemlocationupdatedevent)
- [Event.ModemEvent.ModemUpdatedEvent](#eventmodemeventmodemupdatedevent)
- [Event.ModemEvent.ModemUpdatedEvent.PeripheralsEntry](#eventmodemeventmodemupdatedeventperipheralsentry)
- - [Event.ModemTransferEvent](#eventmodemtransferevent)
- - [Event.ModemTransferEvent.ModemTransferCancelledEvent](#eventmodemtransfereventmodemtransfercancelledevent)
- - [Event.ModemTransferEvent.ModemTransferNotReceivedEvent](#eventmodemtransfereventmodemtransfernotreceivedevent)
- - [Event.ModemTransferEvent.ModemTransferReceivedEvent](#eventmodemtransfereventmodemtransferreceivedevent)
- - [Event.ModemTransferEvent.ModemTransferReturnTransferStartedEvent](#eventmodemtransfereventmodemtransferreturntransferstartedevent)
- - [Event.ModemTransferEvent.ModemTransferStartedEvent](#eventmodemtransfereventmodemtransferstartedevent)
- [Event.OrganizationEvent](#eventorganizationevent)
- [Event.OrganizationEvent.EventConfigurationUpdated](#eventorganizationeventeventconfigurationupdated)
- [Event.OrganizationEvent.EventConfigurationUpdated.ModemMessageSummaryUpdate](#eventorganizationeventeventconfigurationupdatedmodemmessagesummaryupdate)
@@ -73,7 +67,6 @@
- [Event.TokenEvent.TokenExpiredEvent](#eventtokeneventtokenexpiredevent)
- [Event.TokenEvent.TokenExpiryWarningEvent](#eventtokeneventtokenexpirywarningevent)
- [Event.TransferEvent](#eventtransferevent)
- - [Event.TransferEvent.DeprecatedTransfer](#eventtransfereventdeprecatedtransfer)
- [Event.UserEvent](#eventuserevent)
- [Event.UserEvent.UserAccessRequestEvent](#eventusereventuseraccessrequestevent)
- [Event.UserEvent.UserAddedEvent](#eventusereventuseraddedevent)
@@ -1024,80 +1017,6 @@ modem's location is updated
| key | [ string](#string) | none |
| value | [ string](#string) | none |
-### Event.ModemTransferEvent
-
-
-
-
-### Event.ModemTransferEvent.ModemTransferCancelledEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
-### Event.ModemTransferEvent.ModemTransferNotReceivedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | The health level caused for the modem (and organization) by this event. |
-
-### Event.ModemTransferEvent.ModemTransferReceivedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
-### Event.ModemTransferEvent.ModemTransferReturnTransferStartedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| return_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| original_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| return_lines | [repeated hiber.modem.ModemTransferReturnLine](#hibermodemmodemtransferreturnline) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | The health level caused for the modem (and organization) by this event. |
-
-### Event.ModemTransferEvent.ModemTransferStartedEvent
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | none |
-| organization | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-| title | [ string](#string) | none |
-| description | [ string](#string) | none |
-
### Event.OrganizationEvent
@@ -1376,20 +1295,6 @@ This event is disabled by default.
| transfer | [ hiber.transfer.Transfer](#hibertransfertransfer) | none |
| deprecated_transfer | [ hiber.modem.ModemTransfer](#hibermodemmodemtransfer) | Deprecated, here to be backwards compatible with ModemTransferEvents. |
-### Event.TransferEvent.DeprecatedTransfer
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| identifier | [ string](#string) | none |
-| modem_numbers | [repeated string](#string) | none |
-| sender_organization | [ string](#string) | none |
-| recipient_organization | [ string](#string) | none |
-| comment | [ string](#string) | none |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | none |
-
### Event.UserEvent
@@ -2722,7 +2627,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -2754,7 +2658,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/field_service.md b/docs/md/field_service.md
index 852a08e..2da3fb6 100644
--- a/docs/md/field_service.md
+++ b/docs/md/field_service.md
@@ -549,7 +549,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -581,7 +580,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/map.md b/docs/md/map.md
index 7156e07..9cb9c5b 100644
--- a/docs/md/map.md
+++ b/docs/md/map.md
@@ -383,7 +383,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -415,7 +414,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/message.md b/docs/md/message.md
index 5ec8708..81b7a3d 100644
--- a/docs/md/message.md
+++ b/docs/md/message.md
@@ -532,7 +532,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -564,7 +563,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/modem.md b/docs/md/modem.md
index e4320ff..7f4f242 100644
--- a/docs/md/modem.md
+++ b/docs/md/modem.md
@@ -472,7 +472,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ Modem.Lifecycle](#modemlifecycle) | none |
| technical | [ Modem.TechnicalData](#modemtechnicaldata) | additional information |
@@ -551,7 +550,6 @@ open field for peripherals like battery, sensors, etc.
| ----- | ---- | ----------- |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| count | [ uint32](#uint32) | The number of modems matching the modem selection with this health level |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
### ModemHealthCount.HealthCountGroupedPerTag
@@ -657,7 +655,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated Modem.Lifecycle](#modemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ ModemSelection.Transfers](#modemselectiontransfers) | none |
diff --git a/docs/md/modem_alarm.md b/docs/md/modem_alarm.md
index 2858407..d9596eb 100644
--- a/docs/md/modem_alarm.md
+++ b/docs/md/modem_alarm.md
@@ -934,7 +934,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -966,7 +965,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/modem_claim.md b/docs/md/modem_claim.md
deleted file mode 100644
index bc90a70..0000000
--- a/docs/md/modem_claim.md
+++ /dev/null
@@ -1,888 +0,0 @@
-# modem_claim.proto
-
-
-
-#### This file was generated from [modem_claim.proto](https://github.com/HiberGlobal/api/blob/master/modem_claim.proto).
-
-## Table of Contents
-
-- Services
- - [ModemClaimService](#modemclaimservice)
-
-- Messages
- - [ClaimModemRequest](#claimmodemrequest)
- - [ClaimModemRequest.ClaimModem](#claimmodemrequestclaimmodem)
- - [ClaimModemRequest.Response](#claimmodemrequestresponse)
- - [ListModemClaimsRequest](#listmodemclaimsrequest)
- - [ListModemClaimsRequest.Response](#listmodemclaimsrequestresponse)
- - [ModemClaim](#modemclaim)
- - [ModemClaimSelection](#modemclaimselection)
-
-- Enums
-
-- Referenced messages from [tag.proto](#referenced-messages-from-tagproto)
- - [hiber.tag.Tag](#hibertagtag)
- - [hiber.tag.Tag.Label](#hibertagtaglabel)
- - [hiber.tag.TagSelection](#hibertagtagselection)
-
-
-- Referenced messages from [base.proto](#referenced-messages-from-baseproto)
- - [hiber.Area](#hiberarea)
- - [hiber.Avatar](#hiberavatar)
- - [hiber.BytesOrHex](#hiberbytesorhex)
- - [hiber.BytesOrHex.Update](#hiberbytesorhexupdate)
- - [hiber.Date](#hiberdate)
- - [hiber.DoubleRange](#hiberdoublerange)
- - [hiber.Duration](#hiberduration)
- - [hiber.Filter](#hiberfilter)
- - [hiber.Filter.ChildOrganizations](#hiberfilterchildorganizations)
- - [hiber.Filter.ChildOrganizations.Update](#hiberfilterchildorganizationsupdate)
- - [hiber.Filter.Events](#hiberfilterevents)
- - [hiber.Filter.Events.Update](#hiberfiltereventsupdate)
- - [hiber.Filter.FieldEnumValues](#hiberfilterfieldenumvalues)
- - [hiber.Filter.HealthLevels](#hiberfilterhealthlevels)
- - [hiber.Filter.ModemIdentifiers](#hiberfiltermodemidentifiers)
- - [hiber.Filter.Modems](#hiberfiltermodems)
- - [hiber.Filter.Modems.Update](#hiberfiltermodemsupdate)
- - [hiber.Filter.OrganizationPermissions](#hiberfilterorganizationpermissions)
- - [hiber.Filter.Organizations](#hiberfilterorganizations)
- - [hiber.Filter.Properties](#hiberfilterproperties)
- - [hiber.Filter.Publishers](#hiberfilterpublishers)
- - [hiber.Filter.SupportPermissions](#hiberfiltersupportpermissions)
- - [hiber.Filter.Tags](#hiberfiltertags)
- - [hiber.Filter.Tags.Update](#hiberfiltertagsupdate)
- - [hiber.Filter.UserPermissions](#hiberfilteruserpermissions)
- - [hiber.Filter.Users](#hiberfilterusers)
- - [hiber.Filter.Webhooks](#hiberfilterwebhooks)
- - [hiber.Location](#hiberlocation)
- - [hiber.LocationSelection](#hiberlocationselection)
- - [hiber.MapFilter](#hibermapfilter)
- - [hiber.MapFilter.ExcludeEntry](#hibermapfilterexcludeentry)
- - [hiber.MapFilter.IncludeAndEntry](#hibermapfilterincludeandentry)
- - [hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues)
- - [hiber.NamedFile](#hibernamedfile)
- - [hiber.Pagination](#hiberpagination)
- - [hiber.Pagination.Result](#hiberpaginationresult)
- - [hiber.Shape](#hibershape)
- - [hiber.TimeRange](#hibertimerange)
- - [hiber.Timestamp](#hibertimestamp)
- - [hiber.UpdateBoolean](#hiberupdateboolean)
- - [hiber.UpdateClearableString](#hiberupdateclearablestring)
- - [hiber.UpdateOptionalDuration](#hiberupdateoptionalduration)
- - [hiber.UpdateOptionalId](#hiberupdateoptionalid)
- - [hiber.UpdateZeroableInt](#hiberupdatezeroableint)
- - Enums
- - [hiber.EventType](#hibereventtype)
- - [hiber.Health](#hiberhealth)
- - [hiber.UnitOfMeasurement](#hiberunitofmeasurement)
-
-- [Scalar Value Types](#scalar-value-types)
-
-
-## ModemClaimService
-Claim a modem that you have in your possession, but was not marked as inbound for you.
-This is only possible for a modem that has not been activated.
-This process is instantaneous, but the previous owner can reject the claim afterwards.
-
-This service is deprecated and will be removed in the future. In some cases, it may be disabled before it is removed.
-// TODO(2023-03-01) remove this service from the API before this date
-
-### Claim
-> **rpc** Claim([ClaimModemRequest](#claimmodemrequest))
- [ClaimModemRequest.Response](#claimmodemrequestresponse)
-
-Claim a number of modems.
-
-### ListClaims
-> **rpc** ListClaims([ListModemClaimsRequest](#listmodemclaimsrequest))
- [ListModemClaimsRequest.Response](#listmodemclaimsrequestresponse)
-
-List modems that have been claimed. They are no longer part if your organization.
-
-
-## Messages
-
-### ClaimModemRequest
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| organization | [ string](#string) | Pick the organization to use (/impersonate). If unset, your default organization is used. |
-| claims | [repeated ClaimModemRequest.ClaimModem](#claimmodemrequestclaimmodem) | none |
-
-### ClaimModemRequest.ClaimModem
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| modem_number | [ string](#string) | none |
-| verifier | [ string](#string) | none |
-
-### ClaimModemRequest.Response
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| request | [ ClaimModemRequest](#claimmodemrequest) | none |
-| claims | [repeated ModemClaim](#modemclaim) | none |
-
-### ListModemClaimsRequest
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| organization | [ string](#string) | Pick the organization to use (/impersonate). If unset, your default organization is used. |
-| selection | [ ModemClaimSelection](#modemclaimselection) | none |
-| pagination | [ hiber.Pagination](#hiberpagination) | none |
-
-### ListModemClaimsRequest.Response
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| claims | [repeated ModemClaim](#modemclaim) | none |
-| request | [ ListModemClaimsRequest](#listmodemclaimsrequest) | none |
-| pagination | [ hiber.Pagination.Result](#hiberpaginationresult) | none |
-
-### ModemClaim
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| modem_number | [ string](#string) | none |
-| created_at | [ hiber.Timestamp](#hibertimestamp) | none |
-| claiming_organization | [ string](#string) | none |
-| tags | [repeated hiber.tag.Tag](#hibertagtag) | Tags the modem had when it was claimed. |
-
-### ModemClaimSelection
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| modems | [ hiber.Filter.Modems](#hiberfiltermodems) | none |
-| time_range | [ hiber.TimeRange](#hibertimerange) | none |
-
-
-## Enums
-
-
-## Referenced messages from tag.proto
-(Note that these are included because there is a proto dependency on the file,
-so not all messages listed here are referenced.)
-
-#### This section was generated from [tag.proto](https://github.com/HiberGlobal/api/blob/master/tag.proto).
-
-
-### hiber.tag.Tag
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| id | [ int64](#int64) | none |
-| label | [ hiber.tag.Tag.Label](#hibertagtaglabel) | none |
-
-### hiber.tag.Tag.Label
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| name | [ string](#string) | none |
-| type | [ string](#string) | none |
-
-### hiber.tag.TagSelection
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| search | [repeated string](#string) | none |
-| names | [repeated string](#string) | none |
-| filter | [ hiber.Filter.Tags](#hiberfiltertags) | none |
-| types | [repeated string](#string) | none |
-
-
-### Enums
-
-
-## Referenced messages from base.proto
-(Note that these are included because there is a proto dependency on the file,
-so not all messages listed here are referenced.)
-
-#### This section was generated from [base.proto](https://github.com/HiberGlobal/api/blob/master/base.proto).
-
-
-### hiber.Area
-
-Rectangular area between two locations, normalized to bottom-left and top-right points.
-
-Center point is added for convenience; it's simple the point directly between the two corner points.
-When sending an Area to the api, the center location is ignored.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| center | [ hiber.Location](#hiberlocation) | none |
-| bottom_left | [ hiber.Location](#hiberlocation) | none |
-| top_right | [ hiber.Location](#hiberlocation) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.Avatar
-
-An avatar is represented either by a (publicly) fetchable URL that serves an image,
-xor a binary payload that knows its name and mime-type.
-
-If it is a url, it must be obtainable without credentials, though this is not validated by the API.
-Because the content behind URL's can change or become unavailable over time,
-the client should make sure it properly caches the data fetched from the URL.
-("Properly" means [among other things] respecting the response headers for this resource)
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.url | [ string](#string) | A URL that contains the location of avatar. |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.image | [ hiber.NamedFile](#hibernamedfile) | The data of the avatar as a Named File. |
-
-### hiber.BytesOrHex
-
-Some clients may prefer direct binary data, while other prefer a hexadecimal string,
-both for input and output. To support both methods, this object is used to represent binary data.
-
-When you receive this from the api, both fields are set. When sending it to the api, only one field is required.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| bytes | [ bytes](#bytes) | none |
-| hex | [ string](#string) | none |
-
-### hiber.BytesOrHex.Update
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.BytesOrHex](#hiberbytesorhex) | none |
-
-### hiber.Date
-
-Date type for convenience.
-
-Some clients are better at parsing year, month and day of month as separate fields,
-while others prefer a text-based format.
-To accommodate this, this Date type supports both.
-
-When used as API output, both the int fields and textual fields will be set.
-The textual field has the commonly used ISO 8601 local date format (i.e. "2018-01-01").
-When used an API input, either specify the int fields or the textual field.
-If both are specified, the textual field will be discarded.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| year | [ uint32](#uint32) | none |
-| month | [ uint32](#uint32) | none |
-| day | [ uint32](#uint32) | none |
-| textual | [ string](#string) | none |
-
-### hiber.DoubleRange
-
-Decimal range.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ double](#double) | none |
-| end | [ double](#double) | none |
-
-### hiber.Duration
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| duration | [ google.protobuf.Duration](#googleprotobufduration) | none |
-| textual | [ string](#string) | none |
-
-### hiber.Filter
-
-Filters used in many api calls to filter the data sources, results, etc.
-
-"Include" fields filter out anything not in the include set.
-When not set, all items will be returned (except excluded items)
-
-"Exclude" fields filter out anything in the exclude set.
-When combined with include, exclude takes precedence when determining whether an item is filtered
-
-
-### hiber.Filter.ChildOrganizations
-
-Specify which organizations to get data from. By default, data is only retrieved for the current organization,
-but using ChildOrganizations we can specify to include a number of, or all, sub-organizations.
-
-Note: ChildOrganization differs from other filters in that it defaults to not allowing anything, where the
-other filters default to allowing everything
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.ChildOrganizations.Update
-
-Update object to update a Filter.ChildOrganizations field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.ChildOrganizations](#hiberfilterchildorganizations) | none |
-
-### hiber.Filter.Events
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated hiber.EventType](#hibereventtype) | none |
-| exclude | [repeated hiber.EventType](#hibereventtype) | none |
-
-### hiber.Filter.Events.Update
-
-Update object to update a Filter.Events field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Events](#hiberfilterevents) | none |
-
-### hiber.Filter.FieldEnumValues
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| field | [ string](#string) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.HealthLevels
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.ModemIdentifiers
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Modems
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | Include all modems with these modem numbers (HEX) |
-| exclude | [repeated string](#string) | Exclude all modems with these modem numbers (HEX). Exclude takes precedence over include. |
-
-### hiber.Filter.Modems.Update
-
-Update object to update a Filter.Modems field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Modems](#hiberfiltermodems) | none |
-
-### hiber.Filter.OrganizationPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated hiber.OrganizationPermission](#hiberorganizationpermission) | none |
-| exclude | [repeated hiber.OrganizationPermission](#hiberorganizationpermission) | none |
-
-### hiber.Filter.Organizations
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Properties
-
-Filter result on specific properties encoded in map-value pairs.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **selection**.properties | [ hiber.MapFilter](#hibermapfilter) | none |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **selection**.include_only_empty | [ bool](#bool) | When set to true, match only empty property-sets. |
-
-### hiber.Filter.Publishers
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### hiber.Filter.SupportPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated hiber.SupportPermission](#hibersupportpermission) | none |
-| exclude | [repeated hiber.SupportPermission](#hibersupportpermission) | none |
-
-### hiber.Filter.Tags
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-
-### hiber.Filter.Tags.Update
-
-Update object to update a Filter.Tags field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Tags](#hiberfiltertags) | none |
-
-### hiber.Filter.UserPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated hiber.UserPermission](#hiberuserpermission) | none |
-| exclude | [repeated hiber.UserPermission](#hiberuserpermission) | none |
-
-### hiber.Filter.Users
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Webhooks
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### hiber.Location
-
-Geographic latitude and longitude coordinates specified in decimal degrees.
-For more information, see the WGS-84 coordinate system, which is used for most GPS systems.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| latitude | [ double](#double) | Decimal degrees north. |
-| longitude | [ double](#double) | Decimal degrees east. |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.LocationSelection
-
-Selection object for map data. Filter modems on the map by id, (child)organization.
-
-Also, filter the map data by level and area restriction, to only display a small area at a detailed map level,
-for example
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| areas | [repeated hiber.Area](#hiberarea) | Rectangular areas, each defined by two locations, normalized to bottom-left and top-right points. |
-| shapes | [repeated hiber.Shape](#hibershape) | Polygon shapes, each defined by a list of locations, which draw a shape on the map. |
-
-### hiber.MapFilter
-
-Some properties are stored as a name-value pair (e.g. bluetooth: 4.0, bluetooth: BLE).
-This filter allows selecting a range of values for a specific name.
-One could imagine wanting to include "all devices with bluetooth 4.0 or 4.1".
-
-To select for multiple versions of a property,
-add the name of the property as a map-key and add a repeated list of versions as the map-value.
-
-For example:
-- include { 'bluetooth' -> [ ] }
- returns all items that have any version of bluetooth,
-- include { 'bluetooth' -> [ '4.0', '5.0' ] }
- will only return items that have bluetooth version 4.0 _or_ 5.0 (inclusive or),
-- include { 'bluetooth' -> [ '' ] }
- would only select bluetooth peripherals that don't have any version set,
-- include { 'bluetooth' -> [ ], 'LoRaWAN' -> [ ] }
- will only select items that have both bluetooth (any version) _and_ LoRaWAN (any version),
-- include { 'bluetooth' -> [ ] }, exclude { 'bluetooth' -> [ ] }
- will return an empty list since exclude will take precedence, and
-- include { 'bluetooth' -> [ ] }, exclude { 'bluetooth' -> [ '3.0' ] }
- returns only items that have bluetooth, but not version 3.0.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_and | [map hiber.MapFilter.IncludeAndEntry](#hibermapfilterincludeandentry) | Filter to only include items with all of the given set of properties. |
-| exclude | [map hiber.MapFilter.ExcludeEntry](#hibermapfilterexcludeentry) | Filter to exclude items with any of the given set of properties. |
-
-### hiber.MapFilter.ExcludeEntry
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| key | [ string](#string) | none |
-| value | [ hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues) | none |
-
-### hiber.MapFilter.IncludeAndEntry
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| key | [ string](#string) | none |
-| value | [ hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues) | none |
-
-### hiber.MapFilter.OneOfValues
-
-Technical solution to make map into a map,
-which is not possible in protobuf without trickery.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| value | [repeated string](#string) | none |
-
-### hiber.NamedFile
-
-A NamedFile contains bytes with its mime-type and name.
-It can represent any file of any type.
-
-Note that depending on where in the API this is used,
-the server might put restrictions on file size, media-type or name length.
-
-The file name should be interpreted as-is.
-No hierarchical information is stored in the name, nor should you look at the "extension" to know its media-type.
-It might not even have a file extension.
-The file name may contain characters that cannot be a valid file name on certain systems.
-
-Specific API calls may pur restrictions on the name or size of the file.
-
-When showing this as an image in a browser, one can make use of a `data` URI.
-The client must convert the bytes to base64 and can then construct a data URI like this
-
- data:;base64,
-
-Other type clients should be able to sort-of-directly set the data bytes as the source for an image.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| data | [ hiber.BytesOrHex](#hiberbytesorhex) | The binary payload that represents the file |
-| media_type | [ string](#string) | The media-type of the file, as defined by RFC 6838 or its extensions |
-| name | [ string](#string) | A semantic name for this file. |
-
-### hiber.Pagination
-
-Pagination is normalized across the api. Provide a pagination object to get a specific page or offset,
-or limit your data.
-
-Calls that have a pagination option automatically return a Pagination.Result, which contains
-either the specified pagination options or the defaults, as well as total counts. It also contains Pagination
-objects that can be used for the previous and next page.
-
-This effectively means that an api user would never need to create their own pagination object; as long as they
-start at the first page and continue to the next, they can use the provided Pagination object.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-
-### hiber.Pagination.Result
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-| total | [ int32](#int32) | none |
-| total_pages | [ int32](#int32) | none |
-| previous | [ hiber.Pagination](#hiberpagination) | none |
-| next | [ hiber.Pagination](#hiberpagination) | none |
-| approximated_total | [ bool](#bool) | Indicates that the total is an approximation, and not an exact value. This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner. For example, unbundled events are likely to return an approximated total, but not guaranteed to do so. |
-
-### hiber.Shape
-
-Polygon shape defined by a list of locations, which draw a shape on the map.
-The last point is connected to the first to close the shape.
-
-For example, the outline of a city would be defined using a Shape,
-while a rectangular region is easier to define using Area.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| path | [repeated hiber.Location](#hiberlocation) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.TimeRange
-
-Period of time between two timestamps. Typically used for filtering.
-
-This can be used with textual shortcuts for timestamp, and some additional duration textual shortcuts:
-- a duration as an offset of now, i.e. "-10h" or "PT-10h": converted to now + offset, so start.textual -10h is
- 10 hours before the end time (using the ISO 8601 duration format)
-Examples:
-- start "-10h" end "now": a time range from 10 hours before the request time, to the request time
-- start "-10h" end "2022-01-01 20:00": becomes start 2022-01-01 10:00 end 2022-01-01 20:00
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ hiber.Timestamp](#hibertimestamp) | none |
-| end | [ hiber.Timestamp](#hibertimestamp) | none |
-
-### hiber.Timestamp
-
-Timestamp type for convenience.
-
-Some clients are better at parsing Google's seconds/nanos based timestamp, while others prefer a text-based format.
-To accommodate this, this Timestamp type supports both.
-
-When used as API output, both the timestamp and textual fields will be set. The textual field has the commonly
-used ISO 8601 format (i.e. "2018-01-01T13:00:00Z").
-When used an API input, only one of the fields is needed, there is no need to set both. When both are set, the
-timestamp field will be used, the textual field will be discarded.
-
-In addition, the textual field, when used as input, allows for a number of shortcuts that get converted into
-timestamps:
-- "now": converted to the current timestamp at the time of the request
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| timestamp | [ google.protobuf.Timestamp](#googleprotobuftimestamp) | none |
-| time_zone | [ string](#string) | none |
-| textual | [ string](#string) | none |
-
-### hiber.UpdateBoolean
-
-Update object for a boolean.
-
-Since false is the default value, we need to distinguish between an omitted value and setting the value to false,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ bool](#bool) | none |
-
-### hiber.UpdateClearableString
-
-Update object for a string that can be empty.
-
-Since an empty string is also the default value, we need to distinguish between an omitted value and
-setting the value to an empty string, in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ string](#string) | none |
-
-### hiber.UpdateOptionalDuration
-
-Update object for an optional Duration.
-
-To use this to update, set a value and set updated to true.
-To clear the duration, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Duration](#hiberduration) | none |
-
-### hiber.UpdateOptionalId
-
-Update object for an optional id.
-
-To use this to update, set a value and set updated to true. To clear the id, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ int64](#int64) | none |
-
-### hiber.UpdateZeroableInt
-
-Update object for an int that can be set to 0.
-
-Since 0 is also the default value, we need to distinguish between an omitted value and setting the value to 0,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ uint32](#uint32) | none |
-
-
-### Enums
-#### hiber.EventType
-Enum of api-accessible events.
-
-The event types in this enum have a protobuf implementation, and can be used, for example, in the
-api event stream and publishers.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| DEFAULT | none | 0 |
-| ORGANIZATION_CREATED | none | 34 |
-| ORGANIZATION_UPDATED | none | 12 |
-| ORGANIZATION_DELETED | none | 35 |
-| ORGANIZATION_EVENT_CONFIGURATION_UPDATED | none | 43 |
-| MODEM_CREATED | none | 55 |
-| MODEM_UPDATED | none | 36 |
-| MODEM_LOCATION_UPDATED | none | 4 |
-| MODEM_ACTIVATED | none | 33 |
-| MODEM_MESSAGE_RECEIVED | none | 5 |
-| MODEM_MESSAGE_BODY_PARSED | none | 39 |
-| MODEM_MESSAGE_BODY_RECEIVED | none | 45 |
-| MODEM_MESSAGE_CANNOT_BE_PARSED | none | 15 |
-| MODEM_MESSAGE_SUMMARY | none | 42 |
-| MODEM_MESSAGE_BODY_PARSER_CREATED | none | 46 |
-| MODEM_MESSAGE_BODY_PARSER_UPDATED | none | 47 |
-| MODEM_MESSAGE_BODY_PARSER_DELETED | none | 48 |
-| MODEM_ALARM | none | 56 |
-| MODEM_ALARM_CREATED | none | 57 |
-| MODEM_ALARM_UPDATED | none | 58 |
-| MODEM_ALARM_DELETED | none | 59 |
-| ASSIGNED | none | 63 |
-| UNASSIGNED | none | 64 |
-| TRANSFER | none | 18 |
-| PUBLISHER_CREATED | none | 1 |
-| PUBLISHER_UPDATED | none | 2 |
-| PUBLISHER_DELETED | none | 3 |
-| PUBLISHER_AUTO_DISABLED | none | 37 |
-| PUBLISHER_FAILED | none | 11 |
-| USER_ACCESS_REQUEST | none | 8 |
-| USER_INVITED | none | 38 |
-| USER_ADDED | none | 9 |
-| USER_REMOVED | none | 10 |
-| USER_VALIDATION_UPDATED | none | 54 |
-| TOKEN_CREATED | none | 31 |
-| TOKEN_EXPIRY_WARNING | none | 25 |
-| TOKEN_EXPIRED | none | 26 |
-| TOKEN_DELETED | none | 32 |
-| EXPORT_CREATED | none | 65 |
-| EXPORT_READY | none | 66 |
-| EXPORT_FAILED | none | 67 |
-
-#### hiber.Health
-Health is an indicator for issues. It is used for publishers to give a quick indication of issues.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| OK | none | 0 |
-| WARNING | none | 1 |
-| ERROR | none | 2 |
-
-#### hiber.UnitOfMeasurement
-Unit of measurement for a numeric value.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| UNIT_UNKNOWN | none | 0 |
-| DURATION_MILLISECONDS | none | 40 |
-| DURATION_SECONDS | none | 1 |
-| DURATION_MINUTES | none | 2 |
-| DURATION_HOURS | none | 3 |
-| DURATION_DAYS | none | 4 |
-| DURATION_WEEKS | none | 41 |
-| FUEL_EFFICIENCY_LITER_PER_100_KILOMETER | none | 30 |
-| FUEL_EFFICIENCY_KILOMETER_PER_LITER | none | 31 |
-| FUEL_EFFICIENCY_KILOMETER_PER_US_GALLON | none | 32 |
-| FUEL_EFFICIENCY_KILOMETER_PER_IMPERIAL_GALLON | none | 33 |
-| FUEL_EFFICIENCY_MILE_PER_US_GALLON | none | 34 |
-| FUEL_EFFICIENCY_MILE_PER_IMPERIAL_GALLON | none | 35 |
-| FUEL_EFFICIENCY_MILE_PER_LITER | none | 36 |
-| DISTANCE_METER | none | 8 |
-| DISTANCE_MILLIMETER | none | 9 |
-| DISTANCE_CENTIMETER | none | 10 |
-| DISTANCE_KILOMETER | none | 11 |
-| DISTANCE_NAUTICAL_MILE | none | 26 |
-| DISTANCE_MILE | none | 21 |
-| DISTANCE_YARD | none | 27 |
-| DISTANCE_FOOT | none | 28 |
-| DISTANCE_INCH | none | 29 |
-| PERCENT | none | 16 |
-| PRESSURE_BAR | none | 12 |
-| PRESSURE_PSI | none | 14 |
-| PRESSURE_K_PA | none | 17 |
-| SPEED_KILOMETERS_PER_HOUR | none | 18 |
-| SPEED_KNOTS | none | 19 |
-| SPEED_METERS_PER_SECOND | none | 20 |
-| SPEED_MILES_PER_HOUR | none | 22 |
-| TEMPERATURE_KELVIN | none | 5 |
-| TEMPERATURE_DEGREES_CELSIUS | none | 6 |
-| TEMPERATURE_DEGREES_FAHRENHEIT | none | 7 |
-| VOLTAGE_MILLIVOLT | none | 15 |
-| VOLUME_LITER | none | 23 |
-| VOLUME_GALLON_US | none | 24 |
-| VOLUME_GALLON_IMPERIAL | none | 25 |
-| VOLUME_CUBIC_METER | none | 42 |
-| VOLUME_CUBIC_FOOT | none | 43 |
-| MASS_KILOGRAMS | none | 37 |
-| MASS_POUNDS | none | 38 |
-| FLOW_CUBIC_METERS_PER_HOUR | none | 39 |
-| FLOW_BARRELS_PER_DAY | none | 46 |
-| REVOLUTIONS_PER_MINUTE | none | 44 |
-| ITEMS_PER_24_HOURS | none | 45 |
-
-## Scalar Value Types
-
-| .proto Type | Notes | C++ Type | Java Type | Python Type |
-| ----------- | ----- | -------- | --------- | ----------- |
-|
double | | double | double | float |
-|
float | | float | float | float |
-|
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
-|
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
-|
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
-|
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
-|
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
-|
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
-|
sfixed32 | Always four bytes. | int32 | int | int |
-|
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
-|
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |
-
diff --git a/docs/md/modem_message_body_parser.md b/docs/md/modem_message_body_parser.md
index 9baff22..b7d2fc8 100644
--- a/docs/md/modem_message_body_parser.md
+++ b/docs/md/modem_message_body_parser.md
@@ -825,7 +825,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -857,7 +856,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/modem_message_downlink.md b/docs/md/modem_message_downlink.md
index 3416031..346cc58 100644
--- a/docs/md/modem_message_downlink.md
+++ b/docs/md/modem_message_downlink.md
@@ -265,7 +265,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -297,7 +296,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/modem_transfer.md b/docs/md/modem_transfer.md
index 105b92c..7e09231 100644
--- a/docs/md/modem_transfer.md
+++ b/docs/md/modem_transfer.md
@@ -520,7 +520,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -552,7 +551,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/satellite.md b/docs/md/satellite.md
deleted file mode 100644
index 3deec9c..0000000
--- a/docs/md/satellite.md
+++ /dev/null
@@ -1,898 +0,0 @@
-# satellite.proto
-
-
-
-#### This file was generated from [satellite.proto](https://github.com/HiberGlobal/api/blob/master/satellite.proto).
-
-## Table of Contents
-
-- Services
- - [SatelliteService](#satelliteservice)
-
-- Messages
- - [ListSatellitesPassesRequest](#listsatellitespassesrequest)
- - [ListSatellitesPassesRequest.Response](#listsatellitespassesrequestresponse)
- - [ListSatellitesPathRequest](#listsatellitespathrequest)
- - [ListSatellitesPathRequest.Response](#listsatellitespathrequestresponse)
- - [ListSatellitesRequest](#listsatellitesrequest)
- - [ListSatellitesRequest.Response](#listsatellitesrequestresponse)
- - [SatelliteInformation](#satelliteinformation)
- - [SatellitePasses](#satellitepasses)
- - [SatellitePasses.Pass](#satellitepassespass)
- - [SatellitePath](#satellitepath)
- - [SatellitePath.Position](#satellitepathposition)
- - [SatelliteSelection](#satelliteselection)
-
-- Enums
-
-- Referenced messages from [base.proto](#referenced-messages-from-baseproto)
- - [hiber.Area](#hiberarea)
- - [hiber.Avatar](#hiberavatar)
- - [hiber.BytesOrHex](#hiberbytesorhex)
- - [hiber.BytesOrHex.Update](#hiberbytesorhexupdate)
- - [hiber.Date](#hiberdate)
- - [hiber.DoubleRange](#hiberdoublerange)
- - [hiber.Duration](#hiberduration)
- - [hiber.Filter](#hiberfilter)
- - [hiber.Filter.ChildOrganizations](#hiberfilterchildorganizations)
- - [hiber.Filter.ChildOrganizations.Update](#hiberfilterchildorganizationsupdate)
- - [hiber.Filter.Events](#hiberfilterevents)
- - [hiber.Filter.Events.Update](#hiberfiltereventsupdate)
- - [hiber.Filter.FieldEnumValues](#hiberfilterfieldenumvalues)
- - [hiber.Filter.HealthLevels](#hiberfilterhealthlevels)
- - [hiber.Filter.ModemIdentifiers](#hiberfiltermodemidentifiers)
- - [hiber.Filter.Modems](#hiberfiltermodems)
- - [hiber.Filter.Modems.Update](#hiberfiltermodemsupdate)
- - [hiber.Filter.OrganizationPermissions](#hiberfilterorganizationpermissions)
- - [hiber.Filter.Organizations](#hiberfilterorganizations)
- - [hiber.Filter.Properties](#hiberfilterproperties)
- - [hiber.Filter.Publishers](#hiberfilterpublishers)
- - [hiber.Filter.SupportPermissions](#hiberfiltersupportpermissions)
- - [hiber.Filter.Tags](#hiberfiltertags)
- - [hiber.Filter.Tags.Update](#hiberfiltertagsupdate)
- - [hiber.Filter.UserPermissions](#hiberfilteruserpermissions)
- - [hiber.Filter.Users](#hiberfilterusers)
- - [hiber.Filter.Webhooks](#hiberfilterwebhooks)
- - [hiber.Location](#hiberlocation)
- - [hiber.LocationSelection](#hiberlocationselection)
- - [hiber.MapFilter](#hibermapfilter)
- - [hiber.MapFilter.ExcludeEntry](#hibermapfilterexcludeentry)
- - [hiber.MapFilter.IncludeAndEntry](#hibermapfilterincludeandentry)
- - [hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues)
- - [hiber.NamedFile](#hibernamedfile)
- - [hiber.Pagination](#hiberpagination)
- - [hiber.Pagination.Result](#hiberpaginationresult)
- - [hiber.Shape](#hibershape)
- - [hiber.TimeRange](#hibertimerange)
- - [hiber.Timestamp](#hibertimestamp)
- - [hiber.UpdateBoolean](#hiberupdateboolean)
- - [hiber.UpdateClearableString](#hiberupdateclearablestring)
- - [hiber.UpdateOptionalDuration](#hiberupdateoptionalduration)
- - [hiber.UpdateOptionalId](#hiberupdateoptionalid)
- - [hiber.UpdateZeroableInt](#hiberupdatezeroableint)
- - Enums
- - [hiber.EventType](#hibereventtype)
- - [hiber.Health](#hiberhealth)
- - [hiber.UnitOfMeasurement](#hiberunitofmeasurement)
-
-- [Scalar Value Types](#scalar-value-types)
-
-
-## SatelliteService
-
-
-### List
-> **rpc** List([ListSatellitesRequest](#listsatellitesrequest))
- [ListSatellitesRequest.Response](#listsatellitesrequestresponse)
-
-
-
-### Path
-> **rpc** Path([ListSatellitesPathRequest](#listsatellitespathrequest))
- [ListSatellitesPathRequest.Response](#listsatellitespathrequestresponse)
-
-
-
-### Passes
-> **rpc** Passes([ListSatellitesPassesRequest](#listsatellitespassesrequest))
- [ListSatellitesPassesRequest.Response](#listsatellitespassesrequestresponse)
-
-
-
-
-## Messages
-
-### ListSatellitesPassesRequest
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| organization | [ string](#string) | Pick the organization to use (/impersonate). If unset, your default organization is used. |
-| selection | [ SatelliteSelection](#satelliteselection) | The satellites to calculate passes for. |
-| time_range | [ hiber.TimeRange](#hibertimerange) | The time to calculate the satellite passes in. |
-| locations | [repeated hiber.Location](#hiberlocation) | A list of locations to calculate passes for. One or both of locations or modem numbers must be specified. |
-| modem_numbers | [repeated string](#string) | A list of modems to calculate passes for. One or both of locations or modem numbers must be specified. |
-
-### ListSatellitesPassesRequest.Response
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| passes | [repeated SatellitePasses](#satellitepasses) | none |
-| request | [ ListSatellitesPassesRequest](#listsatellitespassesrequest) | none |
-
-### ListSatellitesPathRequest
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| selection | [ SatelliteSelection](#satelliteselection) | none |
-
-### ListSatellitesPathRequest.Response
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| satellite_path | [repeated SatellitePath](#satellitepath) | none |
-| request | [ ListSatellitesPathRequest](#listsatellitespathrequest) | none |
-
-### ListSatellitesRequest
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| selection | [ SatelliteSelection](#satelliteselection) | none |
-
-### ListSatellitesRequest.Response
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| satellites | [repeated SatelliteInformation](#satelliteinformation) | none |
-| request | [ ListSatellitesRequest](#listsatellitesrequest) | none |
-
-### SatelliteInformation
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| id | [ int32](#int32) | none |
-| name | [ string](#string) | none |
-| launched_at | [ hiber.Timestamp](#hibertimestamp) | none |
-| tle | [repeated string](#string) | none |
-
-### SatellitePasses
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| satellite_id | [ int32](#int32) | none |
-| location | [ hiber.Location](#hiberlocation) | The location the passes were calculated for. If this pass was calculated for a modem, this is the modem's location. |
-| modem_number | [ string](#string) | The modem the passes was calculated for, if any was specified. |
-| passes | [repeated SatellitePasses.Pass](#satellitepassespass) | none |
-
-### SatellitePasses.Pass
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| time | [ hiber.TimeRange](#hibertimerange) | none |
-| closest_approach | [ hiber.Timestamp](#hibertimestamp) | none |
-| max_elevation | [ float](#float) | none |
-| aos_azimuth | [ int32](#int32) | none |
-| los_azimuth | [ int32](#int32) | none |
-
-### SatellitePath
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| satellite_id | [ int32](#int32) | none |
-| name | [ string](#string) | none |
-| positions | [repeated SatellitePath.Position](#satellitepathposition) | none |
-
-### SatellitePath.Position
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| time | [ hiber.Timestamp](#hibertimestamp) | none |
-| location | [ hiber.Location](#hiberlocation) | none |
-
-### SatelliteSelection
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| ids | [repeated int32](#int32) | none |
-| search | [ string](#string) | none |
-
-
-## Enums
-
-
-## Referenced messages from base.proto
-(Note that these are included because there is a proto dependency on the file,
-so not all messages listed here are referenced.)
-
-#### This section was generated from [base.proto](https://github.com/HiberGlobal/api/blob/master/base.proto).
-
-
-### hiber.Area
-
-Rectangular area between two locations, normalized to bottom-left and top-right points.
-
-Center point is added for convenience; it's simple the point directly between the two corner points.
-When sending an Area to the api, the center location is ignored.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| center | [ hiber.Location](#hiberlocation) | none |
-| bottom_left | [ hiber.Location](#hiberlocation) | none |
-| top_right | [ hiber.Location](#hiberlocation) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.Avatar
-
-An avatar is represented either by a (publicly) fetchable URL that serves an image,
-xor a binary payload that knows its name and mime-type.
-
-If it is a url, it must be obtainable without credentials, though this is not validated by the API.
-Because the content behind URL's can change or become unavailable over time,
-the client should make sure it properly caches the data fetched from the URL.
-("Properly" means [among other things] respecting the response headers for this resource)
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.url | [ string](#string) | A URL that contains the location of avatar. |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **url_or_image**.image | [ hiber.NamedFile](#hibernamedfile) | The data of the avatar as a Named File. |
-
-### hiber.BytesOrHex
-
-Some clients may prefer direct binary data, while other prefer a hexadecimal string,
-both for input and output. To support both methods, this object is used to represent binary data.
-
-When you receive this from the api, both fields are set. When sending it to the api, only one field is required.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| bytes | [ bytes](#bytes) | none |
-| hex | [ string](#string) | none |
-
-### hiber.BytesOrHex.Update
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.BytesOrHex](#hiberbytesorhex) | none |
-
-### hiber.Date
-
-Date type for convenience.
-
-Some clients are better at parsing year, month and day of month as separate fields,
-while others prefer a text-based format.
-To accommodate this, this Date type supports both.
-
-When used as API output, both the int fields and textual fields will be set.
-The textual field has the commonly used ISO 8601 local date format (i.e. "2018-01-01").
-When used an API input, either specify the int fields or the textual field.
-If both are specified, the textual field will be discarded.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| year | [ uint32](#uint32) | none |
-| month | [ uint32](#uint32) | none |
-| day | [ uint32](#uint32) | none |
-| textual | [ string](#string) | none |
-
-### hiber.DoubleRange
-
-Decimal range.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ double](#double) | none |
-| end | [ double](#double) | none |
-
-### hiber.Duration
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| duration | [ google.protobuf.Duration](#googleprotobufduration) | none |
-| textual | [ string](#string) | none |
-
-### hiber.Filter
-
-Filters used in many api calls to filter the data sources, results, etc.
-
-"Include" fields filter out anything not in the include set.
-When not set, all items will be returned (except excluded items)
-
-"Exclude" fields filter out anything in the exclude set.
-When combined with include, exclude takes precedence when determining whether an item is filtered
-
-
-### hiber.Filter.ChildOrganizations
-
-Specify which organizations to get data from. By default, data is only retrieved for the current organization,
-but using ChildOrganizations we can specify to include a number of, or all, sub-organizations.
-
-Note: ChildOrganization differs from other filters in that it defaults to not allowing anything, where the
-other filters default to allowing everything
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.ChildOrganizations.Update
-
-Update object to update a Filter.ChildOrganizations field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.ChildOrganizations](#hiberfilterchildorganizations) | none |
-
-### hiber.Filter.Events
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated hiber.EventType](#hibereventtype) | none |
-| exclude | [repeated hiber.EventType](#hibereventtype) | none |
-
-### hiber.Filter.Events.Update
-
-Update object to update a Filter.Events field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Events](#hiberfilterevents) | none |
-
-### hiber.Filter.FieldEnumValues
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| field | [ string](#string) | none |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.HealthLevels
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.ModemIdentifiers
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Modems
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | Include all modems with these modem numbers (HEX) |
-| exclude | [repeated string](#string) | Exclude all modems with these modem numbers (HEX). Exclude takes precedence over include. |
-
-### hiber.Filter.Modems.Update
-
-Update object to update a Filter.Modems field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Modems](#hiberfiltermodems) | none |
-
-### hiber.Filter.OrganizationPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated hiber.OrganizationPermission](#hiberorganizationpermission) | none |
-| exclude | [repeated hiber.OrganizationPermission](#hiberorganizationpermission) | none |
-
-### hiber.Filter.Organizations
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Properties
-
-Filter result on specific properties encoded in map-value pairs.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **selection**.properties | [ hiber.MapFilter](#hibermapfilter) | none |
-| [**oneof**](https://developers.google.com/protocol-buffers/docs/proto3#oneof) **selection**.include_only_empty | [ bool](#bool) | When set to true, match only empty property-sets. |
-
-### hiber.Filter.Publishers
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### hiber.Filter.SupportPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated hiber.SupportPermission](#hibersupportpermission) | none |
-| exclude | [repeated hiber.SupportPermission](#hibersupportpermission) | none |
-
-### hiber.Filter.Tags
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-
-### hiber.Filter.Tags.Update
-
-Update object to update a Filter.Tags field.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Filter.Tags](#hiberfiltertags) | none |
-
-### hiber.Filter.UserPermissions
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_all | [ bool](#bool) | none |
-| include | [repeated hiber.UserPermission](#hiberuserpermission) | none |
-| exclude | [repeated hiber.UserPermission](#hiberuserpermission) | none |
-
-### hiber.Filter.Users
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated string](#string) | none |
-| exclude | [repeated string](#string) | none |
-
-### hiber.Filter.Webhooks
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include | [repeated int64](#int64) | none |
-| exclude | [repeated int64](#int64) | none |
-| only_active | [ bool](#bool) | none |
-
-### hiber.Location
-
-Geographic latitude and longitude coordinates specified in decimal degrees.
-For more information, see the WGS-84 coordinate system, which is used for most GPS systems.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| latitude | [ double](#double) | Decimal degrees north. |
-| longitude | [ double](#double) | Decimal degrees east. |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.LocationSelection
-
-Selection object for map data. Filter modems on the map by id, (child)organization.
-
-Also, filter the map data by level and area restriction, to only display a small area at a detailed map level,
-for example
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| areas | [repeated hiber.Area](#hiberarea) | Rectangular areas, each defined by two locations, normalized to bottom-left and top-right points. |
-| shapes | [repeated hiber.Shape](#hibershape) | Polygon shapes, each defined by a list of locations, which draw a shape on the map. |
-
-### hiber.MapFilter
-
-Some properties are stored as a name-value pair (e.g. bluetooth: 4.0, bluetooth: BLE).
-This filter allows selecting a range of values for a specific name.
-One could imagine wanting to include "all devices with bluetooth 4.0 or 4.1".
-
-To select for multiple versions of a property,
-add the name of the property as a map-key and add a repeated list of versions as the map-value.
-
-For example:
-- include { 'bluetooth' -> [ ] }
- returns all items that have any version of bluetooth,
-- include { 'bluetooth' -> [ '4.0', '5.0' ] }
- will only return items that have bluetooth version 4.0 _or_ 5.0 (inclusive or),
-- include { 'bluetooth' -> [ '' ] }
- would only select bluetooth peripherals that don't have any version set,
-- include { 'bluetooth' -> [ ], 'LoRaWAN' -> [ ] }
- will only select items that have both bluetooth (any version) _and_ LoRaWAN (any version),
-- include { 'bluetooth' -> [ ] }, exclude { 'bluetooth' -> [ ] }
- will return an empty list since exclude will take precedence, and
-- include { 'bluetooth' -> [ ] }, exclude { 'bluetooth' -> [ '3.0' ] }
- returns only items that have bluetooth, but not version 3.0.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| include_and | [map hiber.MapFilter.IncludeAndEntry](#hibermapfilterincludeandentry) | Filter to only include items with all of the given set of properties. |
-| exclude | [map hiber.MapFilter.ExcludeEntry](#hibermapfilterexcludeentry) | Filter to exclude items with any of the given set of properties. |
-
-### hiber.MapFilter.ExcludeEntry
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| key | [ string](#string) | none |
-| value | [ hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues) | none |
-
-### hiber.MapFilter.IncludeAndEntry
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| key | [ string](#string) | none |
-| value | [ hiber.MapFilter.OneOfValues](#hibermapfilteroneofvalues) | none |
-
-### hiber.MapFilter.OneOfValues
-
-Technical solution to make map into a map,
-which is not possible in protobuf without trickery.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| value | [repeated string](#string) | none |
-
-### hiber.NamedFile
-
-A NamedFile contains bytes with its mime-type and name.
-It can represent any file of any type.
-
-Note that depending on where in the API this is used,
-the server might put restrictions on file size, media-type or name length.
-
-The file name should be interpreted as-is.
-No hierarchical information is stored in the name, nor should you look at the "extension" to know its media-type.
-It might not even have a file extension.
-The file name may contain characters that cannot be a valid file name on certain systems.
-
-Specific API calls may pur restrictions on the name or size of the file.
-
-When showing this as an image in a browser, one can make use of a `data` URI.
-The client must convert the bytes to base64 and can then construct a data URI like this
-
- data:;base64,
-
-Other type clients should be able to sort-of-directly set the data bytes as the source for an image.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| data | [ hiber.BytesOrHex](#hiberbytesorhex) | The binary payload that represents the file |
-| media_type | [ string](#string) | The media-type of the file, as defined by RFC 6838 or its extensions |
-| name | [ string](#string) | A semantic name for this file. |
-
-### hiber.Pagination
-
-Pagination is normalized across the api. Provide a pagination object to get a specific page or offset,
-or limit your data.
-
-Calls that have a pagination option automatically return a Pagination.Result, which contains
-either the specified pagination options or the defaults, as well as total counts. It also contains Pagination
-objects that can be used for the previous and next page.
-
-This effectively means that an api user would never need to create their own pagination object; as long as they
-start at the first page and continue to the next, they can use the provided Pagination object.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-
-### hiber.Pagination.Result
-
-
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| size | [ int32](#int32) | none |
-| page | [ int32](#int32) | none |
-| total | [ int32](#int32) | none |
-| total_pages | [ int32](#int32) | none |
-| previous | [ hiber.Pagination](#hiberpagination) | none |
-| next | [ hiber.Pagination](#hiberpagination) | none |
-| approximated_total | [ bool](#bool) | Indicates that the total is an approximation, and not an exact value. This can be set for data that changes often, or is generally only fetched in an infinite scrolling manner. For example, unbundled events are likely to return an approximated total, but not guaranteed to do so. |
-
-### hiber.Shape
-
-Polygon shape defined by a list of locations, which draw a shape on the map.
-The last point is connected to the first to close the shape.
-
-For example, the outline of a city would be defined using a Shape,
-while a rectangular region is easier to define using Area.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| path | [repeated hiber.Location](#hiberlocation) | none |
-| textual | [ string](#string) | Text representation. Can be used as an alternative input in a request, filled in by the API in responses. |
-
-### hiber.TimeRange
-
-Period of time between two timestamps. Typically used for filtering.
-
-This can be used with textual shortcuts for timestamp, and some additional duration textual shortcuts:
-- a duration as an offset of now, i.e. "-10h" or "PT-10h": converted to now + offset, so start.textual -10h is
- 10 hours before the end time (using the ISO 8601 duration format)
-Examples:
-- start "-10h" end "now": a time range from 10 hours before the request time, to the request time
-- start "-10h" end "2022-01-01 20:00": becomes start 2022-01-01 10:00 end 2022-01-01 20:00
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| start | [ hiber.Timestamp](#hibertimestamp) | none |
-| end | [ hiber.Timestamp](#hibertimestamp) | none |
-
-### hiber.Timestamp
-
-Timestamp type for convenience.
-
-Some clients are better at parsing Google's seconds/nanos based timestamp, while others prefer a text-based format.
-To accommodate this, this Timestamp type supports both.
-
-When used as API output, both the timestamp and textual fields will be set. The textual field has the commonly
-used ISO 8601 format (i.e. "2018-01-01T13:00:00Z").
-When used an API input, only one of the fields is needed, there is no need to set both. When both are set, the
-timestamp field will be used, the textual field will be discarded.
-
-In addition, the textual field, when used as input, allows for a number of shortcuts that get converted into
-timestamps:
-- "now": converted to the current timestamp at the time of the request
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| timestamp | [ google.protobuf.Timestamp](#googleprotobuftimestamp) | none |
-| time_zone | [ string](#string) | none |
-| textual | [ string](#string) | none |
-
-### hiber.UpdateBoolean
-
-Update object for a boolean.
-
-Since false is the default value, we need to distinguish between an omitted value and setting the value to false,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ bool](#bool) | none |
-
-### hiber.UpdateClearableString
-
-Update object for a string that can be empty.
-
-Since an empty string is also the default value, we need to distinguish between an omitted value and
-setting the value to an empty string, in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ string](#string) | none |
-
-### hiber.UpdateOptionalDuration
-
-Update object for an optional Duration.
-
-To use this to update, set a value and set updated to true.
-To clear the duration, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ hiber.Duration](#hiberduration) | none |
-
-### hiber.UpdateOptionalId
-
-Update object for an optional id.
-
-To use this to update, set a value and set updated to true. To clear the id, set updated to true, but set no value.
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ int64](#int64) | none |
-
-### hiber.UpdateZeroableInt
-
-Update object for an int that can be set to 0.
-
-Since 0 is also the default value, we need to distinguish between an omitted value and setting the value to 0,
-in an update object.
-
-To use this to update, set a value and set updated to true
-
-| Field | Type | Description |
-| ----- | ---- | ----------- |
-| updated | [ bool](#bool) | none |
-| value | [ uint32](#uint32) | none |
-
-
-### Enums
-#### hiber.EventType
-Enum of api-accessible events.
-
-The event types in this enum have a protobuf implementation, and can be used, for example, in the
-api event stream and publishers.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| DEFAULT | none | 0 |
-| ORGANIZATION_CREATED | none | 34 |
-| ORGANIZATION_UPDATED | none | 12 |
-| ORGANIZATION_DELETED | none | 35 |
-| ORGANIZATION_EVENT_CONFIGURATION_UPDATED | none | 43 |
-| MODEM_CREATED | none | 55 |
-| MODEM_UPDATED | none | 36 |
-| MODEM_LOCATION_UPDATED | none | 4 |
-| MODEM_ACTIVATED | none | 33 |
-| MODEM_MESSAGE_RECEIVED | none | 5 |
-| MODEM_MESSAGE_BODY_PARSED | none | 39 |
-| MODEM_MESSAGE_BODY_RECEIVED | none | 45 |
-| MODEM_MESSAGE_CANNOT_BE_PARSED | none | 15 |
-| MODEM_MESSAGE_SUMMARY | none | 42 |
-| MODEM_MESSAGE_BODY_PARSER_CREATED | none | 46 |
-| MODEM_MESSAGE_BODY_PARSER_UPDATED | none | 47 |
-| MODEM_MESSAGE_BODY_PARSER_DELETED | none | 48 |
-| MODEM_ALARM | none | 56 |
-| MODEM_ALARM_CREATED | none | 57 |
-| MODEM_ALARM_UPDATED | none | 58 |
-| MODEM_ALARM_DELETED | none | 59 |
-| ASSIGNED | none | 63 |
-| UNASSIGNED | none | 64 |
-| TRANSFER | none | 18 |
-| PUBLISHER_CREATED | none | 1 |
-| PUBLISHER_UPDATED | none | 2 |
-| PUBLISHER_DELETED | none | 3 |
-| PUBLISHER_AUTO_DISABLED | none | 37 |
-| PUBLISHER_FAILED | none | 11 |
-| USER_ACCESS_REQUEST | none | 8 |
-| USER_INVITED | none | 38 |
-| USER_ADDED | none | 9 |
-| USER_REMOVED | none | 10 |
-| USER_VALIDATION_UPDATED | none | 54 |
-| TOKEN_CREATED | none | 31 |
-| TOKEN_EXPIRY_WARNING | none | 25 |
-| TOKEN_EXPIRED | none | 26 |
-| TOKEN_DELETED | none | 32 |
-| EXPORT_CREATED | none | 65 |
-| EXPORT_READY | none | 66 |
-| EXPORT_FAILED | none | 67 |
-
-#### hiber.Health
-Health is an indicator for issues. It is used for publishers to give a quick indication of issues.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| OK | none | 0 |
-| WARNING | none | 1 |
-| ERROR | none | 2 |
-
-#### hiber.UnitOfMeasurement
-Unit of measurement for a numeric value.
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| UNIT_UNKNOWN | none | 0 |
-| DURATION_MILLISECONDS | none | 40 |
-| DURATION_SECONDS | none | 1 |
-| DURATION_MINUTES | none | 2 |
-| DURATION_HOURS | none | 3 |
-| DURATION_DAYS | none | 4 |
-| DURATION_WEEKS | none | 41 |
-| FUEL_EFFICIENCY_LITER_PER_100_KILOMETER | none | 30 |
-| FUEL_EFFICIENCY_KILOMETER_PER_LITER | none | 31 |
-| FUEL_EFFICIENCY_KILOMETER_PER_US_GALLON | none | 32 |
-| FUEL_EFFICIENCY_KILOMETER_PER_IMPERIAL_GALLON | none | 33 |
-| FUEL_EFFICIENCY_MILE_PER_US_GALLON | none | 34 |
-| FUEL_EFFICIENCY_MILE_PER_IMPERIAL_GALLON | none | 35 |
-| FUEL_EFFICIENCY_MILE_PER_LITER | none | 36 |
-| DISTANCE_METER | none | 8 |
-| DISTANCE_MILLIMETER | none | 9 |
-| DISTANCE_CENTIMETER | none | 10 |
-| DISTANCE_KILOMETER | none | 11 |
-| DISTANCE_NAUTICAL_MILE | none | 26 |
-| DISTANCE_MILE | none | 21 |
-| DISTANCE_YARD | none | 27 |
-| DISTANCE_FOOT | none | 28 |
-| DISTANCE_INCH | none | 29 |
-| PERCENT | none | 16 |
-| PRESSURE_BAR | none | 12 |
-| PRESSURE_PSI | none | 14 |
-| PRESSURE_K_PA | none | 17 |
-| SPEED_KILOMETERS_PER_HOUR | none | 18 |
-| SPEED_KNOTS | none | 19 |
-| SPEED_METERS_PER_SECOND | none | 20 |
-| SPEED_MILES_PER_HOUR | none | 22 |
-| TEMPERATURE_KELVIN | none | 5 |
-| TEMPERATURE_DEGREES_CELSIUS | none | 6 |
-| TEMPERATURE_DEGREES_FAHRENHEIT | none | 7 |
-| VOLTAGE_MILLIVOLT | none | 15 |
-| VOLUME_LITER | none | 23 |
-| VOLUME_GALLON_US | none | 24 |
-| VOLUME_GALLON_IMPERIAL | none | 25 |
-| VOLUME_CUBIC_METER | none | 42 |
-| VOLUME_CUBIC_FOOT | none | 43 |
-| MASS_KILOGRAMS | none | 37 |
-| MASS_POUNDS | none | 38 |
-| FLOW_CUBIC_METERS_PER_HOUR | none | 39 |
-| FLOW_BARRELS_PER_DAY | none | 46 |
-| REVOLUTIONS_PER_MINUTE | none | 44 |
-| ITEMS_PER_24_HOURS | none | 45 |
-
-## Scalar Value Types
-
-| .proto Type | Notes | C++ Type | Java Type | Python Type |
-| ----------- | ----- | -------- | --------- | ----------- |
-|
double | | double | double | float |
-|
float | | float | float | float |
-|
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
-|
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
-|
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
-|
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
-|
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
-|
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
-|
sfixed32 | Always four bytes. | int32 | int | int |
-|
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
-|
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |
-
diff --git a/docs/md/simulation_service.md b/docs/md/simulation_service.md
index a7585ef..5f2cb54 100644
--- a/docs/md/simulation_service.md
+++ b/docs/md/simulation_service.md
@@ -234,7 +234,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -266,7 +265,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/subscription.md b/docs/md/subscription.md
deleted file mode 100644
index 91ea9f6..0000000
--- a/docs/md/subscription.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# subscription.proto
-
-
-
-#### This file was generated from [subscription.proto](https://github.com/HiberGlobal/api/blob/master/subscription.proto).
-
-## Table of Contents
-
-
-
-
-
-- Enums
- - [ServiceType](#servicetype)
-
-- [Scalar Value Types](#scalar-value-types)
-
-
-
-
-## Enums
-### ServiceType
-
-
-| Name | Description | Number |
-| ---- | ----------- | ------ |
-| ONCE_PER_DAY | none | 0 |
-| ONCE_PER_6_HOURS | none | 1 |
-| ONCE_PER_HOUR | none | 2 |
-
-## Scalar Value Types
-
-| .proto Type | Notes | C++ Type | Java Type | Python Type |
-| ----------- | ----- | -------- | --------- | ----------- |
-|
double | | double | double | float |
-|
float | | float | float | float |
-|
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
-|
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
-|
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
-|
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
-|
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
-|
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
-|
sfixed32 | Always four bytes. | int32 | int | int |
-|
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
-|
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |
-
diff --git a/docs/md/testing.md b/docs/md/testing.md
index 098f22d..c5badda 100644
--- a/docs/md/testing.md
+++ b/docs/md/testing.md
@@ -439,7 +439,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -471,7 +470,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/docs/md/value_service.md b/docs/md/value_service.md
index f07481d..34df62e 100644
--- a/docs/md/value_service.md
+++ b/docs/md/value_service.md
@@ -20,6 +20,9 @@ Messages are parsed to a number of values (depending on the parser), which can b
- [AggregatedValues.Request.Partition](#aggregatedvaluesrequestpartition)
- [AggregatedValues.Request.TransformFieldsEntry](#aggregatedvaluesrequesttransformfieldsentry)
- [AggregatedValues.Response](#aggregatedvaluesresponse)
+ - [DownsampledValues](#downsampledvalues)
+ - [DownsampledValues.Request](#downsampledvaluesrequest)
+ - [DownsampledValues.Response](#downsampledvaluesresponse)
- [ListValues](#listvalues)
- [ListValues.Request](#listvaluesrequest)
- [ListValues.Request.TransformFieldsEntry](#listvaluesrequesttransformfieldsentry)
@@ -147,6 +150,12 @@ Messages are parsed to a number of values (depending on the parser), which can b
+### Downsampled
+> **rpc** Downsampled([DownsampledValues.Request](#downsampledvaluesrequest))
+ [DownsampledValues.Response](#downsampledvaluesresponse)
+
+
+
## Messages
@@ -227,6 +236,33 @@ For example:
| pagination | [ hiber.Pagination.Result](#hiberpaginationresult) | none |
| request | [ AggregatedValues.Request](#aggregatedvaluesrequest) | none |
+### DownsampledValues
+
+Downsampled values for a (set of) modem(s), filtering by field and time.
+
+
+### DownsampledValues.Request
+
+Request downsampled values, reducing the selected time range to a single value per field.
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| organization | [ string](#string) | Pick the organization to use (/impersonate). If unset, your default organization is used. |
+| selection | [ ValueSelection](#valueselection) | The values to downsample. When multiple modems are given, the data is downsampled separately and merged together in the response, sorted by time. |
+| points | [ uint32](#uint32) | Downsample the values to the given amount of data points. |
+| pagination | [ hiber.Pagination](#hiberpagination) | Paginate the downsampled values, if needed. |
+| sort | [ ListValues.Sort](#listvaluessort) | How to sort the downsampled values. |
+
+### DownsampledValues.Response
+
+
+
+| Field | Type | Description |
+| ----- | ---- | ----------- |
+| downsampled_values | [repeated ValueContext](#valuecontext) | none |
+| pagination | [ hiber.Pagination.Result](#hiberpaginationresult) | none |
+| request | [ DownsampledValues.Request](#downsampledvaluesrequest) | none |
+
### ListValues
List values for a (set of) modem(s), filtering by field and time.
@@ -351,7 +387,6 @@ when the modem is registered into the system or when a subscription is authorize
| last_message_sent_at | [ hiber.Timestamp](#hibertimestamp) | Time the modem has sent the last message. |
| last_message_body | [ hiber.BytesOrHex](#hiberbytesorhex) | The body of the last message. |
| inactivity | [ hiber.Duration](#hiberduration) | The amount of time since the last message from this modem was received on the server. |
-| health | [ hiber.Health](#hiberhealth) | Deprecated health based on the number of error and warning events this modem has received in the past 30 days Uses the OK, WARNING, ERROR format. |
| health_level | [ hiber.health.HealthLevel](#hiberhealthhealthlevel) | Health level based on the modem alarm and some always-present alarms. |
| lifecycle | [ hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | none |
| technical | [ hiber.modem.Modem.TechnicalData](#hibermodemmodemtechnicaldata) | additional information |
@@ -383,7 +418,6 @@ Filter modems by modem id, (child)organization, tags, activation status and time
| only_active | [ bool](#bool) | Use lifecycle filter instead. |
| activated_in | [ hiber.TimeRange](#hibertimerange) | none |
| with_last_message_in | [ hiber.TimeRange](#hibertimerange) | none |
-| health | [repeated hiber.Health](#hiberhealth) | Deprecated health that uses the OK, WARNING, ERROR format. |
| health_levels | [repeated string](#string) | Filter modems by health level. |
| lifecycles | [repeated hiber.modem.Modem.Lifecycle](#hibermodemmodemlifecycle) | Filter modems by lifecycle(s). Defaults to nominal lifecycles, excluding disabled or decommissioned modems. |
| transfers | [ hiber.modem.ModemSelection.Transfers](#hibermodemmodemselectiontransfers) | none |
diff --git a/event-json-examples/modem-alarm-created.json b/event-json-examples/modem-alarm-created.json
index d959618..1cc21ad 100644
--- a/event-json-examples/modem-alarm-created.json
+++ b/event-json-examples/modem-alarm-created.json
@@ -11,9 +11,9 @@
"timeZone": "UTC"
},
"triggerCondition": "ANY_CHECK_FAILED",
- "defaultHealthLevel": "Error",
+ "defaultHealthLevel": "Alarm",
"healthLevelAfterResolved": {
- "healthLevel": "Warning",
+ "healthLevel": "Build up",
"period": {
"duration": "3600s",
"textual": "1h"
diff --git a/event-json-examples/modem-alarm-updated.json b/event-json-examples/modem-alarm-updated.json
index 6240d92..b7147d0 100644
--- a/event-json-examples/modem-alarm-updated.json
+++ b/event-json-examples/modem-alarm-updated.json
@@ -10,7 +10,7 @@
"triggerCondition": "ALL",
"updateDefaultHealthLevel": {
"updated": true,
- "value": "Warning"
+ "value": "Build up"
},
"updateHealthLevelAfterResolved": {
"healthLevel": "INSPECT",
@@ -21,7 +21,7 @@
}
},
"title": "Modem alarm example (example-identifier) was updated.",
- "description": "Modem alarm example (example-identifier) was updated:\n\n- Description was changed from 'example' to 'updated-example'.\n\n- Trigger condition was updated.\n\n- Default health level was changed from 'Error' to 'Warning'.\n\n- Health level (after resolved) was changed from 'Warning' to 'INSPECT'.\n\n- Period for health level after resolved was changed from 'PT1H' to 'PT48H'.",
+ "description": "Modem alarm example (example-identifier) was updated:\n\n- Description was changed from 'example' to 'updated-example'.\n\n- Trigger condition was updated.\n\n- Default health level was changed from 'Alarm' to 'Build up'.\n\n- Health level (after resolved) was changed from 'Build up' to 'INSPECT'.\n\n- Period for health level after resolved was changed from 'PT1H' to 'PT48H'.",
"time": {
"timestamp": "2020-06-01T05:15:25.355Z",
"textual": "2020-06-01T05:15:25.355Z",
@@ -29,7 +29,7 @@
}
},
"title": "Modem alarm example (example-identifier) was updated.",
- "description": "Modem alarm example (example-identifier) was updated:\n\n- Description was changed from 'example' to 'updated-example'.\n\n- Trigger condition was updated.\n\n- Default health level was changed from 'Error' to 'Warning'.\n\n- Health level (after resolved) was changed from 'Warning' to 'INSPECT'.\n\n- Period for health level after resolved was changed from 'PT1H' to 'PT48H'.",
+ "description": "Modem alarm example (example-identifier) was updated:\n\n- Description was changed from 'example' to 'updated-example'.\n\n- Trigger condition was updated.\n\n- Default health level was changed from 'Alarm' to 'Build up'.\n\n- Health level (after resolved) was changed from 'Build up' to 'INSPECT'.\n\n- Period for health level after resolved was changed from 'PT1H' to 'PT48H'.",
"time": {
"timestamp": "2020-06-01T05:15:25.355Z",
"textual": "2020-06-01T05:15:25.355Z",
diff --git a/event-json-examples/modem-alarm.json b/event-json-examples/modem-alarm.json
index 31b2011..cea6867 100644
--- a/event-json-examples/modem-alarm.json
+++ b/event-json-examples/modem-alarm.json
@@ -31,7 +31,7 @@
"timeZone": "UTC"
},
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"catchAll": true,
"colorData": {
@@ -48,7 +48,7 @@
"timeZone": "UTC"
},
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"catchAll": true,
"colorData": {
diff --git a/event-json-examples/modem-message-cannot-be-parsed.json b/event-json-examples/modem-message-cannot-be-parsed.json
index 889aa05..9714868 100644
--- a/event-json-examples/modem-message-cannot-be-parsed.json
+++ b/event-json-examples/modem-message-cannot-be-parsed.json
@@ -11,7 +11,7 @@
},
"reason": "Parsing failure: all assigned parsers have failed with the following errors:\n\n - Failed: 13 bytes were not parsed.\n\n",
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"colorData": {
"fill": "red",
@@ -56,7 +56,7 @@
},
"type": "MODEM_MESSAGE_CANNOT_BE_PARSED",
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"colorData": {
"fill": "red",
diff --git a/event-json-examples/publisher-auto-disabled.json b/event-json-examples/publisher-auto-disabled.json
index b97be82..1f12d05 100644
--- a/event-json-examples/publisher-auto-disabled.json
+++ b/event-json-examples/publisher-auto-disabled.json
@@ -28,7 +28,7 @@
"timeZone": "UTC"
},
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"colorData": {
"fill": "red",
@@ -47,7 +47,7 @@
},
"type": "PUBLISHER_AUTO_DISABLED",
"healthLevel": {
- "level": "Error",
+ "level": "Alarm",
"color": "red",
"colorData": {
"fill": "red",
diff --git a/event-json-examples/publisher-failed.json b/event-json-examples/publisher-failed.json
index 72b37a2..ce776ec 100644
--- a/event-json-examples/publisher-failed.json
+++ b/event-json-examples/publisher-failed.json
@@ -56,7 +56,7 @@
"createdBy": "example-identifier"
},
"healthLevel": {
- "level": "Warning",
+ "level": "Build up",
"color": "orange",
"colorData": {
"fill": "orange",
@@ -98,7 +98,7 @@
},
"type": "PUBLISHER_FAILED",
"healthLevel": {
- "level": "Warning",
+ "level": "Build up",
"color": "orange",
"colorData": {
"fill": "orange",
diff --git a/event-json-examples/token-expiry-warning.json b/event-json-examples/token-expiry-warning.json
index a3ac5c5..d2b89e2 100644
--- a/event-json-examples/token-expiry-warning.json
+++ b/event-json-examples/token-expiry-warning.json
@@ -30,7 +30,7 @@
"timeZone": "UTC"
},
"healthLevel": {
- "level": "Warning",
+ "level": "Build up",
"color": "orange",
"colorData": {
"fill": "orange",
@@ -48,7 +48,7 @@
},
"type": "TOKEN_EXPIRY_WARNING",
"healthLevel": {
- "level": "Warning",
+ "level": "Build up",
"color": "orange",
"colorData": {
"fill": "orange",
diff --git a/event.proto b/event.proto
index a2d08e5..f64d883 100644
--- a/event.proto
+++ b/event.proto
@@ -467,88 +467,6 @@ message Event {
/* Deprecated, here to be backwards compatible with ModemTransferEvents. */
modem.ModemTransfer deprecated_transfer = 1 [deprecated = true];
- message DeprecatedTransfer {
- // TODO(2023-03-01) remove before this date
- option deprecated = true;
-
- string identifier = 1;
- repeated string modem_numbers = 2;
- string sender_organization = 5;
- string recipient_organization = 6;
- string comment = 9;
- Timestamp time = 10;
- repeated hiber.tag.Tag tags = 15;
-
- reserved 3, 4, 7, 8, 11 to 14;
- }
- }
-
- message ModemTransferEvent {
- // TODO(2023-03-01) remove before this date
- option deprecated = true;
-
- message ModemTransferStartedEvent {
- option deprecated = true;
-
- modem.ModemTransfer transfer = 1;
- string organization = 2;
- Timestamp time = 3;
- repeated tag.Tag tags = 4;
- string title = 5;
- string description = 6;
- }
-
- message ModemTransferCancelledEvent {
- option deprecated = true;
-
- modem.ModemTransfer transfer = 1;
- string organization = 2;
- Timestamp time = 3;
- repeated tag.Tag tags = 4;
- string title = 5;
- string description = 6;
- }
-
- message ModemTransferReceivedEvent {
- option deprecated = true;
-
- modem.ModemTransfer transfer = 1;
- string organization = 2;
- Timestamp time = 3;
- repeated tag.Tag tags = 4;
- string title = 5;
- string description = 6;
- }
-
- message ModemTransferNotReceivedEvent {
- option deprecated = true;
-
- modem.ModemTransfer transfer = 1;
- string organization = 2;
- Timestamp time = 3;
- repeated tag.Tag tags = 4;
- string title = 5;
- string description = 6;
-
- /* The health level caused for the modem (and organization) by this event. */
- health.HealthLevel health_level = 7;
- }
-
- message ModemTransferReturnTransferStartedEvent {
- option deprecated = true;
-
- modem.ModemTransfer return_transfer = 1;
- modem.ModemTransfer original_transfer = 2;
- repeated modem.ModemTransferReturnLine return_lines = 3;
- string organization = 4;
- Timestamp time = 5;
- repeated tag.Tag tags = 6;
- string title = 7;
- string description = 8;
-
- /* The health level caused for the modem (and organization) by this event. */
- health.HealthLevel health_level = 9;
- }
}
message AssignmentEvent {
diff --git a/modem.proto b/modem.proto
index 543e954..4f8ac17 100644
--- a/modem.proto
+++ b/modem.proto
@@ -107,11 +107,6 @@ message Modem {
/* The amount of time since the last message from this modem was received on the server. */
Duration inactivity = 30;
- /* Deprecated health based on the number of error and warning events this modem has received in the past 30 days
- * Uses the OK, WARNING, ERROR format.
- */
- Health health = 9 [deprecated = true];
-
/* Health level based on the modem alarm and some always-present alarms. */
health.HealthLevel health_level = 28;
@@ -248,7 +243,7 @@ message Modem {
CONNECTED_DEVICE = 3;
}
- reserved 6, 13;
+ reserved 6, 9, 13;
}
/* Selection object for modems.
@@ -315,9 +310,6 @@ message ModemSelection {
TimeRange activated_in = 5 [deprecated = true];
TimeRange with_last_message_in = 7;
- /* Deprecated health that uses the OK, WARNING, ERROR format. */
- repeated Health health = 9 [deprecated = true];
-
/* Filter modems by health level. */
repeated string health_levels = 18;
@@ -358,7 +350,7 @@ message ModemSelection {
bool only_without_peripheral = 21;
}
- reserved 3, 6, 17;
+ reserved 3, 6, 9, 17;
}
/* Decrypted modem message. Messages are received encrypted and decrypted asynchronously, which adds the location
@@ -895,10 +887,7 @@ message ModemHealthCount {
/* The number of modems matching the modem selection with this health level */
uint32 count = 2;
- /* Deprecated health based on the number of error and warning events this modem has received in the past 30 days
- * Uses the OK, WARNING, ERROR format.
- */
- Health health = 3 [deprecated = true];
+ reserved 3;
}
message HealthCountGroupedPerTag {
diff --git a/modem_claim.proto b/modem_claim.proto
deleted file mode 100644
index 2175a36..0000000
--- a/modem_claim.proto
+++ /dev/null
@@ -1,85 +0,0 @@
-syntax = "proto3";
-
-package hiber.modem;
-
-import "base.proto";
-import "tag.proto";
-
-option java_multiple_files = false;
-option java_package = "global.hiber.api.grpc.modem";
-option java_outer_classname = "ModemClaimApi";
-option go_package = "hiber";
-
-/* Claim a modem that you have in your possession, but was not marked as inbound for you.
- * This is only possible for a modem that has not been activated.
- * This process is instantaneous, but the previous owner can reject the claim afterwards.
- *
- * This service is deprecated and will be removed in the future. In some cases, it may be disabled before it is removed.
- * // TODO(2023-03-01) remove this service from the API before this date
- */
-service ModemClaimService {
- option deprecated = true;
-
- /* Claim a number of modems. */
- rpc Claim (ClaimModemRequest) returns (ClaimModemRequest.Response);
-
- /* List modems that have been claimed. They are no longer part if your organization. */
- rpc ListClaims (ListModemClaimsRequest) returns (ListModemClaimsRequest.Response);
-}
-
-message ModemClaim {
- option deprecated = true;
-
- string modem_number = 1;
- Timestamp created_at = 5;
- string claiming_organization = 7;
- /* Tags the modem had when it was claimed. */
- repeated hiber.tag.Tag tags = 8;
- reserved 2, 3, 4, 6;
-}
-
-message ModemClaimSelection {
- option deprecated = true;
-
- Filter.Modems modems = 1;
- TimeRange time_range = 3;
- reserved 2, 4, 5, 6;
-}
-
-message ClaimModemRequest {
- option deprecated = true;
-
- message ClaimModem {
- option deprecated = true;
-
- string modem_number = 1;
- string verifier = 2;
- }
- message Response {
- option deprecated = true;
-
- ClaimModemRequest request = 1;
- repeated ModemClaim claims = 2;
- }
-
- /* Pick the organization to use (/impersonate). If unset, your default organization is used. */
- string organization = 1;
- repeated ClaimModem claims = 2;
-}
-
-message ListModemClaimsRequest {
- option deprecated = true;
-
- message Response {
- option deprecated = true;
-
- repeated ModemClaim claims = 1;
- ListModemClaimsRequest request = 2;
- Pagination.Result pagination = 3;
- }
-
- /* Pick the organization to use (/impersonate). If unset, your default organization is used. */
- string organization = 1;
- ModemClaimSelection selection = 2;
- Pagination pagination = 3;
-}
diff --git a/value_service.proto b/value_service.proto
index 8ddf4f6..49d4c2c 100644
--- a/value_service.proto
+++ b/value_service.proto
@@ -19,6 +19,7 @@ option go_package = "hiber";
service ValueService {
rpc List (ListValues.Request) returns (ListValues.Response);
rpc Aggregated (AggregatedValues.Request) returns (AggregatedValues.Response);
+ rpc Downsampled (DownsampledValues.Request) returns (DownsampledValues.Response);
}
/* Select the values to return. */
@@ -190,3 +191,33 @@ message AggregatedValues {
Request request = 3;
}
}
+
+/* Downsampled values for a (set of) modem(s), filtering by field and time. */
+message DownsampledValues {
+ /* Request downsampled values, reducing the selected time range to a single value per field. */
+ message Request {
+ /* Pick the organization to use (/impersonate). If unset, your default organization is used. */
+ string organization = 1;
+
+ /* The values to downsample.
+ * When multiple modems are given, the data is downsampled separately and merged together in the response,
+ * sorted by time.
+ */
+ ValueSelection selection = 2;
+
+ /* Downsample the values to the given amount of data points. */
+ uint32 points = 3;
+
+ /* Paginate the downsampled values, if needed. */
+ Pagination pagination = 4;
+
+ /* How to sort the downsampled values. */
+ ListValues.Sort sort = 5;
+ }
+
+ message Response {
+ repeated ValueContext downsampled_values = 1;
+ Pagination.Result pagination = 2;
+ Request request = 3;
+ }
+}