akenza.io
WebsiteAPI DocumentationWhat's newLogin
  • Overview
  • Getting Started
    • Connect a Device
  • Changelog
  • General
    • Applications
    • Organization context
    • Workspace Context
    • Users
      • User Roles
  • Device Management
    • Managing an organization
      • API keys
      • Users (Organization)
        • Add & removing users from your organization
    • Managing a workspace
      • General Settings
        • Device Lifecycle Reports
        • Workspace properties
        • Occupancy settings
        • Device Setup Assistant
      • Custom fields
      • Tags
      • Users (Workspace)
    • Devices
      • Device
      • Device Simulator
      • Bulk actions
      • Bulk import CSV templates
    • Rules
      • Input
      • Logic blocks
        • Comparison
        • Custom Logic
          • Logic Block Scripting
      • Timed Rules
      • Rule Actions
        • Downlink
    • Data Flows
      • Device Connectors
        • Device Security
          • Using Device Credentials
            • Creating Public/Private Key Pairs
            • Using JSON Web Tokens (JWTs)
              • Python
              • Java
        • HTTP
        • MQTT
        • CoAP
        • LoRaWAN
          • Connectivity Management
          • Swisscom LoRaWAN
          • The Things Network
          • Loriot
          • Actility’s ThingPark Wireless
          • EWZ
          • Cibicom
          • Helium
          • ChirpStack
        • NB-IoT
        • mioty
        • Disruptive Technologies
        • VergeSense
        • Spaceti
        • Haltian
      • Device Types
        • Custom Device Types
          • Uplink
          • Downlink
          • Scripting
        • Library
      • Output Connectors
        • Databases
          • akenza DB
          • InfluxDB
          • SQL Databases
        • Streaming
          • Webhook
          • Azure IoT Hub
          • AWS Kinesis
          • Google Cloud Pub/Sub
          • Apache Kafka
        • Notifications
          • E-Mail
          • SMS
          • Microsoft Teams
          • Slack
    • Custom Components
    • Integrations
    • Reference
      • REST API
        • Filtering
        • Querying Device Data
      • WebSocket API
      • Scripting
        • Stateful Operations
        • Utility Functions
      • Payload Templating
  • Reference
  • Dashboard Builder
    • Managing Dashboards
      • Embedding dashboards
    • Components
      • Map
      • Floorplan
  • Device Setup Assistant
    • Device Setup Assistant - Overview
  • Tutorials
    • BI Tools
      • Grafana Data Source Plugin
      • How to build a dashboard with Retool
      • How to analyze data with AWS QuickSight
    • Devices
      • How to integrate the XDK device from Legic via MQTT on akenza
      • How to connect the Disruptive Technologies-cloud on akenza
      • How to send Downlinks to the Kuando Busylight device
      • How to integrate an Arduino device via MQTT on akenza
      • Integrate a MClimate Vicki LoRaWAN Radiator Thermostat on akenza
      • How to integrate an ERS Elsys device with Loriot on akenza
      • How to integrate the IAM Decentlab device with TTN on akenza
      • How to integrate the Seeed SenseCAP T1000 tracker on akenza
      • How to integrate a Swisscom Multisense device on akenza
    • Notifications
      • How to send SMS notifications
      • How to send notifications to Slack
      • How to send notifications to Microsoft Teams
    • Enterprise solutions
      • How to send data to Azure IoT Hub
      • How to send data to the Google Cloud Pub/Sub
      • How to send data to InfluxDB
      • How to send data to AWS Kinesis
      • How to send data to Azure Event Hubs with Apache Kafka
    • IoT Starter Kits
      • How to integrate the IAQ Kit with Actility on akenza
      • How to integrate the CoWork Kit with Actility on akenza
      • How to integrate the Smart Building Kit with Actility on akenza
      • How to integrate the Pepperl+Fuchs Kit with Actility on akenza
  • Support Center
    • FAQ
    • Status Page
    • Service Desk
    • Request a feature
  • Deprecated
    • SIM-Cards
    • Everynet
    • Sigfox
    • How to connect the Yanzi Lifecycle cloud on akenza
Powered by GitBook
On this page
  • API-keys
  • Authenticating Requests
  • Example Request
  • Backfilling

Was this helpful?

  1. Device Management
  2. Reference

REST API

See our Postman collection for our API documentation

PreviousReferenceNextFiltering

Last updated 5 months ago

Was this helpful?

Akenza provides a REST API for programmatic access to its features. If you have any questions or want to request new API features, please submit a feature in our .

A set of examples, showing how to use the API:

The API documentation can be found here:

API-keys

API-keys can be used to authenticate API Requests without having to provide a User JWT in the request. This is often used when writing an application based on akenza services.

API-keys are created on Organization level and have permissions, which can be specified to suit the use case for the API-key. This means that API-keys can be denied access to certain parts of the Organization and its Workspaces, or a complete feature altogether.

API-keys can be found under the API-key menu entry. They can only be created and viewed by Organization Owners and Organization Administrators. Other Members of the Organization have no access to API-keys.

Authenticating Requests

Requests can be authenticated with an API Key by providing the x-api-key header. The value of the header is the secret of the API Key.

If the request is out of the specified permission scopes (e.g. Organization Delete) the API will return permission denied error.

Example Request

GET https://api.akenza.io/v3/assets

This request will fetch all Assets in a workspace using an API Key for authentication.

Query Parameters

Name
Type
Description

workspaceId

string

The Workspace Id

Headers

Name
Type
Description

x-api-key

string

The API Key Secret

{
   "content":[
      {
         "id":"02d2327fedce2128",
         "name":"some device",
         "description":null,
         "type":"DEVICE",
         ...
      }
   ],
   "pageable":{
      ...
   },
   "totalPages":1,
   "totalElements":1,
   "last":true,
   "number":0,
   "sort":{
      ...
   },
   "size":25,
   "numberOfElements":1,
   "first":true,
   "empty":false
}
{
    "timestamp": "2021-02-19T15:06:56.928+00:00",
    "path": "/v3/assets",
    "status": 403,
    "error": "Forbidden",
    "message": "Permission denied",
    "requestId": "64fa58b0-18361",
    "errorId": "33a00d16-6a22-4687-99ca-90bb448e5eb2",
    "traceId": "8a7c4ea8ae80a5e4"
}

Backfilling

Backfilling allows adding data to a device using an http endpoint. It is possible to backfill data individually or in bulk for a single device.

All data sent this way will be processed by the output connectors and rules, therefore the body has to match the output of the device type script. If not specified the timestamp will be set to the current time and the topic to default.

The example requests can be found in the

akenza api documentation
canny board
Logoakenza APIakenza API
LogoGitHub - akenza-io/akenza-examples: A set of examples for using the `akenza` APIGitHub
API-keys with assigned premissions