Enrollment Group - Get
Get a device enrollment group.
GET https://{dpsName}.azure-devices-provisioning.net/enrollmentGroups/{id}?api-version=2021-10-01
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
dps
|
path | True |
string |
The DPS instance hostname. |
|
id
|
path | True |
string |
Enrollment group ID. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Header
| Name | Required | Type | Description |
|---|---|---|---|
| Authorization | True |
string |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
The request has succeeded. |
|
| Other Status Codes |
An unexpected error response. Headers x-ms-error-code: string |
Security
Authorization
Type:
apiKey
In:
header
Examples
|
Enrollment |
|
Enrollment |
EnrollmentGroup_Get_MaximumSet_Gen
Sample request
GET https://{dpsName}.azure-devices-provisioning.net/enrollmentGroups/aeejtkwwsgoraodfdlh?api-version=2021-10-01
Sample response
{
"allocationPolicy": "hashed",
"attestation": {
"type": "none",
"symmetricKey": {
"primaryKey": "tdoshkmlo",
"secondaryKey": "lmajoyzuojahffcmdlcwjhntqzyqzk"
},
"tpm": {
"endorsementKey": "naoofgjbxiulcitlysusxdvagyucgn",
"storageRootKey": "tdgkgcvptrsw"
},
"x509": {
"caReferences": {
"primary": "efbkbboxkvrsdl",
"secondary": "vckhuzqgbcinighxwyuyd"
},
"clientCertificates": {
"primary": {
"info": {
"issuerName": "pkuinyhttjlozsbtvxuizzkjlakga",
"notAfterUtc": "2025-10-01T17:42:04.760Z",
"notBeforeUtc": "2025-10-01T17:42:04.760Z",
"serialNumber": "mzoidcxayenpgyrek",
"sha1Thumbprint": "fdmftjqllzvxcd",
"sha256Thumbprint": "ei",
"subjectName": "qqjdjgrkiqvtnshkisozut",
"version": 12
},
"certificate": "gkozpt"
},
"secondary": {
"info": {
"issuerName": "pkuinyhttjlozsbtvxuizzkjlakga",
"notAfterUtc": "2025-10-01T17:42:04.760Z",
"notBeforeUtc": "2025-10-01T17:42:04.760Z",
"serialNumber": "mzoidcxayenpgyrek",
"sha1Thumbprint": "fdmftjqllzvxcd",
"sha256Thumbprint": "ei",
"subjectName": "qqjdjgrkiqvtnshkisozut",
"version": 12
},
"certificate": "gkozpt"
}
},
"signingCertificates": {
"primary": {
"info": {
"issuerName": "pkuinyhttjlozsbtvxuizzkjlakga",
"notAfterUtc": "2025-10-01T17:42:04.760Z",
"notBeforeUtc": "2025-10-01T17:42:04.760Z",
"serialNumber": "mzoidcxayenpgyrek",
"sha1Thumbprint": "fdmftjqllzvxcd",
"sha256Thumbprint": "ei",
"subjectName": "qqjdjgrkiqvtnshkisozut",
"version": 12
},
"certificate": "gkozpt"
},
"secondary": {
"info": {
"issuerName": "pkuinyhttjlozsbtvxuizzkjlakga",
"notAfterUtc": "2025-10-01T17:42:04.760Z",
"notBeforeUtc": "2025-10-01T17:42:04.760Z",
"serialNumber": "mzoidcxayenpgyrek",
"sha1Thumbprint": "fdmftjqllzvxcd",
"sha256Thumbprint": "ei",
"subjectName": "qqjdjgrkiqvtnshkisozut",
"version": 12
},
"certificate": "gkozpt"
}
}
}
},
"capabilities": {
"iotEdge": true
},
"createdDateTimeUtc": "2025-10-01T17:42:05.495Z",
"customAllocationDefinition": {
"apiVersion": "gbannxdstouqrfonxdxfurv",
"webhookUrl": "todqbubyxeumrtvhsscedwrkz"
},
"enrollmentGroupId": "sfsevlobqfdnqmghunj",
"etag": "kmvtdrkjyfzj",
"initialTwin": {
"properties": {
"desired": {
"count": 16,
"key2428": {},
"metadata": {
"lastUpdated": "2025-10-01T17:42:04.760Z",
"lastUpdatedVersion": 19
},
"version": 9
}
},
"tags": {
"count": 16,
"key2428": {},
"metadata": {
"lastUpdated": "2025-10-01T17:42:04.760Z",
"lastUpdatedVersion": 19
},
"version": 9
}
},
"iotHubHostName": "dey",
"iotHubs": [
"ehqilokxpijrvaigiaf"
],
"lastUpdatedDateTimeUtc": "2025-10-01T17:42:05.495Z",
"provisioningStatus": "enabled",
"reprovisionPolicy": {
"migrateDeviceData": true,
"updateHubAssignment": true
}
}
EnrollmentGroup_Get_MinimumSet_Gen
Sample request
GET https://{dpsName}.azure-devices-provisioning.net/enrollmentGroups/foizrzwygyrulkdxcyb?api-version=2021-10-01
Sample response
{
"attestation": {
"type": "none"
},
"enrollmentGroupId": "sfsevlobqfdnqmghunj"
}
Definitions
| Name | Description |
|---|---|
|
Allocation |
The allocation policy of this resource. This policy overrides the tenant level allocation policy for this individual enrollment or enrollment group. Possible values include 'hashed': Linked IoT hubs are equally likely to have devices provisioned to them, 'geoLatency': Devices are provisioned to an IoT hub with the lowest latency to the device.If multiple linked IoT hubs would provide the same lowest latency, the provisioning service hashes devices across those hubs, 'static' : Specification of the desired IoT hub in the enrollment list takes priority over the service-level allocation policy, 'custom': Devices are provisioned to an IoT hub based on your own custom logic. The provisioning service passes information about the device to the logic, and the logic returns the desired IoT hub as well as the desired initial configuration. We recommend using Azure Functions to host your logic. |
|
Attestation |
Attestation mechanism for individualEnrollment as well as enrollmentGroup. |
|
Attestation |
Attestation Type. |
|
Custom |
This tells DPS which webhook to call when using custom allocation. |
|
Device |
Device capabilities. |
|
Enrollment |
Enrollment group record. |
|
Initial |
Initial device twin. Contains a subset of the properties of Twin. |
|
Initial |
Represents the initial properties that will be set on the device twin. |
| Metadata |
Metadata for the TwinCollection |
|
Provisioning |
Contains the properties of an error returned by the Azure IoT Hub Provisioning Service. |
|
Provisioning |
The provisioning status. |
|
Reprovision |
The behavior of the service when a device is re-provisioned to an IoT hub. |
|
Symmetric |
Attestation via SymmetricKey. |
|
Tpm |
Attestation via TPM. |
|
Twin |
Represents a collection of properties within a Twin |
| X509Attestation |
Attestation via X509. |
| X509CAReferences |
Primary and secondary CA references. |
|
X509Certificate |
X509 certificate info. |
| X509Certificates |
Primary and secondary certificates |
|
X509Certificate |
Certificate and Certificate info |
AllocationPolicy
The allocation policy of this resource. This policy overrides the tenant level allocation policy for this individual enrollment or enrollment group. Possible values include 'hashed': Linked IoT hubs are equally likely to have devices provisioned to them, 'geoLatency': Devices are provisioned to an IoT hub with the lowest latency to the device.If multiple linked IoT hubs would provide the same lowest latency, the provisioning service hashes devices across those hubs, 'static' : Specification of the desired IoT hub in the enrollment list takes priority over the service-level allocation policy, 'custom': Devices are provisioned to an IoT hub based on your own custom logic. The provisioning service passes information about the device to the logic, and the logic returns the desired IoT hub as well as the desired initial configuration. We recommend using Azure Functions to host your logic.
| Value | Description |
|---|---|
| hashed |
hashed |
| geoLatency |
geoLatency |
| static |
static |
| custom |
custom |
AttestationMechanism
Attestation mechanism for individualEnrollment as well as enrollmentGroup.
| Name | Type | Description |
|---|---|---|
| symmetricKey |
Symmetric Key attestation method. |
|
| tpm |
TPM attestation method. |
|
| type |
Attestation Type. |
|
| x509 |
X509 attestation method. |
AttestationType
Attestation Type.
| Value | Description |
|---|---|
| none |
none |
| tpm |
tpm |
| x509 |
x509 |
| symmetricKey |
symmetricKey |
CustomAllocationDefinition
This tells DPS which webhook to call when using custom allocation.
| Name | Type | Description |
|---|---|---|
| apiVersion |
string |
The API version of the provisioning service types (such as IndividualEnrollment) sent in the custom allocation request. Minimum supported version: "2018-09-01-preview". |
| webhookUrl |
string |
The webhook URL used for allocation requests. |
DeviceCapabilities
Device capabilities.
| Name | Type | Default value | Description |
|---|---|---|---|
| iotEdge |
boolean |
False |
If set to true, this device is an IoTEdge device. |
EnrollmentGroup
Enrollment group record.
| Name | Type | Default value | Description |
|---|---|---|---|
| allocationPolicy |
The allocation policy of this resource. This policy overrides the tenant level allocation policy for this individual enrollment or enrollment group. Possible values include 'hashed': Linked IoT hubs are equally likely to have devices provisioned to them, 'geoLatency': Devices are provisioned to an IoT hub with the lowest latency to the device.If multiple linked IoT hubs would provide the same lowest latency, the provisioning service hashes devices across those hubs, 'static' : Specification of the desired IoT hub in the enrollment list takes priority over the service-level allocation policy, 'custom': Devices are provisioned to an IoT hub based on your own custom logic. The provisioning service passes information about the device to the logic, and the logic returns the desired IoT hub as well as the desired initial configuration. We recommend using Azure Functions to host your logic. |
||
| attestation |
Attestation method used by the device. |
||
| capabilities |
Capabilities of the device. |
||
| createdDateTimeUtc |
string (date-time) |
The DateTime this resource was created. |
|
| customAllocationDefinition |
This tells DPS which webhook to call when using custom allocation. |
||
| enrollmentGroupId |
string |
Enrollment Group ID. |
|
| etag |
string |
The entity tag associated with the resource. |
|
| initialTwin |
Initial device twin. |
||
| iotHubHostName |
string |
The Iot Hub host name. |
|
| iotHubs |
string[] |
The list of IoT Hub hostnames the device(s) in this resource can be allocated to. Must be a subset of tenant level list of IoT hubs. |
|
| lastUpdatedDateTimeUtc |
string (date-time) |
The DateTime this resource was last updated. |
|
| provisioningStatus | enabled |
The provisioning status. |
|
| reprovisionPolicy |
The behavior when a device is re-provisioned to an IoT hub. |
InitialTwin
Initial device twin. Contains a subset of the properties of Twin.
| Name | Type | Description |
|---|---|---|
| properties |
Twin desired properties. |
|
| tags |
Twin tags. |
InitialTwinProperties
Represents the initial properties that will be set on the device twin.
| Name | Type | Description |
|---|---|---|
| desired |
Gets and sets the InitialTwin desired properties. |
Metadata
Metadata for the TwinCollection
| Name | Type | Description |
|---|---|---|
| lastUpdated |
string (date-time) |
Last time the TwinCollection was updated |
| lastUpdatedVersion |
integer (int32) |
This is null for reported properties metadata and is not null for desired properties metadata. |
ProvisioningServiceErrorDetails
Contains the properties of an error returned by the Azure IoT Hub Provisioning Service.
| Name | Type | Description |
|---|---|---|
| errorCode |
integer (int32) |
Error code for the operation. |
| info |
object |
Dictionary of <string> |
| message |
string |
Human-readable error message. |
| timestampUtc |
string (date-time) |
UTC timestamp of the error. |
| trackingId |
string |
Tracking ID for the error. |
ProvisioningStatus
The provisioning status.
| Value | Description |
|---|---|
| enabled |
enabled |
| disabled |
disabled |
ReprovisionPolicy
The behavior of the service when a device is re-provisioned to an IoT hub.
| Name | Type | Default value | Description |
|---|---|---|---|
| migrateDeviceData |
boolean |
True |
When set to true (default), the Device Provisioning Service will migrate the device's data (twin, device capabilities, and device ID) from one IoT hub to another during an IoT hub assignment update. If set to false, the Device Provisioning Service will reset the device's data to the initial desired configuration stored in the corresponding enrollment list. |
| updateHubAssignment |
boolean |
True |
When set to true (default), the Device Provisioning Service will evaluate the device's IoT Hub assignment and update it if necessary for any provisioning requests beyond the first from a given device. If set to false, the device will stay assigned to its current IoT hub. |
SymmetricKeyAttestation
Attestation via SymmetricKey.
| Name | Type | Description |
|---|---|---|
| primaryKey |
string |
Primary symmetric key. |
| secondaryKey |
string |
Secondary symmetric key. |
TpmAttestation
Attestation via TPM.
| Name | Type | Description |
|---|---|---|
| endorsementKey |
string |
TPM endorsement key. |
| storageRootKey |
string |
TPM storage root key. |
TwinCollection
Represents a collection of properties within a Twin
| Name | Type | Description |
|---|---|---|
| count |
integer (int32) |
Number of properties in the TwinCollection |
| metadata |
Metadata for the TwinCollection |
|
| version |
integer (int32) |
Version of the TwinCollection |
X509Attestation
Attestation via X509.
| Name | Type | Description |
|---|---|---|
| caReferences |
Primary and secondary CA references. |
|
| clientCertificates |
Primary and secondary certificates |
|
| signingCertificates |
Primary and secondary certificates |
X509CAReferences
Primary and secondary CA references.
| Name | Type | Description |
|---|---|---|
| primary |
string |
Primary CA reference. |
| secondary |
string |
Secondary CA reference. |
X509CertificateInfo
X509 certificate info.
| Name | Type | Description |
|---|---|---|
| issuerName |
string |
Issuer name of the certificate. |
| notAfterUtc |
string (date-time) |
Certificate validity end (UTC). |
| notBeforeUtc |
string (date-time) |
Certificate validity start (UTC). |
| serialNumber |
string |
Serial number of the certificate. |
| sha1Thumbprint |
string |
SHA-1 thumbprint of the certificate. |
| sha256Thumbprint |
string |
SHA-256 thumbprint of the certificate. |
| subjectName |
string |
Subject name of the certificate. |
| version |
integer (int32) |
Version of the certificate. |
X509Certificates
Primary and secondary certificates
| Name | Type | Description |
|---|---|---|
| primary |
Certificate and Certificate info |
|
| secondary |
Certificate and Certificate info |
X509CertificateWithInfo
Certificate and Certificate info
| Name | Type | Description |
|---|---|---|
| certificate |
string |
PEM-formatted certificate string. |
| info |
X509 certificate info. |