# Overview
Global Id Generator API exposes three different methods, each with its own authentication/authorization mechanism and intended for different identity creation scenarios.
# Getting an Id
# GET /api/ids/{id}
To check if an identity exists one can call a simple GET endpoint. This endpoint is exposed without any authentication or authorization.
Example:
curl -X GET \
'https://xxxxx.abilityplatform.abb/api/ids/{id}' \
-H 'Content-Type: application/json' \
# Generating Ids
# POST /api/ids
This functionality is intended for internal platform applications. Each of such applications should be registered within ABB Azure Active Directory, thus having a unique AppId.
Example:
curl -X POST \
https://xxxxx.abilityplatform.abb/api/ids \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-d '{
"count": 1
}'
An access_token can be obtained with the following call:
curl -X POST \
https://login.microsoftonline.com/372ee9e0-9ce0-4033-a64a-c07073a91ecd/oauth2/token \
-d 'grant_type=client_credentials&client_id={AAD AppId}&client_secret={client_secret}&resource=cdeacb74-176f-4ebd-9b5b-a3456c5ee249'
Whenever a new platform application would like to be authorized to use this service, its AppId has to be added to Global Id Service whitelist.
# Registering Pre-generated Id
# POST /api/ids/{Id}
This functionality is intended for new device provisioning process and is supposed to be invoked from device only.
Example:
curl -X POST \
https://xxxxx.abilityplatform.abb/api/ids/{Id} \
-H 'Content-Type: application/json'
In addition to that, the caller has to provide a valid certificate and that certificate has to have its CN set to objectId of the device (same objected as the {id} in the URL).