30MHz Gateway Cluster API

The gateway-cluster API from 30MHz — 5 operation(s) for gateway-cluster.

Operations 6

POST /gateway-cluster/{gatewayClusterId}/migrate/{gatewayId} Assigns all sensors in given gateway cluster to the given gateway #
POST /gateway-cluster Create a new gateway cluster #
GET /gateway-cluster/{gatewayClusterId} Return gateway cluster by id #
DELETE /gateway-cluster/{gatewayClusterId} Remove a Gateway Cluster #
GET /gateway-cluster/organization/{organizationId} Return gateway clusters for the organization #
GET /gateway-cluster/with-secrets/{gatewayClusterId} Return gateway cluster with secrets by id #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/30mhz-gateway-cluster-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

30mhz-gateway-cluster-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: ZENSIE Gateway Cluster API
servers:
- url: https://api.30mhz.com/api
tags:
- name: gateway-cluster
paths:
  /gateway-cluster/{gatewayClusterId}/migrate/{gatewayId}:
    post:
      tags:
      - gateway-cluster
      summary: Assigns all sensors in given gateway cluster to the given gateway
      description: Authentication required for this operation, authenticated user must have admin role.
      operationId: assignSensorsOfClusterToGateway
      parameters:
      - name: gatewayClusterId
        in: path
        required: true
        schema:
          type: string
      - name: gatewayId
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: Sensors assigned to gateway
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Check'
            application/zensie-v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Check'
        '403':
          description: User is not authorized to perform this operation.
        '404':
          description: Gateway cluster or gateway does not exist.
      x-admin-only: true
  /gateway-cluster:
    post:
      tags:
      - gateway-cluster
      summary: Create a new gateway cluster
      description: Authentication required for this operation, authenticated user have admin role.
      operationId: createGatewayCluster
      security:
      - Bearer: []
      responses:
        '201':
          description: New gateway cluster created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayCluster'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/GatewayCluster'
        '403':
          description: User must be an admin.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewGatewayCluster'
  /gateway-cluster/{gatewayClusterId}:
    get:
      tags:
      - gateway-cluster
      summary: Return gateway cluster by id
      description: Authentication required for this operation.
      operationId: getGatewayClusterById
      parameters:
      - name: gatewayClusterId
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: Returns the gateway cluster.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayCluster'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/GatewayCluster'
        '403':
          description: Not enough permissions to perform the operation.
    delete:
      tags:
      - gateway-cluster
      summary: Remove a Gateway Cluster
      description: Authentication required for this operation, authenticated user must have admin role.
      operationId: removeGatewayCluster
      parameters:
      - name: gatewayClusterId
        in: path
        required: true
        schema:
          type: string
      - name: permanently
        in: query
        description: Optional bool to specify the permanent deletion of the gateway cluster.
        required: false
        schema:
          type: boolean
      security:
      - Bearer: []
      responses:
        '204':
          description: Removal succeeded.
        '403':
          description: User is not authorized to perform operation, must be an admin.
        '404':
          description: GatewayCluster not found.
        '500':
          description: Error - Gateway cluster not removed.
  /gateway-cluster/organization/{organizationId}:
    get:
      tags:
      - gateway-cluster
      summary: Return gateway clusters for the organization
      description: Authentication required for this operation.
      operationId: getGatewayClusterByOrganization
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: includeSoftDeleted
        in: query
        required: false
        schema:
          type: boolean
      security:
      - Bearer: []
      responses:
        '200':
          description: Returns all the gateway clusters of the organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GatewayCluster'
            application/zensie-v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GatewayCluster'
        '403':
          description: Not enough permissions to perform the operation.
  /gateway-cluster/with-secrets/{gatewayClusterId}:
    get:
      tags:
      - gateway-cluster
      summary: Return gateway cluster with secrets by id
      description: Authentication required for this operation.
      operationId: getGatewayClusterWithSecretsById
      parameters:
      - name: gatewayClusterId
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: Returns the gateway cluster with secrets by id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayClusterWithSecrets'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/GatewayClusterWithSecrets'
        '403':
          description: User must be an admin.
      x-admin-only: true
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
    GatewayCluster:
      type: object
      properties:
        name:
          type: string
          description: Gateway cluster name
        siteId:
          type: string
          description: The site this gateway cluster belongs to.
        gateways:
          type: array
          items:
            $ref: '#/components/schemas/Gateway'
        clusterId:
          type: string
          description: Gateway cluster id.
        organizationId:
          type: string
        locationId:
          type: string
          description: The site this gateway cluster belongs to, use siteId instead.
      description: A cluster of gateways in the same wireless network.
    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
    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
    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.
    NewGatewayCluster:
      type: object
      properties:
        name:
          type: string
          description: Gateway cluster name
        panId:
          type: string
          description: Gateway cluster's network id. A Personal Area Network (PAN) is uniquely defined with this id, which is common among all devices of the same network.
        region:
          type: string
          description: Gateway cluster's region. Used to indicate that this cluster is based in a different region with a possible different compliance.
        sc:
          type: string
          description: Gateway cluster's security key. Required to let gateways and sensors communicate securely on the network.
        siteId:
          type: string
          description: The site this gateway cluster belongs to, use siteId instead.
        organizationId:
          type: string
        locationId:
          type: string
          description: The site this gateway cluster belongs to, use siteId instead.
      description: Gateway cluster creation properties with its restrictions.
    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.
    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
    GatewayClusterWithSecrets:
      type: object
      properties:
        name:
          type: string
          description: Gateway cluster name
        siteId:
          type: string
          description: The site this gateway cluster belongs to.
        gateways:
          type: array
          items:
            $ref: '#/components/schemas/Gateway'
        clusterId:
          type: string
          description: Gateway cluster id.
        organizationId:
          type: string
        locationId:
          type: string
          description: The site this gateway cluster belongs to, use siteId instead.
      description: A cluster of gateways in the same wireless network.
    Gateway:
      type: object
      properties:
        alarmsChecks:
          type: array
          description: The alarms checks ids of the gateway.
          uniqueItems: true
          items:
            type: string
        fleetManagerDeviceId:
          type: string
          description: The fleet manager id.
        gatewayClusterId:
          type: string
          description: The gateway cluster id.
        gatewayInfoCheckId:
          type: string
          description: Id of the gateway info check.
        isBillable:
          type: boolean
          description: States if the gateway is billable or not.
        name:
          type: string
          description: Gateway name
        organizationId:
          type: string
          description: The organization of the gateway.
        remarks:
          type: string
          description: The remarks for the gateway.
        siteId:
          type: string
          description: The site of the gateway.
        state:
          type: string
          description: The state of the gateway.
        templateId:
          type: string
          description: Gateway's template id.
        gatewayId:
          type: string
          description: Gateway Id.
        macAddress:
          type: string
          description: The mac address of the gateway.
        monitoringCheckId:
          type: string
          description: Id of the gateway monitoring check.
        xbeeAddress:
          type: string
          description: The address of the xbee.
        createdAt:
          type: string
          description: The date and time a gateway was created.
        deletedAt:
          type: string
          description: The date and time a gateway was deleted.
        deletedBy:
          type: string
          description: User that deleted the gateway.
        deployedAt:
          type: string
          description: The date and time a gateway was deployed.
        jsonEnvironmentVariableOnDevice:
          type: boolean
          description: Indicates if the json environment variable was successfully set on the actual device via the resin api call when creating a gateway
        updatedAt:
          type: string
          description: The date and time a gateway was last updated.
    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
    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.
  securitySchemes:
    Bearer:
      description: ''
      type: apiKey
      name: Authorization
      in: header