Skip to content

Get a device deployment version history

GET
/api/v1/devices/{id}/version-history
curl --request GET \
--url http://localhost:3000/api/v1/devices/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/version-history \
--header 'X-API-Key: <X-API-Key>'

Recorded deployment version lineage for the device, newest first. Backs the confirm dialog that names both versions before a rollback.

id
required
string format: uuid

Device UUID

x-organization-id
string format: uuid

UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.

Version history retrieved

Media typeapplication/json
Array<object>
object
id
required
string format: uuid
organizationId
required
string format: uuid
deviceId
required
string format: uuid
deploymentId
required
string format: uuid
applicationDescriptionId
required
string format: uuid
manifestDigest
required

Sha256: of the sealed ApplicationDeployment YAML

string
manifestVersion
required

Device manifest version at seal time

number
deployedAt
required
string format: date-time
revisionId
required

FM-1442: the revision the sealed manifest was built from. Null on every row sealed before revisions existed.

string format: uuid
nullable
Examplegenerated
[
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"deviceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"deploymentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"applicationDescriptionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"manifestDigest": "example",
"manifestVersion": 1,
"deployedAt": "2026-04-15T12:00:00Z",
"revisionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
]

Device not found