30MHz Check Update API
The check-update API from 30MHz — 5 operation(s) for check-update.
The check-update API from 30MHz — 5 operation(s) for check-update.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/30mhz-check-update-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '2.0'
title: ZENSIE Check Update API
servers:
- url: https://api.30mhz.com/api
tags:
- name: check-update
paths:
/check-update/{checkId}/new-organization/{newOrganizationId}:
post:
tags:
- check-update
summary: Transfer the check to another organization
description: 'Authentication required for this operation.
If the check belongs to private locations, these should also be changed.
Note also that the notification settings will be lost.Preconditions:
Authenticated user has to be owner in the current and new organizations, or be an admin in the platform.
The check shouldn''t be used in any dashboard.'
operationId: transferCheckOrganization
parameters:
- name: checkId
in: path
required: true
schema:
type: string
- name: newOrganizationId
in: path
required: true
schema:
type: string
- name: forceTransfer
in: query
description: If forceTransfer is true, when there are a widgets referencing this sensor they will be removed. Otherwise the transfer will be cancelled.
required: false
schema:
type: boolean
default: false
security:
- Bearer: []
responses:
'200':
description: Check transferred to new organization
content:
application/json:
schema:
$ref: '#/components/schemas/Check'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/Check'
'403':
description: Not enough permissions to perform the operation
'404':
description: Check with given id doesn't exist
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
/check-update/{checkId}/new-owner/{newOwner}:
post:
tags:
- check-update
summary: Transfer the check to another user
description: 'Authentication required for this operation.
Preconditions:
Authenticated user has to be owner in the organization, or be an admin in the platform.'
operationId: transferCheckOwnership
parameters:
- name: checkId
in: path
required: true
schema:
type: string
- name: newOwner
in: path
required: true
schema:
type: string
security:
- Bearer: []
responses:
'200':
description: Check transferred to new owner
content:
application/json:
schema:
$ref: '#/components/schemas/Check'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/Check'
'403':
description: Not enough permissions to perform the operation
'404':
description: Check with given id doesn't exist
requestBody:
content:
application/json:
schema:
type: object
/check-update/transfer:
post:
tags:
- check-update
summary: Transfers one or more checks to a target gateway
description: ''
operationId: transferChecks
security:
- Bearer: []
responses:
'200':
description: All checks transferred
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Sensor'
application/zensie-v2+json:
schema:
type: array
items:
$ref: '#/components/schemas/Sensor'
'400':
description: Invalid data in the properties to be updated
'403':
description: Not enough permissions to perform the operation
'404':
description: A check or gateway with given id doesn't exist
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferChecksDTO'
/check-update/{checkId}:
post:
tags:
- check-update
summary: Update a check
description: 'Authentication required for this operation.
Preconditions:
Authenticated user has to be editor or owner in the organization, or be an admin in the platform.'
operationId: updateCheck
parameters:
- name: checkId
in: path
required: true
schema:
type: string
security:
- Bearer: []
responses:
'200':
description: Check updated
content:
application/json:
schema:
$ref: '#/components/schemas/Check'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/Check'
'400':
description: Invalid data in the properties to be updated
'403':
description: Not enough permissions to perform the operation
'404':
description: Check with given id doesn't exist
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckProperties'
/check-update:
post:
tags:
- check-update
summary: Update a set checks
description: 'Authentication required for this operation.
Preconditions:
Authenticated user has to be editor or owner in the organization, or be an admin in the platform.'
operationId: updateChecks
security:
- Bearer: []
responses:
'200':
description: Checks updated
content:
application/json:
schema:
$ref: '#/components/schemas/Check'
application/zensie-v2+json:
schema:
$ref: '#/components/schemas/Check'
'400':
description: Invalid data in the properties to be updated
'403':
description: Not enough permissions to perform the operation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MultipleCheckUpdate'
components:
schemas:
Notification:
type: object
required:
- notificationId
properties:
action:
type: string
description: Description of the action to take when the notification is triggered.
calculationSettings:
description: The calculation configuration
$ref: '#/components/schemas/CalculationSettings'
checkId:
type: string
description: Identifier of the check.
condition:
type: string
description: Conditional that defines the trigger of this notification
description:
type: string
description: Description of the notification
eventHook:
description: Event hook of the notification
$ref: '#/components/schemas/EventHook'
matchAfter:
type: integer
format: int32
description: Match after attribute
minimum: 0
throttleFor:
type: integer
format: int64
description: The amount of time in milliseconds to throttle notifications
minimum: 0
check:
description: Summary of the check that is linked to this notification
$ref: '#/components/schemas/CheckSummary'
createdBy:
type: string
description: Identifier of the user that created this notification
creationTimestamp:
type: integer
format: int64
description: Timestamp of when the notification was created
matched:
type: boolean
description: Matched attribute
matchedFor:
type: integer
format: int32
description: Matched for attribute
matchedLastNotifiedAt:
type: integer
format: int64
description: When the last matched notification was sent
notificationId:
type: string
description: Identifier of this notification object.
nrMatched:
type: integer
format: int32
description: Number of matches attribute
organizationId:
type: string
description: Identifier of the organization for which this notification is created
resolvedLastNotifiedAt:
type: integer
format: int64
description: When the last resolved notification was sent
structuredConditional:
type: array
description: List of structured conditionals that defines the trigger event of this notification.
items:
$ref: '#/components/schemas/StructuredConditional'
widgetIds:
type: array
description: List of structured conditionals that defines the trigger event of this notification.
uniqueItems: true
items:
type: string
description: Holds the editable properties of a Notification
Sensor:
type: object
required:
- notificationIds
properties:
notifications:
type: array
items:
$ref: '#/components/schemas/Notification'
checkId:
type: string
organizationId:
type: string
siteId:
type: string
dataSourceCoordinateHistory:
type: array
items:
$ref: '#/components/schemas/DataSourceCoordinates'
dataSourceCoordinates:
$ref: '#/components/schemas/DataSourceCoordinates'
decimalsPerField:
type: object
additionalProperties:
type: integer
format: int32
notificationIds:
type: array
items:
type: string
name:
type: string
description:
type: string
tags:
type: array
uniqueItems: true
items:
type: string
enabled:
type: boolean
status:
type: string
enum:
- ACTIVE
- DEACTIVATED
- PAUSED
rangePerJsonKey:
type: object
additionalProperties:
type: array
items:
type: number
format: double
sensorType:
type: string
timezone:
type: string
zoneId:
type: string
StructuredConditional:
type: object
properties:
aggregationType:
type: string
description: The type of aggregation.
checkFields:
type: array
description: List of fields represented by the check id and field name
items:
$ref: '#/components/schemas/SensorField'
interval:
type: string
description: The time interval to aggregate over.
key:
type: string
description: Key of the structured conditional
operator:
type: string
description: Operator of the conditional
operatorType:
type: string
description: Operator type of the conditional
enum:
- COMPARISON
- LOGICAL
value:
type: string
description: Value of the key given the operator
CheckProperties:
type: object
properties:
allowRedirects:
type: boolean
description: Whether to follow redirects when a page returns HTTP code 302. Default is false.
calculationId:
type: string
description: The id of the calculation called by the webcheck
collectJson:
type: boolean
description: If the recollection of the JSON object has to be effectuated or not
conditional:
type: string
description: A javascript expression that is applied to the json result and has to evaluate to true for the data source to be UP.
contains:
type: string
description: Verify that the page returned contains this text, otherwise the data source will be reported as DOWN.
containsNot:
type: string
description: Verify that the page returned does NOT contain this text, if it does, the data source will be reported as DOWN.
cookies:
type: string
description: Send these cookies in each request when pinging the data source. You can use this, for example, for adding authentication data.
cron:
type: string
description: Only run this data source in the given schedule. This is written in Unix-like notation. For example, to run it only weekdays 8 to 17, write '* * 8-17 ? * MON-FRI'
data:
type: string
description: Payload to send, usually for POST or PUT methods
dataSourceCoordinatesEditable:
description: A set of numbers that represent the current position of a data source
$ref: '#/components/schemas/DataSourceCoordinatesEditable'
decimalsPerField:
type: object
description: The number of decimals used for each field of the data source.
additionalProperties:
type: integer
format: int32
description:
type: string
description: Brief description that elaborates on the name
enabled:
type: boolean
description: Whether the data source is enabled.
frequency:
type: integer
format: int32
description: The frequency with which the data source is pinged, in seconds.
gatewayId:
type: string
description: Identifier of the gateway the data source belongs to.
headers:
type: string
description: Send these HTTP headers in each request when pinging the data source. You can use this, for example, for adding authentication data.
healthyThreshold:
type: integer
format: int32
description: How many consecutive successful responses indicate that the data source is up.
locationThreshold:
type: integer
format: int64
description: How many locations indicate the data source is up/down.
locations:
type: array
description: From which locations to ping the data source from.
uniqueItems: true
items:
type: string
maxDecimals:
type: integer
format: int32
description: Max decimals for fields of the data source.
maxReminders:
type: integer
format: int32
description: The maximum number of times you want to be notified if DOWN.
method:
type: string
description: HTTP method (get/post/put/delete) to user for pinging the data source
name:
type: string
description: Displayable name.
organizationId:
type: string
description: Identifier of the organization this data source belongs to.
params:
type: string
description: Send these HTTP parameters in each request when pinging the data source.
remindEvery:
type: integer
format: int32
description: Every how many seconds to send another notification if data source is still DOWN. (See also Number of reminders).
sensorType:
type: string
description: The sensor type.
siteId:
type: string
description: Identifier of the site it belongs to, together with the organizationId this is unique.
status:
type: string
description: The status of the data source, e.g. ACTIVE, DEACTIVATED or PAUSED.
enum:
- ACTIVE
- DEACTIVATED
- PAUSED
statusCodes:
type: array
description: What HTTP status code are expected when pinging the data source. If the received HTTP status is not in this list, the data source will be reported as DOWN.
uniqueItems: true
items:
type: integer
format: int32
maxItems: 2147483647
minItems: 1
stream:
type: boolean
description: Whether the stream is enabled for the response validation
tags:
type: array
description: The tags associated with the data source.
uniqueItems: true
items:
type: string
timeout:
type: integer
format: int32
description: How long we wait for the data source to respond before we consider it down.
timezone:
type: string
description: An area which observes a uniform standard time.
unhealthyThreshold:
type: integer
format: int32
description: How many consecutive failed responses indicate that the data source is down.
units:
type: array
description: The units associated with the sensor data source.
uniqueItems: true
items:
type: string
url:
type: string
description: The URL of the data source.
verify:
type: boolean
description: Whether SSL verification is enabled.
zoneId:
type: string
description: Identifier of the zone within a site where the data source belongs.
rangePerJsonKey:
type: object
description: Min/max ranges for each json key of the data source.
additionalProperties:
type: array
items:
type: number
format: double
timezoneOffset:
type: integer
format: int64
description: Offset of the timezone in minutes.
owner:
type: string
description: Email address.
CheckCollection:
type: object
properties:
collectionId:
type: string
description: Id of the collection
name:
type: string
description: Name of the collection
order:
type: integer
format: int32
description: The position within all the collections
CalculationSettings:
type: object
required:
- inputParams
properties:
calculationId:
type: string
description: Unique identifier for the calculation
inputParams:
type: object
description: A map of the necessary input parameters and their type for performing the calculation
additionalProperties:
type: object
description: Settings used to perform a calculation.
TransferChecksDTO:
type: object
properties:
checkIds:
type: array
description: The ids of the checks to transfer
uniqueItems: true
items:
type: string
forceTransfer:
type: boolean
description: A check won't be transferred if belongs to a widget or has notifications unless this is set to true. Setting this to true will remove the check from widgets and remove its notifications.
gatewayId:
type: string
description: The id of the gateway to transfer to
MultipleCheckUpdate:
type: object
properties:
check:
$ref: '#/components/schemas/CheckProperties'
checkIds:
type: array
uniqueItems: true
items:
type: string
maxItems: 2147483647
minItems: 1
description: Updating multiple checks
SensorField:
type: object
properties:
checkId:
type: string
description: The id of the check this field belongs to.
id:
type: string
description: Which field of the sensor to retrieve data for.
unit:
type: string
description: The unit in which to retrieved the values. Defaults to system unit.
DataSourceCoordinates:
type: object
required:
- dataSourceId
- sinceDate
properties:
coordinateX:
type: number
format: double
description: X coordinate in space
coordinateY:
type: number
format: double
description: Y coordinate in space
sinceDate:
type: string
description: UTC ISO 8601 timestamp since when, e.g 2024-11-12T15:00:00Z.
dataSourceId:
type: string
description: Identifier of the data source
geoJson:
type: object
description: GeoJson definition.
additionalProperties:
type: object
zoneName:
type: string
description: Name of the zone
zoneUuid:
type: string
description: Unique identifier of the zone
description: Coordinates of a data source since a given timestamp.
EventHook:
type: object
required:
- method
- url
properties:
headers:
type: object
description: Headers of the HTTP request
additionalProperties:
type: object
method:
type: string
description: Method of the HTTP request
payload:
type: object
description: Payload of the HTTP request
additionalProperties:
type: object
url:
type: string
description: Url of the HTTP request
DataSourceCoordinatesEditable:
type: object
properties:
coordinateX:
type: number
format: double
description: X coordinate in space
coordinateY:
type: number
format: double
description: Y coordinate in space
sinceDate:
type: string
description: UTC ISO 8601 timestamp since when, e.g 2024-11-12T15:00:00Z.
description: Object containing the editable properties of DataSourceCoordinates.
Check:
type: object
required:
- checkId
- enabled
- frequency
- hasNotifications
- healthyThreshold
- locationThreshold
- maxReminders
- method
- name
- notificationIds
- notifications
- organizationId
- recentlyDownAt
- remindEvery
- state
- statusCodes
- timeout
- unhealthyThreshold
- url
properties:
allowRedirects:
type: boolean
description: Whether to follow redirects when a page returns HTTP code 302. Default is false.
calculationId:
type: string
description: The id of the calculation called by the webcheck
collectJson:
type: boolean
description: If the recollection of the JSON object has to be effectuated or not
conditional:
type: string
description: A javascript expression that is applied to the json result and has to evaluate to true for the data source to be UP.
contains:
type: string
description: Verify that the page returned contains this text, otherwise the data source will be reported as DOWN.
containsNot:
type: string
description: Verify that the page returned does NOT contain this text, if it does, the data source will be reported as DOWN.
cookies:
type: string
description: Send these cookies in each request when pinging the data source. You can use this, for example, for adding authentication data.
cron:
type: string
description: Only run this data source in the given schedule. This is written in Unix-like notation. For example, to run it only weekdays 8 to 17, write '* * 8-17 ? * MON-FRI'
data:
type: string
description: Payload to send, usually for POST or PUT methods
decimalsPerField:
type: object
description: The number of decimals used for each field of the data source.
additionalProperties:
type: integer
format: int32
description:
type: string
description: Brief description that elaborates on the name
email:
type: string
description: Email address.
enabled:
type: boolean
description: Whether the data source is enabled.
frequency:
type: integer
format: int32
description: The frequency with which the data source is pinged, in seconds.
gatewayId:
type: string
description: Identifier of the gateway the data source belongs to.
headers:
type: string
description: Send these HTTP headers in each request when pinging the data source. You can use this, for example, for adding authentication data.
healthyThreshold:
type: integer
format: int32
description: How many consecutive successful responses indicate that the data source is up.
locationThreshold:
type: integer
format: int64
description: How many locations indicate the data source is up/down.
locations:
type: array
description: From which locations to ping the data source from.
uniqueItems: true
items:
type: string
maxDecimals:
type: integer
format: int32
description: Max decimals for fields of the data source.
maxReminders:
type: integer
format: int32
description: The maximum number of times you want to be notified if DOWN.
method:
type: string
description: HTTP method (get/post/put/delete) to user for pinging the data source
name:
type: string
description: Displayable name.
organizationId:
type: string
description: Identifier of the organization this data source belongs to.
params:
type: string
description: Send these HTTP parameters in each request when pinging the data source.
remindEvery:
type: integer
format: int32
description: Every how many seconds to send another notification if data source is still DOWN. (See also Number of reminders).
sensorType:
type: string
description: The sensor type.
siteId:
type: string
description: Identifier of the site it belongs to, together with the organizationId this is unique.
status:
type: string
description: The status of the data source, e.g. ACTIVE, DEACTIVATED or PAUSED.
enum:
- ACTIVE
- DEACTIVATED
- PAUSED
statusCodes:
type: array
description: What HTTP status code are expected when pinging the data source. If the received HTTP status is not in this list, the data source will be reported as DOWN.
uniqueItems: true
items:
type: integer
format: int32
maxItems: 2147483647
minItems: 1
stream:
type: boolean
description: Whether the stream is enabled for the response validation
tags:
type: array
description: The tags associated with the data source.
uniqueItems: true
items:
type: string
timeout:
type: integer
format: int32
description: How long we wait for the data source to respond before we consider it down.
timezone:
type: string
description: An area which observes a uniform standard time.
unhealthyThreshold:
type: integer
format: int32
description: How many consecutive failed responses indicate that the data source is down.
units:
type: array
description: The units associated with the sensor data source.
uniqueItems: true
items:
type: string
url:
type: string
description: The URL of the data source.
verify:
type: boolean
description: Whether SSL verification is enabled.
zoneId:
type: string
description: Identifier of the zone within a site where the data source belongs.
rangePerJsonKey:
type: object
description: Min/max ranges for each json key of the data source.
additionalProperties:
type: array
items:
type: number
format: double
timezoneOffset:
type: integer
format: int64
description: Offset of the timezone in minutes.
batteryStatus:
type: string
description: The battery status warnings or errors associated with this data source. Expected values are OK, WARNING and CRITICAL.
checkId:
type: string
description: Identifier of the data source
createdAt:
type: string
description: Timestamp of when it was created.
dataSourceCoordinateHistory:
type: array
description: A collection of all positions of this data source.
items:
$ref: '#/components/schemas/DataSourceCoordinates'
dataSourceCoordinates:
description: A set of numbers that represent the current position of a data source
$ref: '#/components/schemas/DataSourceCoordinates'
hasNotifications:
type: boolean
description: Does the data source have any notifications associated with it
notificationIds:
type: array
description: Ids of the notifications for this check
items:
type: string
notifications:
type: array
description: The notifications set for this sensor.
items:
$ref: '#/components/schemas/Notification'
recentlyDownAt:
type: number
format: double
description: Last moment when the data source was DOWN, as a Unix Timestamp
state:
type: string
description: 'The current state of the data source: UP or DOWN.'
owner:
type: string
description: Email address.
description: A check
CheckSummary:
type: object
properties:
calculationSettings:
$ref: '#/components/schemas/CalculationSettings'
checkId:
type: string
collections:
type: array
items:
$ref: '#/components/schemas/CheckCollection'
cultivationHierarchyId:
type: string
decimalsPerField:
type: object
additionalProperties:
type: integer
format: int32
enabled:
type: boolean
locations:
type: array
uniqueItems: true
items:
type: string
maxDecimals:
type: integer
format: int32
name:
type: string
organizationId:
type: string
rangePerJsonKey:
type: object
additionalProperties:
type: array
items:
type: number
format: double
sensorType:
type: string
timezone:
type: string
timezoneOffset:
type: integer
format: int64
units:
type: array
uniqueItems: true
items:
type: string
description: Summary of a check
securitySchemes:
Bearer:
description: ''
type: apiKey
name: Authorization
in: header