Skip to main content
New Member
April 4, 2025
Question

Common identifier between AMAPI & Require for setup app for validation

  • April 4, 2025
  • 5 replies
  • 2 views

We are enrolling devices using AMAPI by generating a QR code with an assigned policy either for work profile or fully managed enrollment.

 

During enrollment, the device prompts for a require for setup app, which, after configuration, returns RESULT_OK, marking the setup as complete and finalizing the device enrollment.

 

Before returning RESULT_OK, To identify the enrolling device, the backend gets the device ID and enterprise ID from the Pub/Sub provisioning notification. The device ID (which matches the GSF ID) is then sent by the require for setup app to the backend for validation. This identifier is also used to enforce enrollment limits based on the enterprise license count.

 

The Issue:

Up to Android 14, retrieving the GSF ID was possible. However, in Android 15, it now returns null.

 

Question:

Is there an alternative identifier that can be used to identify the enrolling device—one that the backend can retrieve and that the setup app can also access during enrollment?

 

Below is the information we receive from Pub/Sub when a device is enrolled:

 

{ "name": [*Hidden for privacy reasons] "managementMode": "PROFILE_OWNER", "state": "PROVISIONING", "enrollmentTime": "2025-04-04T06:17:02.751Z", "lastPolicySyncTime": "2025-04-04T06:17:02.817Z", "softwareInfo": { "androidVersion": "15", "androidDevicePolicyVersionCode": 10323580, "androidDevicePolicyVersionName": "128.32.3 (10323580)", "androidBuildNumber": "AP3A.240905.015.A2", "deviceKernelVersion": "5.15.149-android13-8-00010-gc2e0ba41ba85-ab12040008", "bootloaderVersion": "unknown", "androidBuildTime": "2025-03-11T13:26:50Z", "securityPatchLevel": "2025-03-01", "primaryLanguageCode": "en-IN", "deviceBuildSignature": "c9009d01ebf9f5d0302bc71b2fe9aa9a47a432bba17308a3111b75d7b2143456", "systemUpdateInfo": { "updateStatus": "UP_TO_DATE" } }, "hardwareInfo": { "brand": "Redmi", "hardware": "mt6835", "deviceBasebandVersion": "MOLY.NR17.R1.TC8.PR2.SP.V1.P51,MOLY.NR17.R1.TC8.PR2.SP.V1.P51", "manufacturer": "Xiaomi", "serialNumber": [*Hidden for privacy reasons] "model": "23124RN87I", "enterpriseSpecificId": [*Hidden for privacy reasons] }, "policyName": [*Hidden for privacy reasons] "memoryInfo": { "totalRam": "5865836544", "totalInternalStorage": "806965248" }, "userName": [*Hidden for privacy reasons] "enrollmentTokenName": [*Hidden for privacy reasons] "securityPosture": { }, "ownership": "PERSONALLY_OWNED" }

 

*Updated by Community admin - removed due to privacy reasons 4 April

5 replies

Level 1.6: Donut
May 7, 2025

You could add the a device unique identifier to the managed configuration of the application and retrieve it inside your app programmatically. That's how we do it on our side, send back any identifier to the device using managed configuration  

New Member
October 18, 2025

Hi we also facing same issue without gsf id we didn't get any device details and any do any action on device without gsf id how we can do if not get gsf id

New Member
December 6, 2025

Thanks for sharing the details! Since GSF ID is no longer available in Android 15, you might consider using alternative stable identifiers such as the Enterprise Specific ID from the enrollment payload or the device serial number (if accessible). Both can be retrieved by the backend and the setup app during enrollment, helping enforce license limits and validate devices.

Level 1.5: Cupcake
December 7, 2025

With Android 15 no longer providing the GSF ID, you can use the enterpriseSpecificId or the device’s serialNumber (if accessible) as a unique identifier for enrollment validation. Both are included in the Pub/Sub provisioning notifications and can be retrieved by the setup app during enrollment, allowing the backend to enforce license limits and track devices reliably. Make sure your setup app handles null or missing values gracefully for devices where these fields might be restricted.

Emilie_B
Community Manager
December 8, 2025

Hello @shivam11 - it's been a little while so, I hope you're doing well!

 

I just wanted to reach out and check if you had an update; @kirk-467 and @collin-93 have provided some useful advice only recently (thank you both 😉) so, it'd be great to know what's been happening on your end. 

 

Looking forward to reading your update, 

Emilie