---
title: "Device Trust API"
source_url: https://dev.digicert.com/device-trust-api.html
---
DigiCert® Device Trust Manager API helps you automate device identity management, certificate lifecycle operations, and software deployment for your IoT and connected device fleet.
## What you can do
- **Manage devices:** Register, organize, and control device lifecycle states across your fleet.
- **Issue and manage certificates:** Automatically issue, renew, and revoke device certificates.
- **Deploy software:** Create artifacts, manage releases, and orchestrate deployments to device groups.
- **Configure policies:** Define certificate and authentication policies to control device access and identity requirements.
- **Monitor operations:** Query audit logs to track device activities, certificate operations, and deployment status.
> **Tip**
>
> See [Get started](https://dev.digicert.com/md/get-started.md) for complete details on making your first API call to DigiCert® ONE APIs.
## Authentication
| Method | Best for | How it works |
| --- | --- | --- |
| **API token** *(default)* | CI/CD pipelines, backend services | Add the *service user* API token in the `x-api-key` request header. |
| **Mutual TLS (mTLS)** | High-assurance, network-restricted, or key-rotation-averse environments | Present a client TLS certificate and prepend `clientauth.` to the hostname. See [Set up service user multi-factor authentication](https://dev.digicert.com/md/account-manager-api/tutorials/set-up-service-user-multi-factor-authentication.md). |
## Base URL and endpoints
DigiCert® provides both production and demo environments across four geographic regions. Each API call starts with a region-specific hostname (base URL), followed by a predictable versioned path.
| Environment | Purpose |
| --- | --- |
| **Demo** | Safe testing, proof-of-concepts |
| **Production** | Live operations |
| Segment | Description | examples |
| --- | --- | --- |
| `{hostname}` | DigiCert® ONE hostname | `one.digicert.com`
`demo.one.digicert.com`
`one.digicert.co.jp` |
| `{product}` | DigiCert® ONE product-specific path segment | `/devicetrustmanager` (Device Trust Manager) |
| `api/v{n}` | API version | `/api/v4` (device management)
`/api/v2` (certificate operations)
`/api/v1` (authentication services)
`/{resource}/api/v{n}` [*](#device-trust-example) |
| `{resource}` | Specific endpoint path | `/device`
`/device/{device_id}`
`/device-group`
`/certificate`
`/artifacts/api/v4/artifact` [*](#device-trust-example) |
* Some API endpoints use a slightly different versioning pattern.
## Device lifecycle states
Devices in Device Trust Manager progress through distinct lifecycle states. Understanding these states helps you manage device operations effectively.
| State | Description | Common transitions |
| --- | --- | --- |
| **Registered** | Device identity is created but not yet issued a certificates | Provisioned |
| **Provisioned** | Device has been issued a valid certificate and is fully operational | Disabled, Deleted |
| **Disabled** | Device is temporarily inactive; certificates remain valid | Enabled (returns to Provisioned) |
| **Deleted** | Device is permanently removed; cannot be restored | Terminal state |
> **Info**
>
> Devices must be registered before they can receive certificates. Use the `/devicetrustmanager/api/v4/device/registration` endpoint to create devices, then issue certificates through certificate policies.
## Software deployment workflow
Device Trust Manager uses a three-tier approach to manage software updates, which provides precise control over your deployment strategy.
1. **Artifacts:** Upload software packages or firmware images. An artifact represents the actual binary or package you want to deploy.
2. **Releases:** Associate artifacts with specific device groups. A release defines which artifact version should be deployed to which devices.
3. **Deployments:** Execute the deployment to push releases to target devices. Monitor deployment status and abort if needed.
## Roles and permissions
Assigned roles determine what actions a user can perform. Roles are manager-specific and provide a granular permission structure. Use the `/account/api/v1/role` endpoint to see available roles for Device Trust Manager.
```bash
curl -X GET https://demo.one.digicert.com/account/api/v1/role?application_code=device_manager \
-H "x-api-key: USER_API_TOKEN" \
-H "Content-Type: application/json" | jq '.'
```
## Important considerations
- **Device deletion is permanent.** Deleting a device immediately invalidates all associated certificates and removes the device from all groups. Deleted devices cannot be restored.
- **Certificate policies define enrollment behavior.** Before devices can request certificates, you must create certificate policies that specify certificate templates, validity periods, and approval workflows.
- **Divisions organize your device fleet.** Use divisions to create organizational boundaries. Devices, device groups, and policies belong to divisions, allowing you to delegate management to different teams.
- **Batch operations for scale.** Use batch enrollment endpoints for bulk operations like registering hundreds of devices or uploading authentication certificates at once.
- **Deployment monitoring is critical.** Always monitor deployment status using the deployment summary endpoint. Abort deployments that encounter errors to prevent fleet-wide issues.
## Common operations
| Method | Endpoint | Description |
| --- | --- | --- |
| POST | `/devicetrustmanager/api/v4/device/registration` | Register a new device; required before certificate issuance |
| GET | `/devicetrustmanager/api/v4/device` | List all devices; use query parameters to filter by status `?status=PROVISIONED` |
| GET | `/devicetrustmanager/api/v4/device/{device_id}` | Get details for the specified device |
| POST | `/devicetrustmanager/certificate-issuance-service/api/v2/certificate` | Request a certificate for a device using a certificate policy |
| PUT | `/devicetrustmanager/certificate-issuance-service/api/v2/certificate/{certificate_id}/revoke` | Revoke a certificate by ID; use for compromised devices |
| POST | `/devicetrustmanager/artifacts/api/v4/artifact` | Create a new artifact for software deployment |
| POST | `/devicetrustmanager/release/api/v4/deployment` | Create and execute a deployment to push software to devices |
| GET | `/devicetrustmanager/api/v4/device-group` | List device groups; use to organize devices by location, type, or function |
| GET | `/devicetrustmanager/audit-log-service/api/v1/audit-log` | View audit logs; track device operations and certificate lifecycle events |
## In this section
- [Tutorials](https://dev.digicert.com/md/device-trust-api/tutorials.md)
- [API reference](https://dev.digicert.com/md/device-trust-api/api-reference.md) — OpenAPI reference documentation for Device Trust