Download OpenAPI specification:
Fleets IoT Device Management Platform — API for device registry, shadow, query, and job/command dispatch.
Returns paginated real-time command execution history.
| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| thingId | string Filter by target thing ID |
| status | string Filter by command execution status |
| action | string Filter by command action |
[- {
- "action": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "jobId": "string",
- "params": null,
- "status": "string",
- "statusDetails": null,
- "thingId": "string",
- "thingName": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]Sends a real-time command via EMQX API publish.
Provide exactly one of thingId or targets (mutually exclusive).
Response body is always BatchCommandResponse:
{commands: [{thingName, executionId, status, error?}], totalTargets, succeeded, failed}.
thingId: single-target; commands has one entry, totalTargets is 1.targets: batch (thingNames / thingGroupNames / savedQueryIds); one entry per matched device.
Batch partial failures return HTTP 200 with per-device commands[].status=FAILED and error set.| action required | string Command action |
object Command parameters | |
object (JobTargets) Batch targets: thingNames, thingGroupNames, savedQueryIds | |
| thingId | string Target thing ID (mutually exclusive with targets) |
| ttl | integer <int64> Command TTL in seconds |
{- "action": "string",
- "params": {
- "property1": null,
- "property2": null
}, - "targets": {
- "savedQueryIds": [
- "string"
], - "thingGroupNames": [
- "string"
], - "thingNames": [
- "string"
]
}, - "thingId": "string",
- "ttl": 0
}{- "$schema": "//schemas/BatchCommandResponse.json",
- "commands": [
- {
- "error": "string",
- "executionId": "string",
- "status": "string",
- "thingName": "string"
}
], - "failed": 0,
- "succeeded": 0,
- "totalTargets": 0
}Returns the status and result of a previously sent command.
| executionId required | string Command execution ID |
{- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}Search PostgreSQL metadata and latest device shadow; optional EMQX Tables history window pre-filter.
| groupId | string Filter by group ID |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page (PostgreSQL result page size) |
| page | integer <int64> >= 1 Default: 1 Page number |
| query | string Search query string |
| status | string Filter by status (online/offline) |
| thingIds | Array of strings or null Filter by specific thing IDs |
| thingTypeIds | Array of strings or null Filter by thing type UUIDs |
| thingTypeNames | Array of strings or null Filter by thing type globally unique names |
| tsFieldName | string Optional flat key in historical shadow reported JSON |
| tsFrom | string EMQX Tables history window start (RFC3339, UTC) |
| tsLimit | integer <int64> [ 0 .. 10000 ] Default: 1000 Max distinct thing IDs from EMQX Tables pre-filter (default 1000 when time window is used) |
| tsTo | string EMQX Tables history window end (RFC3339, UTC) |
{- "groupId": "string",
- "limit": 20,
- "page": 1,
- "query": "string",
- "status": "string",
- "thingIds": [
- "string"
], - "thingTypeIds": [
- "string"
], - "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 1000,
- "tsTo": "string"
}[- {
- "groupIds": [
- "string"
], - "id": "string",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "desired": null,
- "reported": null,
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}
}
]Returns the health status of the Fleets backend including instance ID and detailed connectivity status, endpoint URLs, and error details for EMQX, PostgreSQL, and EMQX Tables (TSDB).
{- "$schema": "//schemas/HealthBody.json",
- "emqx": {
- "endpoint": "string",
- "error": "string",
- "status": true
}, - "instanceId": "string",
- "postgresql": {
- "endpoint": "string",
- "error": "string",
- "status": true
}, - "status": "ok",
- "tables": {
- "endpoint": "string",
- "error": "string",
- "status": true
}
}Lists job executions across jobs and things.
| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| status | string Filter by execution status |
| jobId | string Filter by public job ID |
| thingName | string Filter by thing name |
[- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
]Lists job executions for a thing.
| thingName required | string Thing name |
| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| status | string Filter by execution status |
| jobId | string Filter by public job ID |
[- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
]| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| status | string Filter by job status |
| jobType | string Filter by job type |
[- {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}
]Creates a job and materializes per-thing executions for the Jobs protocol.
object | |
| description | string Job description |
required | object Job document |
| jobId | string Public Job ID |
| jobType | string Enum: "SNAPSHOT" "CONTINUOUS" Job type |
| name | string Job name |
object | |
object | |
object | |
object | |
required | object (JobTargets) Job targets by thingNames or thingGroupNames |
object |
{- "abortConfig": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "document": {
- "property1": null,
- "property2": null
}, - "jobId": "string",
- "jobType": "SNAPSHOT",
- "name": "string",
- "retryConfig": {
- "property1": null,
- "property2": null
}, - "rolloutConfig": {
- "property1": null,
- "property2": null
}, - "schedulingConfig": {
- "property1": null,
- "property2": null
}, - "tags": {
- "property1": null,
- "property2": null
}, - "targets": {
- "savedQueryIds": [
- "string"
], - "thingGroupNames": [
- "string"
], - "thingNames": [
- "string"
]
}, - "timeoutConfig": {
- "property1": null,
- "property2": null
}
}{- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}Soft-deletes terminal jobs or marks active jobs for deletion when force=true.
| jobId required | string Job ID |
| force | boolean Default: false Force deleting active jobs |
{- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}Returns job details including per-thing execution status.
| jobId required | string Job ID |
{- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}Updates mutable job metadata and configuration.
| jobId required | string Job ID |
object | |
| description | string or null |
object | |
object | |
object | |
object |
{- "abortConfig": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "retryConfig": {
- "property1": null,
- "property2": null
}, - "rolloutConfig": {
- "property1": null,
- "property2": null
}, - "schedulingConfig": {
- "property1": null,
- "property2": null
}, - "timeoutConfig": {
- "property1": null,
- "property2": null
}
}{- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}Cancels scheduled and queued executions, or in-progress executions when force=true.
| jobId required | string Job ID |
| comment | string |
| force | boolean |
| reasonCode | string |
{- "comment": "string",
- "force": true,
- "reasonCode": "string"
}{- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": { },
- "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}Lists per-thing executions for a job.
| jobId required | string Job ID |
| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| status | string Filter by execution status |
[- {
- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}
]Gets one thing execution for a job.
| jobId required | string Job ID |
| thingName required | string Thing name |
| executionNumber | integer <int64> Default: 1 Execution attempt number |
{- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}Cancels one execution.
| jobId required | string Job ID |
| thingName required | string Thing name |
| executionNumber | integer <int64> |
| expectedVersion | integer <int64> |
| force | boolean |
object |
{- "executionNumber": 0,
- "expectedVersion": 0,
- "force": true,
- "statusDetails": {
- "property1": null,
- "property2": null
}
}{- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}Marks one execution as removed.
| jobId required | string Job ID |
| thingName required | string Thing name |
| executionNumber required | integer <int64> Execution attempt number |
| force | boolean Default: false Force removing active executions |
{- "$schema": "//schemas/ThingJobExecution.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorMessage": "string",
- "executionId": "string",
- "executionNumber": 0,
- "id": "string",
- "inProgressTimeoutAt": "2019-08-24T14:15:22Z",
- "job": {
- "$schema": "//schemas/ThingJob.json",
- "abortConfig": null,
- "completedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "document": null,
- "documentSource": "string",
- "errorMessage": "string",
- "executions": [
- { }
], - "id": "string",
- "jobId": "string",
- "jobProcessDetails": {
- "numberOfCanceledThings": 0,
- "numberOfFailedThings": 0,
- "numberOfInProgressThings": 0,
- "numberOfQueuedThings": 0,
- "numberOfRejectedThings": 0,
- "numberOfRemovedThings": 0,
- "numberOfScheduledThings": 0,
- "numberOfSucceededThings": 0,
- "numberOfTimedOutThings": 0
}, - "jobType": "string",
- "kind": "string",
- "name": "string",
- "retryConfig": null,
- "rolloutConfig": null,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "schedulingConfig": null,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "tags": null,
- "targetSnapshot": null,
- "targetsJson": null,
- "timeoutConfig": null,
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "jobId": "string",
- "publicJobId": "string",
- "queuedAt": "2019-08-24T14:15:22Z",
- "shadowVersion": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "statusDetails": null,
- "stepTimeoutAt": "2019-08-24T14:15:22Z",
- "terminalAt": "2019-08-24T14:15:22Z",
- "thing": {
- "id": "string",
- "mqttClientId": "string",
- "name": "string"
}, - "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "versionNumber": 0
}| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
[- {
- "$schema": "//schemas/SavedDeviceQuery.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]| description | string or null Query description |
| name required | string Query name |
object (SavedQueryConfig) Structured filter config | |
| queryText required | string DSL query text |
{- "description": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string"
}{- "$schema": "//schemas/SavedDeviceQuery.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Saved query ID |
{- "$schema": "//schemas/ErrorModel.json",
- "detail": "Property foo is required but is missing.",
- "errors": [
- {
- "location": "string",
- "message": "string",
- "value": null
}
], - "status": 400,
- "title": "Bad Request",
}| id required | string Saved query ID |
{- "$schema": "//schemas/SavedDeviceQuery.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Saved query ID |
| description | string or null Query description |
| name | string or null Query name |
object (SavedQueryConfig) Structured filter config | |
| queryText | string or null DSL query text |
{- "description": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string"
}{- "$schema": "//schemas/SavedDeviceQuery.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "queryConfig": {
- "status": "string",
- "thingTypeNames": [
- "string"
], - "tsFieldName": "string",
- "tsFrom": "string",
- "tsLimit": 0,
- "tsTo": "string",
- "tsWindow": "string"
}, - "queryText": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| description | string Tag description |
| name required | string Tag name |
| type required | integer or null <int32> >= 0 Tag type: 0=thing, 1=thingType (default 0) |
{- "description": "string",
- "name": "string",
- "type": 0
}{- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}| name required | string Tag name |
{- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Tag ID |
| description | string Tag description |
| name required | string or null Tag name |
{- "description": "string",
- "name": "string"
}{- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}Writes command execution response to PostgreSQL.
| executionId required | string |
object | |
| status required | string |
| thingName required | string |
| timestamp | integer <int64> |
{- "executionId": "string",
- "result": {
- "property1": null,
- "property2": null
}, - "status": "string",
- "thingName": "string",
- "timestamp": 0
}{- "$schema": "//schemas/CommandResponseOutputBody.json",
- "executionId": "string",
- "status": "string",
- "updatedAt": 0
}Writes event data to GreptimeDB.
| appId | string |
object | |
| eventType required | string |
| severity | string |
| thingName required | string |
| timestamp required | integer <int64> |
{- "appId": "string",
- "data": {
- "property1": null,
- "property2": null
}, - "eventType": "string",
- "severity": "string",
- "thingName": "string",
- "timestamp": 0
}{- "$schema": "//schemas/EventOutputBody.json",
- "inserted": true
}Returns the list of pending and in-progress job executions for a thing.
| clientToken | string |
| thingName required | string |
{- "clientToken": "string",
- "thingName": "string"
}{- "$schema": "//schemas/JobsGetOutput.json",
- "clientToken": "string",
- "inProgressJobs": [
- {
- "executionId": "string",
- "executionNumber": 0,
- "jobId": "string",
- "lastUpdatedAt": 0,
- "queuedAt": 0,
- "startedAt": 0,
- "status": "string",
- "thingName": "string",
- "versionNumber": 0
}
], - "queuedJobs": [
- {
- "executionId": "string",
- "executionNumber": 0,
- "jobId": "string",
- "lastUpdatedAt": 0,
- "queuedAt": 0,
- "startedAt": 0,
- "status": "string",
- "thingName": "string",
- "versionNumber": 0
}
], - "timestamp": 0
}Returns the next QUEUED job execution and transitions it to IN_PROGRESS.
| clientToken | string |
object | |
| stepTimeoutInMinutes | integer <int64> |
| thingName required | string |
{- "clientToken": "string",
- "statusDetails": {
- "property1": null,
- "property2": null
}, - "stepTimeoutInMinutes": 0,
- "thingName": "string"
}{- "$schema": "//schemas/JobsStartNextOutput.json",
- "clientToken": "string",
- "execution": {
- "executionNumber": 0,
- "jobDocument": {
- "property1": null,
- "property2": null
}, - "jobId": "string",
- "lastUpdatedAt": 0,
- "queuedAt": 0,
- "startedAt": 0,
- "status": "string",
- "statusDetails": {
- "property1": null,
- "property2": null
}, - "thingName": "string",
- "versionNumber": 0
}, - "timestamp": 0
}Returns the current execution state and job document for one job.
| jobId required | string Job ID |
| clientToken | string |
| executionNumber | integer <int64> |
| thingName required | string |
{- "clientToken": "string",
- "executionNumber": 0,
- "thingName": "string"
}{- "$schema": "//schemas/JobsExecutionGetOutput.json",
- "clientToken": "string",
- "execution": {
- "executionNumber": 0,
- "jobDocument": {
- "property1": null,
- "property2": null
}, - "jobId": "string",
- "lastUpdatedAt": 0,
- "queuedAt": 0,
- "startedAt": 0,
- "status": "string",
- "statusDetails": {
- "property1": null,
- "property2": null
}, - "thingName": "string",
- "versionNumber": 0
}, - "timestamp": 0
}Updates the execution status for a job.
| jobId required | string Job ID |
| clientToken | string |
| executionNumber | integer <int64> |
| expectedVersion | integer <int64> |
| status required | string |
object | |
| stepTimeoutInMinutes | integer <int64> |
| thingName required | string |
{- "clientToken": "string",
- "executionNumber": 0,
- "expectedVersion": 0,
- "status": "string",
- "statusDetails": {
- "property1": null,
- "property2": null
}, - "stepTimeoutInMinutes": 0,
- "thingName": "string"
}{- "$schema": "//schemas/JobUpdateOutput.json",
- "clientToken": "string",
- "execution": {
- "executionNumber": 0,
- "jobId": "string",
- "status": "string",
- "statusDetails": {
- "property1": null,
- "property2": null
}, - "versionNumber": 0
}, - "timestamp": 0
}Updates thing connectivity status from EMQX lifecycle events.
| clientId required | string |
| disconnectReason | string |
| eventType required | string |
| thingName | string |
| timestamp required | integer <int64> |
{- "clientId": "string",
- "disconnectReason": "string",
- "eventType": "string",
- "thingName": "string",
- "timestamp": 0
}{- "$schema": "//schemas/LifecycleOutputBody.json",
- "updated": true
}Writes reported shadow history to EMQX Tables and latest state to PostgreSQL.
| clientToken | string |
required | object (ShadowReportedState) |
| thingName required | string |
| version | integer <int64> |
{- "clientToken": "string",
- "state": {
- "reported": {
- "property1": null,
- "property2": null
}
}, - "thingName": "string",
- "version": 0
}{- "$schema": "//schemas/ShadowReportedOutputBody.json",
- "thingName": "string",
- "timestamp": 0,
- "version": 0
}Updates PostgreSQL shadow reported state only; used by EMQX HTTP bridge actions (POST-only).
| clientToken | string |
required | object (ShadowReportedState) |
| thingName required | string |
| version | integer <int64> |
{- "clientToken": "string",
- "state": {
- "reported": {
- "property1": null,
- "property2": null
}
}, - "thingName": "string",
- "version": 0
}{- "$schema": "//schemas/ShadowReportedOutputBody.json",
- "thingName": "string",
- "timestamp": 0,
- "version": 0
}Returns the current shadow document for a thing by name.
| thingName required | string Thing name |
{- "$schema": "//schemas/ThingShadowBody.json",
- "delta": {
- "property1": null,
- "property2": null
}, - "desired": {
- "property1": null,
- "property2": null
}, - "id": "string",
- "reported": {
- "property1": null,
- "property2": null
}, - "thingId": "string",
- "updatedAt": "string",
- "version": 0
}| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| tagId | integer <int64> >= 0 When set, list groups whose tag_ids contains this tag ID |
[- {
- "$schema": "//schemas/ThingGroup.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "tagIds": [
- 0
], - "updatedAt": "2019-08-24T14:15:22Z"
}
]| description | string or null Group description |
| name required | string Group name |
| tagFilter required | Array of strings or null Tag names for dynamic membership (at least one) |
{- "description": "string",
- "name": "string",
- "tagFilter": [
- "string"
]
}{- "$schema": "//schemas/ThingGroup.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "tagIds": [
- 0
], - "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Group ID |
{- "$schema": "//schemas/ThingGroup.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "tagIds": [
- 0
], - "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Group ID |
| description | string or null Group description |
| name | string or null Group name |
| tagFilter | Array of strings or null Tag names for dynamic membership |
{- "description": "string",
- "name": "string",
- "tagFilter": [
- "string"
]
}{- "$schema": "//schemas/ThingGroup.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "tagIds": [
- 0
], - "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Group ID |
| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
[- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
]| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
[- {
- "$schema": "//schemas/ThingType.json",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "version": "string"
}
]Creates a thing type with a full JSON schema. Required field: name (globally unique). Device grouping is tag-driven via Thing Groups (see thing-model.md). For the shape and semantics of the schema JSON blob, see https://github.com/emqx/fleets/blob/main/docs/thing-model.md#thingtype-schema
| category | string Category (e.g. HVAC, Sensor) |
| description | string or null Description |
| name required | string Globally unique thing type name (e.g. com.example.hvac.air-conditioner) |
| parentTypeId | string or null Parent thing type ID for inheritance |
| schema | any JSON object persisted as thing_types.schema (JSONB). Optional sections include metadata, connectivity, properties (with optional writable flag), events, commands, security, lifecycle, edge, and relations as defined in the ThingType Schema spec. A top-level "telemetry" key is rejected (model properties under properties; use custom MQTT + rules for high-rate time series). OpenAPI lists this as an untyped object only; see https://github.com/emqx/fleets/blob/main/docs/thing-model.md#thingtype-schema |
| tags | Array of strings or null Tag names to attach |
| version | string Default: "1.0.0" Semantic version |
{- "category": "string",
- "description": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "tags": [
- "string"
], - "version": "1.0.0"
}{- "$schema": "//schemas/ThingType.json",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "version": "string"
}Upload a JSON file (form field 'file') containing a thing type definition. Rejects if name already exists. Schema validation applies (no top-level telemetry). The file format is the same as the export format.
| file required | string <binary> <binary> <application/octet-stream> ThingType JSON file |
{- "$schema": "//schemas/ImportThingTypeOutputBody.json",
- "name": "string",
- "success": true,
- "thingType": {
- "$schema": "//schemas/ThingType.json",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "version": "string"
}
}| id required | string Thing type ID |
{- "$schema": "//schemas/ThingType.json",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "version": "string"
}| id required | string Thing type ID |
| category | string or null Category |
| description | string or null Description |
| name | string or null Globally unique thing type name |
| parentTypeId | string or null Parent thing type ID |
| schema | any JSON object for thing_types.schema (JSONB); same semantics as on create. Properties use flat structure with optional writable flag. Top-level "telemetry" is rejected. OpenAPI shows an untyped object only; see https://github.com/emqx/fleets/blob/main/docs/thing-model.md#thingtype-schema |
| status | string or null Status (active, inactive, deprecated) |
| tags | Array of strings or null Tag names |
| version | string or null Version |
{- "category": "string",
- "description": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- "string"
], - "version": "string"
}{- "$schema": "//schemas/ThingType.json",
- "category": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "version": "string"
}| id required | string Thing type ID |
{- "$schema": "//schemas/ThingTypeExport.json",
- "category": "string",
- "description": "string",
- "name": "string",
- "parentTypeId": "string",
- "schema": null,
- "status": "string",
- "tags": [
- "string"
], - "version": "string"
}| page | integer <int64> >= 1 Default: 1 Page number |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| thingTypeId | string Filter by thing type: UUID (thing_types.id) or globally unique thing type name |
| tagId | Array of integers or null <int64> [ items <int64 > >= 0 ] Repeat for AND: thing must have every listed tag (by tag ID) |
| tagName | Array of strings or null Repeat for AND: thing must have every listed tag (by tag name) |
| status | string Enum: "online" "offline" Filter by connectivity status: online or offline |
| search | string Case-insensitive substring match on thing name or MQTT client ID |
| thingGroupId | string Filter by thing group UUID (members of thing_group_members) |
[- {
- "$schema": "//schemas/Thing.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "groups": [
- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
], - "id": "string",
- "lastOfflineAt": "2019-08-24T14:15:22Z",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "delta": null,
- "desired": null,
- "id": "string",
- "reported": null,
- "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}, - "thingTypeId": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]Creates a thing. If thingTypeId is omitted, null, or empty, the system auto-binds reserved unassigned-device-type. When bound to a ThingType, the thing inherits schema sections: properties, events, commands, and connectivity.
| metadata | any Metadata (JSON object) |
| mqttClientId required | string MQTT client ID |
| name required | string Thing name |
| tags | Array of strings or null Tag names to attach |
| thingTypeId | string or null Thing type reference: UUID (thing_types.id) or globally unique type name; when omitted or empty, auto-binds to reserved unassigned-device-type |
{- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "tags": [
- "string"
], - "thingTypeId": "string"
}{- "$schema": "//schemas/CreateThingResponseBody.json",
- "cert": {
- "$schema": "//schemas/CertResponse.json",
- "certPem": "string",
- "fingerprint": "string",
- "keyAlgorithm": "string",
- "keyPem": "string",
- "message": "string",
- "notAfter": "2019-08-24T14:15:22Z",
- "notBefore": "2019-08-24T14:15:22Z",
- "serial": "string",
- "thingName": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "credential": {
- "$schema": "//schemas/CredentialResponse.json",
- "authIdentity": "string",
- "authType": "string",
- "id": "string",
- "password": "string",
- "status": "string",
- "thingName": "string",
- "username": "string"
}, - "groups": [
- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
], - "id": "string",
- "lastOfflineAt": "2019-08-24T14:15:22Z",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "delta": null,
- "desired": null,
- "id": "string",
- "reported": null,
- "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}, - "thingTypeId": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}Export selected things by IDs as a downloadable .json file whose content is an array of thing objects.
| thingIds required | Array of strings or null Thing UUID list to export |
{- "thingIds": [
- "string"
]
}[- {
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "tags": [
- "string"
], - "thingTypeId": "string"
}
]Upload a single .json file (form field 'file') containing an array of thing objects. Import is partial-success: successful rows are created and failed rows are reported in errors.
| file required | string <binary> <binary> <application/octet-stream> Things JSON file (array of thing objects) |
{- "$schema": "//schemas/ImportThingsOutputBody.json",
- "errors": [
- {
- "error": "string",
- "index": 0,
- "mqttClientId": "string",
- "name": "string"
}
], - "failureCount": 0,
- "successCount": 0,
- "things": [
- {
- "$schema": "//schemas/Thing.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "groups": [
- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
], - "id": "string",
- "lastOfflineAt": "2019-08-24T14:15:22Z",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "delta": null,
- "desired": null,
- "id": "string",
- "reported": null,
- "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}, - "thingTypeId": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Returns event history for one thing from EMQX Tables.
| thingName required | string Thing name |
| from | string Start time, RFC3339 or RFC3339Nano |
| to | string End time, RFC3339 or RFC3339Nano |
| eventType | string Filter by event type |
| severity | string Filter by severity |
| limit | integer <int64> [ 1 .. 100 ] Default: 20 Items per page |
| offset | integer <int64> >= 0 Default: 0 Items to skip |
[- {
- "data": null,
- "eventType": "string",
- "severity": "string",
- "thingName": "string",
- "ts": "string"
}
]{- "$schema": "//schemas/Thing.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "groups": [
- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
], - "id": "string",
- "lastOfflineAt": "2019-08-24T14:15:22Z",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "delta": null,
- "desired": null,
- "id": "string",
- "reported": null,
- "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}, - "thingTypeId": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Thing ID |
| metadata | any Metadata (JSON object) |
| mqttClientId | string or null MQTT client ID |
| name | string or null Thing name |
| tags | Array of strings or null Tag names to attach |
| thingTypeId | string or null Thing type reference: UUID or globally unique name; null/empty auto-binds to reserved unassigned-device-type |
{- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "tags": [
- "string"
], - "thingTypeId": "string"
}{- "$schema": "//schemas/Thing.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "groups": [
- {
- "addedAt": "2019-08-24T14:15:22Z",
- "groupId": "string",
- "thingId": "string",
- "thingName": "string"
}
], - "id": "string",
- "lastOfflineAt": "2019-08-24T14:15:22Z",
- "lastOnlineAt": "2019-08-24T14:15:22Z",
- "metadata": null,
- "mqttClientId": "string",
- "name": "string",
- "schema": null,
- "shadow": {
- "delta": null,
- "desired": null,
- "id": "string",
- "reported": null,
- "thingId": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "version": 0
}, - "status": "string",
- "tags": [
- {
- "$schema": "//schemas/Tag.json",
- "createdAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "id": 0,
- "name": "string",
- "type": 0,
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "thingType": {
- "id": "string",
- "name": "string"
}, - "thingTypeId": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Thing name |
{- "$schema": "//schemas/CertBrief.json",
- "cn": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "fingerprint": "string",
- "keyAlgorithm": "string",
- "notAfter": "2019-08-24T14:15:22Z",
- "notBefore": "2019-08-24T14:15:22Z",
- "revoked": true,
- "revokedAt": "2019-08-24T14:15:22Z",
- "serial": "string",
- "thingName": "string"
}| id required | string Thing name |
{ }{- "$schema": "//schemas/CertResponse.json",
- "certPem": "string",
- "fingerprint": "string",
- "keyAlgorithm": "string",
- "keyPem": "string",
- "message": "string",
- "notAfter": "2019-08-24T14:15:22Z",
- "notBefore": "2019-08-24T14:15:22Z",
- "serial": "string",
- "thingName": "string"
}| id required | string Thing name |
{- "$schema": "//schemas/CertResponse.json",
- "certPem": "string",
- "fingerprint": "string",
- "keyAlgorithm": "string",
- "keyPem": "string",
- "message": "string",
- "notAfter": "2019-08-24T14:15:22Z",
- "notBefore": "2019-08-24T14:15:22Z",
- "serial": "string",
- "thingName": "string"
}| id required | string Thing name |
{ }{- "$schema": "//schemas/CertResponse.json",
- "certPem": "string",
- "fingerprint": "string",
- "keyAlgorithm": "string",
- "keyPem": "string",
- "message": "string",
- "notAfter": "2019-08-24T14:15:22Z",
- "notBefore": "2019-08-24T14:15:22Z",
- "serial": "string",
- "thingName": "string"
}| id required | string Thing name |
[- {
- "$schema": "//schemas/CredentialBrief.json",
- "authIdentity": "string",
- "authType": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "lastResetAt": "2019-08-24T14:15:22Z",
- "revokedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "thingName": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]| id required | string Thing name |
{ }{- "$schema": "//schemas/CredentialResponse.json",
- "authIdentity": "string",
- "authType": "string",
- "id": "string",
- "password": "string",
- "status": "string",
- "thingName": "string",
- "username": "string"
}| id required | string Thing name |
| credId required | string Credential ID |
{- "$schema": "//schemas/CredentialBrief.json",
- "authIdentity": "string",
- "authType": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "lastResetAt": "2019-08-24T14:15:22Z",
- "revokedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "thingName": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| id required | string Thing name |
| credId required | string Credential ID |
{- "$schema": "//schemas/CredentialResponse.json",
- "authIdentity": "string",
- "authType": "string",
- "id": "string",
- "password": "string",
- "status": "string",
- "thingName": "string",
- "username": "string"
}Clears the desired state of the shadow, effectively cancelling any pending desired changes.
| id required | string Thing ID |
{- "$schema": "//schemas/ShadowBody.json",
- "delta": {
- "property1": null,
- "property2": null
}, - "desired": {
- "property1": null,
- "property2": null
}, - "id": "string",
- "reported": {
- "property1": null,
- "property2": null
}, - "thingId": "string",
- "updatedAt": "string",
- "version": 0
}Returns the full shadow document for a thing including reported, desired, and delta states.
| id required | string Thing ID |
{- "$schema": "//schemas/ShadowBody.json",
- "delta": {
- "property1": null,
- "property2": null
}, - "desired": {
- "property1": null,
- "property2": null
}, - "id": "string",
- "reported": {
- "property1": null,
- "property2": null
}, - "thingId": "string",
- "updatedAt": "string",
- "version": 0
}Merges the given desired state into the shadow. Computes and publishes a delta via MQTT if differences exist.
| id required | string Thing ID |
required | object Desired state to merge |
{- "desired": {
- "property1": null,
- "property2": null
}
}{- "$schema": "//schemas/ShadowBody.json",
- "delta": {
- "property1": null,
- "property2": null
}, - "desired": {
- "property1": null,
- "property2": null
}, - "id": "string",
- "reported": {
- "property1": null,
- "property2": null
}, - "thingId": "string",
- "updatedAt": "string",
- "version": 0
}