Skip to content
Dashboard

List smart devices for the organization.

GET
/devices
curl --request GET \
--url 'https://api-us.suiteop.com/api/v1/devices?ecosystem=smartthings' \
--header 'Authorization: Bearer <token>'

List smart devices with optional filters for type, provider, property, and status.

ecosystem
string
Allowed values: smartthings nest netatmo remotelock seam igloohome brivo schlage august yale manual yonomi
integrationAccountId
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
isArchived
boolean
limit
integer
>= 1 <= 100
lowBattery
boolean
nameContains
string
offset
integer
<= 9007199254740991
onlineStatuses
Array<string>
Allowed values: online offline
propertyGroupIds
Array<string>
propertyIds
Array<string>
providers
Array<string>
Allowed values: slack microsoft_teams google_chat whatsapp netatmo guesty smartthings nest remotelock stripe alexa august schlage salto igloohome_direct yale yale_home ecobee kwikset airbnb tt_lock nuki hospitable hostaway igloohome mews hostify authenticate_com tokeet ownerrez uplisting lodgix lodgify smoobu beds24 docusign fantasticstay zapier viator tedee lockly hostfully avaibook myq dormakaba smily your_rentals wyze direct cloudbeds brivo hostex zeevou documenso guestypay guest_admin track resly elina schlage_legacy august_legacy yale_legacy streamline calry seam postgrid juspay ical opera truvi ciirus hostfully_sandbox
types
Array<string>
Allowed values: lock thermostat sensor door_window_sensor sound_system hub light camera repeater

Success.

Media type application/json
object
data
required

Array of matching items.

Array<object>
object
batteryLevel
required
Any of:
number
batteryUpdatedAt
Any of:
string format: date-time
createdAt
required
string format: date-time
deviceState
required
ecosystem
required
Any of:
string
healthCheck
required
Any of:
string format: date-time
id
required
string
isArchived
required
boolean
linkedProperties
required
Array<object>
object
propertyId
required
string
propertyName
required
Any of:
string
name
required
Any of:
string
online
required
Any of:
boolean
provider
required
Any of:
string
type
required
Any of:
string
meta
required

Response metadata including pagination.

object
pagination
required

Present on list responses.

object
limit
required

Page size used for this request.

integer
offset
required

Number of items skipped.

integer
total
required

Total number of matching items (across all pages).

integer
requestId
required

Unique identifier for this request.

string
pagination
required

Pagination metadata included on list responses.

object
limit
required

Page size used for this request.

integer
offset
required

Number of items skipped.

integer
total
required

Total number of matching items (across all pages).

integer
Example generated
{
"data": [
{
"batteryLevel": 1,
"batteryUpdatedAt": "2026-04-15T12:00:00Z",
"createdAt": "2026-04-15T12:00:00Z",
"deviceState": "example",
"ecosystem": "example",
"healthCheck": "2026-04-15T12:00:00Z",
"id": "example",
"isArchived": true,
"linkedProperties": [
{
"propertyId": "example",
"propertyName": "example"
}
],
"name": "example",
"online": true,
"provider": "example",
"type": "example"
}
],
"meta": {
"pagination": {
"limit": 1,
"offset": 1,
"total": 1
},
"requestId": "example"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute for this API key.

X-RateLimit-Remaining
integer

Remaining requests in the current rate-limit window.

X-RateLimit-Reset
integer

Unix epoch seconds when the rate-limit window resets.

X-Request-Id
string

Unique identifier for this request (matches meta.requestId in the body).

400

Media type application/json
ValidationError

Error envelope returned for HTTP 400 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: validation_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "validation_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

401

Media type application/json
AuthenticationError

Error envelope returned for HTTP 401 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authentication_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authentication_error"
}
}
X-Request-Id
string

Request correlation id (also in meta.requestId).

403

Media type application/json
AuthorizationError

Error envelope returned for HTTP 403 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authorization_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authorization_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

404

Media type application/json
NotFoundError

Error envelope returned for HTTP 404 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: not_found_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "not_found_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

409

Media type application/json
ConflictError

Error envelope returned for HTTP 409 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: conflict_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "conflict_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

422

Media type application/json
BusinessRuleError

Error envelope returned for HTTP 422 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: business_rule_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "business_rule_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

429

Media type application/json
RateLimitError

Error envelope returned for HTTP 429 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: rate_limit_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "rate_limit_error"
}
}
Retry-After
integer

Number of seconds to wait before retrying.

X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

500

Media type application/json
InternalError

Error envelope returned for HTTP 500 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: internal_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "internal_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).