Getting Connected
ThingsBoard exposes an HTTP/HTTPS API for devices to publish telemetry, sync attributes, and exchange RPC commands. Any HTTP client — curl, an SDK library, or a language’s built-in HTTP stack — can connect without a specialized broker library.
Connection Parameters
Section titled “Connection Parameters”| Parameter | Value |
|---|---|
| Host | Your ThingsBoard hostname or IP |
| Port | 80 (HTTP) · 443 (HTTPS) |
| Protocol | HTTP/1.1 |
| Authentication | Access token in the URL path |
Authentication
Section titled “Authentication”HTTP uses access token credentials. Include the token as a path segment in every request URL:
https://eu.thingsboard.cloud/api/v1/$ACCESS_TOKEN/{resource}Copy the access token from Entities → Devices → [device] → Copy Access Token. See Devices for how to manage device credentials.
Where {resource} defines the endpoint type for your request. The available resources are:
- telemetry — for sending telemetry data;
- attributes — for publishing or requesting client/shared attributes;
- rpc — for sending or replying to RPC commands;
- claiming — for initiating the device claiming process.
HTTPS (TLS)
Section titled “HTTPS (TLS)”ThingsBoard Cloud already has TLS configured with a valid certificate. Use https:// as the URL scheme — no additional server-side setup is needed.
Response Codes
Section titled “Response Codes”| Code | Meaning |
|---|---|
200 OK | Client’s request has been successfully |
400 Bad Request | Invalid URL, request parameters, or body |
401 Unauthorized | Invalid or missing access token |
404 Not Found | Requested resource does not exist |
405 Method Not Allowed | URL doesn’t support this request method |
Command-Line Tool
Section titled “Command-Line Tool”Examples throughout this section use curl, which is available by default on Linux, macOS, and Windows 10+. Verify with curl --version.