Skip to main content

Set Of Useful Curl Commands

Below is a set of curl commands that are helpful when developing the BDDK integration.

Getting Access Token​

see here

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.