Set Of Useful Curl Commands
Below is a set of curl commands that are helpful when developing the BDDK integration.
Getting Access Token
Add App
see Add App and the full details
Create App Version
see Create or Add App Version and with more details
Create User Command
curl --location --request POST 'https://domain/auth/admin/realms/{realm}/users' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "john@gamil.com",
"credentials": [
{
"type": "password",
"value": "john@123",
"temporary": false
}
],
"email": "john@gamil.com",
"enabled": true,
"emailVerified": false,
"firstName": "John",
"lastName": "J"
}'
More Details
Get User using UUID
curl --location --request GET 'https://idp.<HOST>/auth/admin/realms/{realm}/users/{uuid}' \
--header 'Authorization: Bearer {token}'
Get User Using Username
curl --location --request GET 'https://idp.<HOST>/auth/realms/{realm}/v3_user/{username}' \
--header 'Authorization: Bearer {token}'
Delete User
curl --location -g --request DELETE 'https://idp.<HOST>/admin/realms/{tenant}/users/{{userId}}' \
--header 'Authorization: Bearer {token}'
Example Delete User
curl --location --globoff --request DELETE 'https://idp.monaco-cbe-shift-a7yt7.midentity.dev/auth/realms/grootan/v3_user/john@gamil.com' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSd1RCV080dmFNdnlFT19IMkNlY0xDN3Fmc09KMjhoQkVDTG1BWUN0R3BZIn0.eyJleHAiOjE2ODg2NDI0OTQsImlhdCI6MTY4ODY0MTU5NCwianRpIjoiYmFhMTNlYTctYzUxZS00YTQ0LWEyOTEtNzIzYTk5MDEzOGYxIiwiaXNzIjoiaHR0cHM6Ly9pZHAubW9uYWNvLWNiZS1zaGlmdC1hN3l0Ny5taWRlbnRpdHkuZGV2L2F1dGgvcmVhbG1zL2dyb290YW4iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiM2M1NTI4ZjItNTk4ZS00MWY0LThjM2UtYWRmYTIyYWI3ODI3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiSURQQ2hhbmdlRW1haWxIZWFkbGVzc1YyIiwic2Vzc2lvbl9zdGF0ZSI6ImRlMmFhMjM5LTFkNGItNGRhZi04NjBlLTRlMDk0ZmRiYmExZSIsImFjciI6Ii0xIiwiYW1yIjpbXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtZ3Jvb3RhbiIsIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iLCJkaWdpdGFuaXVtX2FkbWluIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIGFjci0xIiwic2lkIjoiZGUyYWEyMzktMWQ0Yi00ZGFmLTg2MGUtNGUwOTRmZGJiYTFlIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiIxIn0.Ea4bRyp4OypXNTyodWAsFfXwZVk2DptCq5t5Aygwiglu8tqAedQaKYLgHRrYTAEEvswoVbJ8MZxi28q3x5eiAe_fyyLnSHSIXazgjgmmhRsXaxTOv2FF5gZqK5iQlsgMrpWde4CQdwHYtES8oebBzyWekc9UaqLtl2kB-gB2dmejca9wE_3Q1k3kaZU_yjaulTCFVeJA9fW7iWxTZ9U_X5jS0MXcPbU9hilkuRbdOkG-i6BniYfzR0TRi04Sc96wl4BVc-9EGNAIG77QCpIMpakWzI6JlXawcPrKvnLyt8dWtj2OoKRQABuO9_5l-DS1aK27pAJYrM4ox7cuOmXuLw'
Create Activation Key
curl --location --request PUT 'http://domain/auth/admin/realms/{tenant}/users/{userid}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--data-raw '{
"credentials" : [
{
"type" : "otp",
"credentialData" : "{\"subType\" : \"totp\" , \"period\" : \"1687277520\"}",
"secretData" : "{\"value\" : \"123456\"}"
}
]
}'
Create Activation Code Sample
curl --location --request PUT 'http://localhost:8080/auth/admin/realms/test/users/6c18fd3b-8c84-4ada-843e-ad6c80b04321' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJLemtBZ0ZrMG9sZDh3UEZob3BwY0c3a3piWFJBNDBvc2dGWUFfeThHS3lNIn0.eyJleHAiOjE2ODkzNDUzMTMsImlhdCI6MTY4OTM0NTAxMywianRpIjoiZjdjMTE0OGYtMTYwYi00NTM5LWI0ZTYtMGVkOGM5ZDU3YzA4IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL3Rlc3QiLCJzdWIiOiJkMmU4ZDE1Zi0xOThiLTQ0MTktYjA1ZC01MjU5ODBhN2Q2MTYiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJhZG1pbi1jbGkiLCJzZXNzaW9uX3N0YXRlIjoiYmQ3ZGNlNTYtODUyZi00NDhjLWJmZDItNWZhMTk1YmFlOWFiIiwiYWNyIjoiLTEiLCJhbXIiOltdLCJzY29wZSI6ImVtYWlsIHByb2ZpbGUgYWNyLTEiLCJzaWQiOiJiZDdkY2U1Ni04NTJmLTQ0OGMtYmZkMi01ZmExOTViYWU5YWIiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJiaGFyYXRoIGsiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJiaGFyYXRoLmsiLCJnaXZlbl9uYW1lIjoiYmhhcmF0aCIsImZhbWlseV9uYW1lIjoiayIsImVtYWlsIjoiYmhhcmF0aC5rQGdyb290YW4uY29tIn0.iqkDU760p182RRk0dv93aplHcvlj5meqmKbyKuhY4CrPo29jBdVvOQaJbsvecACziyjt8E7www6hxwTXMEG2l9ywtVqW1FWqgpR1ZorUfhd-juAk6gJBjcOTCeMNUJgGjBEbnora5EfmvIhsDHNJCMIJkLsqWZ-x3Pj1s0LlLGgESikeiSsQJ1930tA9OHVU0ksavFz-lcM5KlhV_6mqjsO6bl4-EhLoV1Pp4eSSPqd7BzEvLFcU7ITFKEC4dt9GIX8zEUlLNuHLWu7wLkacz91DVNtSA-pwtqT-ImmFyXVcvkvDF5Z7QwBVd2ChLFqmLANH-0_upE2M0Os1pL2uOg' \
--data-raw '{
"credentials" : [
{
"type" : "otp",
"credentialData" : "{\"subType\" : \"totp\" , \"period\" : \"1687277520\"}",
"secretData" : "{\"value\" : \"123456\"}"
}
]
}'
Additional Commands
TMS
Note
The JSON for credential data and secret data should be stringified (with escape characters). This is an IDP API requirement and it must be in this format.