Skip to main content
View as Markdown

Devices

List devices in a session

GET/api/v1/sessions/{sessionId}/devices

Devices attached to the session, newest first. Visible to every member of the organization that owns the session.

Path parameters
sessionIdstring · uuidrequired
Session UUID
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
objectstringrequired
dataarrayrequired
Show child attributes
idstring · uuidrequired
Allocation id. Stable and always present, including while the device is still provisioning and no physical device exists yet. This is not the device's own id — see info.serial.
statusstringrequired
Device lifecycle status. `provisioning` means a device is being booted and has no info.serial yet; `in_use` means it is allocated and driveable; `released` means it has been returned to the pool. More values will be added.
infoobjectrequired
Descriptive attributes of the device.
Show child attributes
platformstringrequired
typestring
namestringrequired
osVersionstringrequired
serialstring
The physical device's own id — a UDID on iOS, a serial on Android. Absent while the device is provisioning. This is the id accepted by the device endpoints and tools.
createdAtstring · date-timerequired
When the device was added to the session
releasedAtstring · date-timenullable
When the device was released (billing end)
nextCursorstringnullable
Cursor for the next page; absent when there are no more results

Allocate a device

POST/api/v1/sessions/{sessionId}/devices

Allocates a device matching the given filters and attaches it to the session. Uses the same filter DSL as the fleet.allocate RPC. Allocation is asynchronous: the device is returned immediately with status "provisioning" or "queued" and becomes usable once its status is "ready". Poll GET /sessions/{sessionId}/devices/{deviceId} to observe readiness.

Path parameters
sessionIdstring · uuidrequired
Session UUID
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Body parameters
filtersarrayrequired
Show child attributes
attributestringrequired
operatorstringrequired
Allowed operators depend on the attribute: platform and type accept only EQUALS; name accepts EQUALS, STARTS_WITH, CONTAINS; version accepts EQUALS and the comparison operators.
valuestringrequired
Must be non-empty. For platform: 'ios' or 'android'. For type: 'real'.
Returns
idstring · uuidrequired
Allocation id. Stable and always present, including while the device is still provisioning and no physical device exists yet. This is not the device's own id — see info.serial.
statusstringrequired
Device lifecycle status. `provisioning` means a device is being booted and has no info.serial yet; `in_use` means it is allocated and driveable; `released` means it has been returned to the pool. More values will be added.
infoobjectrequired
Descriptive attributes of the device.
Show child attributes
platformstringrequired
typestring
namestringrequired
osVersionstringrequired
serialstring
The physical device's own id — a UDID on iOS, a serial on Android. Absent while the device is provisioning. This is the id accepted by the device endpoints and tools.
createdAtstring · date-timerequired
When the device was added to the session
releasedAtstring · date-timenullable
When the device was released (billing end)

Get a device

GET/api/v1/sessions/{sessionId}/devices/{deviceId}

Returns a device attached to the session. Visible to every member of the organization that owns the session.

Path parameters
sessionIdstring · uuidrequired
Session UUID
deviceIdstringrequired
The physical device's own id, as returned in SessionDevice.info.serial — a UDID on iOS, a serial on Android. Not the allocation id (SessionDevice.id).
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
idstring · uuidrequired
Allocation id. Stable and always present, including while the device is still provisioning and no physical device exists yet. This is not the device's own id — see info.serial.
statusstringrequired
Device lifecycle status. `provisioning` means a device is being booted and has no info.serial yet; `in_use` means it is allocated and driveable; `released` means it has been returned to the pool. More values will be added.
infoobjectrequired
Descriptive attributes of the device.
Show child attributes
platformstringrequired
typestring
namestringrequired
osVersionstringrequired
serialstring
The physical device's own id — a UDID on iOS, a serial on Android. Absent while the device is provisioning. This is the id accepted by the device endpoints and tools.
createdAtstring · date-timerequired
When the device was added to the session
releasedAtstring · date-timenullable
When the device was released (billing end)

Release a device

POST/api/v1/sessions/{sessionId}/devices/{deviceId}/release

Releases a device, stopping billing and returning it to the fleet. Returns the device with its updated status. Idempotent: releasing an already-released device is a no-op.

Path parameters
sessionIdstring · uuidrequired
Session UUID
deviceIdstringrequired
The physical device's own id, as returned in SessionDevice.info.serial — a UDID on iOS, a serial on Android. Not the allocation id (SessionDevice.id).
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
idstring · uuidrequired
Allocation id. Stable and always present, including while the device is still provisioning and no physical device exists yet. This is not the device's own id — see info.serial.
statusstringrequired
Device lifecycle status. `provisioning` means a device is being booted and has no info.serial yet; `in_use` means it is allocated and driveable; `released` means it has been returned to the pool. More values will be added.
infoobjectrequired
Descriptive attributes of the device.
Show child attributes
platformstringrequired
typestring
namestringrequired
osVersionstringrequired
serialstring
The physical device's own id — a UDID on iOS, a serial on Android. Absent while the device is provisioning. This is the id accepted by the device endpoints and tools.
createdAtstring · date-timerequired
When the device was added to the session
releasedAtstring · date-timenullable
When the device was released (billing end)