Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

ThingsBoard edge-controller API

Edge

ThingsBoard edge-controller API is one of 58 APIs that ThingsBoard publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 11 JSON Schema definitions.

Tagged areas include edge-controller. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 11 JSON Schemas.

This API exposes 22 operations across 20 paths, and defines 17 schemas. It is described by OpenAPI 3.1.0, at version 4.3.0.3DEMO.

Requests are made against 2 base URLs: https://demo.thingsboard.io, http://localhost:8080.

22 operations 20 paths 17 schemas 2 DELETE13 GET7 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
4.3.0.3DEMO
Servers
https://demo.thingsboard.io
http://localhost:8080
Authentication
HTTP Loginpassword, API Key
License
Resource Areas
1

Authentication & Security 2

ThingsBoard edge-controller API declares 2 security schemes for authenticating requests. It uses HTTP loginpassword authentication (HTTP login form). An API key is passed in the header as X-Authorization (API key form).

  • HTTP login form — Enter Username / Password
  • API key form — Enter the API key value with 'ApiKey' prefix in format: ApiKey Example: ApiKey tb5te51SkLRYpjGrujUGwqkjFvooWBlQpVe2An2Dr3w13wjfxDW NOTE: Use only ONE authentic…

Paths & Operations 22

Across 20 paths, the API surfaces 22 operations — 2 DELETE, 13 GET, 7 POST. Each is listed below with its method, path, parameters, and response codes.

edge-controller 22

Edge

GET
/api/edges
Get Edges by Ids (getEdgesByIds)
getEdges 6 params → 200
POST
/api/edges
Find Related Edges (findByQuery)
findByQuery_2 body → 200
POST
/api/edge
Create or Update Edge (saveEdge)
saveEdge body → 200
POST
/api/edge/{edgeId}/{ruleChainId}/root
Set Root Rule Chain for Provided Edge (setEdgeRootRuleChain)
setEdgeRootRuleChain 2 params → 200
POST
/api/edge/sync/{edgeId}
Sync Edge (syncEdge)
syncEdge 1 param → 200
POST
/api/edge/bulk_import
Import the Bulk of Edges (processEdgesBulkImport)
processEdgesBulkImport body → 200
POST
/api/customer/{customerId}/edge/{edgeId}
Assign Edge to Customer (assignEdgeToCustomer)
assignEdgeToCustomer 2 params → 200
POST
/api/customer/public/edge/{edgeId}
Make Edge Publicly Available (assignEdgeToPublicCustomer)
assignEdgeToPublicCustomer 1 param → 200
GET
/api/tenant/edges
Get Tenant Edge (getTenantEdge)
getTenantEdges 7 params → 200
GET
/api/tenant/edgeInfos
Get Tenant Edge Infos (getTenantEdgeInfos)
getTenantEdgeInfos 6 params → 200
GET
/api/edges/enabled
Is Edges Support Enabled (isEdgesSupportEnabled)
isEdgesSupportEnabled → 200
GET
/api/edge/{edgeId}
Get Edge (getEdgeById)
getEdgeById 1 param → 200
DELETE
/api/edge/{edgeId}
Delete Edge (deleteEdge)
deleteEdge 1 param → 200
GET
/api/edge/{edgeId}/upgrade/available
Is Edge Upgrade Enabled (isEdgeUpgradeAvailable)
isEdgeUpgradeAvailable 1 param → 200
GET
/api/edge/types
Get Edge Types (getEdgeTypes)
getEdgeTypes → 200
GET
/api/edge/missingToRelatedRuleChains/{edgeId}
Find Missing Rule Chains (findMissingToRelatedRuleChains)
findMissingToRelatedRuleChains 1 param → 200
GET
/api/edge/instructions/upgrade/{edgeVersion}/{method}
Get Edge Upgrade Instructions (getEdgeUpgradeInstructions)
getEdgeUpgradeInstructions 2 params → 200
GET
/api/edge/instructions/install/{edgeId}/{method}
Get Edge Install Instructions (getEdgeInstallInstructions)
getEdgeInstallInstructions 2 params → 200
GET
/api/edge/info/{edgeId}
Get Edge Info (getEdgeInfoById)
getEdgeInfoById 1 param → 200
GET
/api/customer/{customerId}/edges
Get Customer Edges (getCustomerEdges)
getCustomerEdges 7 params → 200
GET
/api/customer/{customerId}/edgeInfos
Get Customer Edge Infos (getCustomerEdgeInfos)
getCustomerEdgeInfos 7 params → 200
DELETE
/api/customer/edge/{edgeId}
Unassign Edge from Customer (unassignEdgeFromCustomer)
unassignEdgeFromCustomer 1 param → 200

Schemas 17

The contract defines 17 schemas that model the data the API accepts and returns. The most detailed are EdgeInfo (14 properties), Edge (12 properties), RelationsSearchParameters (6 properties), BulkImportResultEdge (4 properties). Each schema is shown below with its type and property counts.

EdgeSearchQuery
object
3 properties
BulkImportResultEdge
object
4 properties
JsonNode
A value representing the any type (object or primitive)
Edge
object
A JSON value representing the edge.
12 properties 4 required
BulkImportRequest
object
2 properties
PageDataEdge
object
4 properties
ColumnMapping
object
2 properties
EdgeInfo
object
14 properties 4 required
RelationsSearchParameters
object
6 properties
EntitySubtype
object
3 properties
PageDataEdgeInfo
object
4 properties
RuleChainId
object
2 properties 2 required
TenantId
object
2 properties 2 required
CustomerId
object
2 properties 2 required
Mapping
object
4 properties
EdgeInstructions
object
1 property
EdgeId
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

thingsboard-edge-controller-api-openapi.yml Raw ↑

Other APIs ThingsBoard publishes across the network.

ThingsBoard admin-controller API
ThingsBoard ai-model-controller API
ThingsBoard alarm-comment-controller API
ThingsBoard alarm-controller API
ThingsBoard api-key-controller API
ThingsBoard asset-controller API
ThingsBoard asset-profile-controller API
ThingsBoard audit-log-controller API
ThingsBoard auth-controller API
ThingsBoard calculated-field-controller API
ThingsBoard component-descriptor-controller API
ThingsBoard customer-controller API