How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SmallStep Device Inventory API

Manage your device inventory

SmallStep Device Inventory API is one of 6 APIs that SmallStep publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Device Inventory. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 8 operations across 5 paths, and defines 23 schemas. It is described by OpenAPI 3.2.0, at version 2025-01-01.

Requests are made against a single base URL, https://gateway.smallstep.com/api.

8 operations 5 paths 23 schemas 1 DELETE3 GET2 PATCH1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2025-01-01
Base URL
https://gateway.smallstep.com/api
Authentication
HTTP Bearer, Mutual TLS
License
Resource Areas
1

Authentication & Security 2

SmallStep Device Inventory API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (JWT). It requires mutual TLS (mtls). By default, every request must be authenticated.

  • mtls — Use a client certificate issued by a trusted root to get short-lived bearer tokens with the step CLI.

Paths & Operations 8

Across 5 paths, the API surfaces 8 operations — 1 DELETE, 3 GET, 2 PATCH, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Device Inventory 8

Manage your device inventory

GET
/devices
List Devices
ListDevices 6 params → 200400401403500
POST
/devices
Add Device
PostDevices 3 params body → 201400401403409422500
DELETE
/devices/{deviceID}
Delete Device
DeleteDevice 4 params → 204400401403404500
GET
/devices/{deviceID}
Get Device
GetDevice 4 params → 200400401403404500
PATCH
/devices/{deviceID}
Update Device
PatchDevice 4 params body → 200400401403404500
PATCH
/devices/{deviceID}/lifecycle
Update Device Lifecycle
PatchDeviceLifecycle 4 params body → 200400401403404500
GET
/platforms
List Platforms
GetPlatforms 4 params → 200400401403500
PUT
/platforms/{platformSlug}
Create Platform
PutPlatform 4 params body → 200400401403500

Schemas 23

The contract defines 23 schemas that model the data the API accepts and returns. The most detailed are deviceRequest (9 properties), devicePatch (9 properties), azurePlatform (5 properties), platform (4 properties). Each schema is shown below with its type and property counts.

awsPlatform
object
Configuration for an AWS platform.
3 properties 2 required
deviceAssurance
string
The assurance level of the device. High-assurance devices are those that have a user binding, have been approved, and have performed cryptographic remote attes…
deviceTags
array
A set of tags that can be used to group devices.
devicePatch
object
Data that can be modified on an existing device. Some device fields may be populated with a value derived from data synced from your team's MDMs. Any data that…
9 properties
device
A device represents a computer that can be issued X.509 certificates for securely connecting to company resources.
deviceLifecycleStatus
string
The lifecycle status of a device indicates its ongoing management state.
deviceDisplayName
string
A friendly name for the device. This field may be populated with a value derived from data synced from your team's MDMs. Setting this value explicitly will mas…
deviceOS
string
The device operating system. This field may be populated with a value derived from data synced from your team's MDMs. Setting this value explicitly will mask a…
deviceOwnership
string
Whether the device is owned by the user or the company. This field may be populated with a value derived from data synced from your team's MDMs. Setting this v…
deviceMetadata
object
A map of custom key-value pairs for a device, typically used to populate certificate fields. These custom keys can be referenced in [X.509 Certificate Fields](…
gcpPlatform
object
Google Cloud Platform
4 properties 2 required
deviceLifecyclePatch
object
Updating a device's lifecycle state can be used to control behavior of credential issuance, as well as inform authorization decisions of integrations, such as…
1 property 1 required
newPlatform
object
Configuration to create a new platform.
4 properties 4 required
deviceStatus
string
The status of the device.
error
object
1 property 1 required
deviceDisplayId
string
An opaque identifier that may be used to link this device to an external inventory. This field may be populated with a value derived from data synced from your…
platform
object
A platform with a list of configurations.
4 properties 4 required
deviceDiscoverySource
string
The source from which this device was discovered.
deviceRequest
object
Data that can be added to a device record.
9 properties 1 required
deviceSerial
string
The serial number of the device. This field may be populated with a value derived from data synced from your team's MDMs. Setting this value explicitly will ma…
azurePlatform
object
Microsoft Azure
5 properties 3 required
deviceUser
object
The user that a device is assigned to. A device cannot be approved for high-assurance certificates until a user has been assigned to it.
2 properties 1 required
deviceUserPatch
object
The user that a device is assigned to. A device cannot be approved for high-assurance certificates until it has an assigned user.
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

smallstep-device-inventory-api-openapi.yml Raw ↑

Other APIs SmallStep publishes across the network.

SmallStep Authentication API
SmallStep Certificates API
SmallStep Credentials API
SmallStep PKI Architecture API
SmallStep Protect API
Where this information came from

This is an independent, third-party profile of SmallStep Device Inventory API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.