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 customer-controller API

Customer

ThingsBoard customer-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 customer-controller. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 11 JSON Schemas.

This API exposes 7 operations across 6 paths, and defines 5 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.

7 operations 6 paths 5 schemas 1 DELETE5 GET1 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 customer-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 7

Across 6 paths, the API surfaces 7 operations — 1 DELETE, 5 GET, 1 POST. Each is listed below with its method, path, parameters, and response codes.

customer-controller 7

Customer

POST
/api/customer
Create or Update Customer (saveCustomer)
saveCustomer 3 params body → 200
GET
/api/tenant/customers
Get Tenant Customer by Customer Title (getTenantCustomer)
getTenantCustomer 1 param → 200
GET
/api/customers
Get Customers by Customer Ids (getCustomersByIds)
getCustomers 6 params → 200
GET
/api/customer/{customerId}
Get Customer (getCustomerById)
getCustomerById 1 param → 200
DELETE
/api/customer/{customerId}
Delete Customer (deleteCustomer)
deleteCustomer 1 param → 200
GET
/api/customer/{customerId}/title
Get Customer Title (getCustomerTitleById)
getCustomerTitleById 1 param → 200
GET
/api/customer/{customerId}/shortInfo
Get Short Customer Info (getShortCustomerInfoById)
getShortCustomerInfoById 1 param → 200

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are Customer (15 properties), PageDataCustomer (4 properties), CustomerId (2 properties), TenantId (2 properties). Each schema is shown below with its type and property counts.

Customer
object
15 properties 2 required
JsonNode
A value representing the any type (object or primitive)
TenantId
object
2 properties 2 required
CustomerId
object
2 properties 2 required
PageDataCustomer
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

thingsboard-customer-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 dashboard-controller API