For Dedicated: Infra will provide the endpoint while setting it up.
For Create application API, Auth token will be provided by GO Tech lead.
Keep the realm name same across for both preproduction and production environments
For every API x-encrypted is needed in header and keep it same across all for decryption purposes.
Encryption/Decryption Tool
Reach out to support for the tool access
Why is this tool required: You will get encrypted response in 1st 3 Apis
Click on Decrypt with x-encrypted key for decrypting and the same with encryption.
Create an application
Application Login
Create DashboardUser(This is for Admin dashboard)
Key Notes:
Save every API response inthe file for further references
Do Not Retry API Calls Upon Error
If the initial API call results in an error, refrain from retrying with the same inputs (e.g., username, email). Continuous retries will lead to duplicate errors since the system treats the data as already processed.
1.Create a Realm
API Endpoint: {MainEndpoint}/API/applications
Sample curl (Shared Production)
curl --location 'https://backops-go-preproduction.signzy.app/api/applications' \
--header 'Content-Type: application/json' \
--header 'x-encrypted: RuMg2NhxJJcNt9FsnUMvcA7S9SHB/3a+uSOzc2OEjEIt4j/JZ5nMNMavk/W7mmritUGEbYs3WDT4D5jkN6EHnIMs8UYN/mqpLgfdsdiF6O+/RrU7oOSkw/ZsryACfHtpxHt4UiMbTs6Ost6b5bEtws6W6Xx4MnzTsV9fifbbr44grbvefdvNq3nsCBdEkxOdwscwevercHdLXYUizZ0X4WJ+2N70FToQ2sOAxbT7pS/y8gVx+qIDzW4TnFnEfd/sfi/3GUJr9MGdRTpgsKCah5yy3UtVC4JzKsrzCk32MfvShl1PveLiIXEn+6fTTpIoLwWyQ==' \
--header 'Authorization: <<Auth token to be provided by Tech Lead>>' \
--data '{
"name": "", // Any relevant name of for superuser
"username": "", //Unique username for Admin Dashboard
"password": "", //Unique password for Admin Dashboard
"email": "",//unique non-signzy email address for Admin Dashboard
"realm": "" //unique realm name which is the most important part
}'
Headers Required:
Authorization: Token provided by Workflow Tech Lead.
x-encrypted: Session value used for decryption.
Steps:
Use the provided Authorization token and ensure that the x-encrypted session is consistent across all API calls.
Execute the API to create a new realm.
Request Body:
{
"name": "", // Any relevant name of for superuser
"username": "", //Unique username for backops
"password": "", //Unique password for backops
"email": "",//unique non-signzy email address for backops
"realm": "",//unique realm name which is the most important part.
}
Response Decrypting Steps:
Decrypt the response using the provided Encryption Description Tool.
Extract the “id” from the decrypted response. This serves as the Realm ID and will be used in subsequent API calls.
Extract the id from the response. This id acts as the Auth Token for further authenticated API calls
Sample Response:
{
{
"userId": "67341b0db2d660701c94e3e6",//RealmID
"id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NzM0MWIwZGIyZDY2MDcwMWM5NGUzZTYiLCJpYXQiOjE3MzE0NjgwOTIsImV4cCI6MTczMjY3NzY5Mn0.XTidzAXoTe9nuIsZPXlJY2dkp-RBrGXH-6or7oUCxx", //This serves as the auth token for the rest of the APIs
"ttl": 1209600,
"creationDate": "2024-11-13T03:21:32.885Z"
}
}
Replace {{applicationId}} with the ApplicationId (Realm ID) obtained in Step 1.
In the Authorization use the id extracted from login api (2nd Step) and paste it here.
Execute the API to create dashboard creators within the specified realm.
Sample Curl:
curl --location 'https://backops-go-preproduction.signzy.app/api/applications/{applicationId}/dashboardcreators' \
--header 'Content-Type: application/json' \
--header 'Authorization: <<Auth from Login API>>' \
--header 'X-Encrypted: RuMg2NhxJJcNt9FsnUMvcA7S9SHB/3a+uSOzc2OEjEIt4j/JZ5nMNMavk/W7mmritUGEbYs3WDT4D5jkN6EHnIMs8UYN/mqpLOp4YsC6h4u2MmCC/miF6O+/RrU7oOSkw/ZsryACfHtpxHt4UiMbTs6Ost6b5bEtws6W6Xx4WRQ9fghjkbnmvbnmcvbnyuivbnqPi3EcHdLN70FToQ2sOAxbT7pS/y8gVx+qIDzW4TnFnEfd/sfi/3GUJr9MGdRTpdfghCah5yy3UtVC4JzKsrzCk32MfvShl1PveLiIXEn+6fTTpIoLwWyQxxx' \
--data '{
"name": "", //SuperDashboard Name
"username": "", //Admin Dashboard Login Username already used in 1st API
"password": "", //Admin Dashboard Login Password already used in 1st API
"email": "", //Unique email being used in 1st api
"realm": "", //Realm name to be consistent
"mobile": "",//Required
"isAdmin": "true" //This should be present as it is dont change
}'
Replace {{Application_Id}} with the ApplicationId obtained in Step 1.
Use the Authorization token received from Application Login API in Steps 2.
Execute the API to create super backops users for the realm.
Sample curl for shared preproduction:
curl --location 'https://backops-go-preproduction.signzy.app/api/applications/{applicationId}/backopsusers' \
--header 'Content-Type: application/json' \
--header 'Authorization: <<Auth from Login API>>' \
--header 'X-Encrypted: RuMg2NhxJJcNt9FsnUMvcA7S9SHB/3a+uSOzc2OEjEIt4j/JZ5nMNMavk/W7mmritUGEbYs3WDT4D5jkN6EHnIMs8UYN/mqvbnm6h4u2MmCC/miF6O+/RrU7oOSkw/ZsryACfHtpdxcfvg67896b5bcHdLXYUizxcfvg56789Q2sOAxbT7pS/y8gVxfghjn4TnFnEfd/sfi/3GUJr9MGdRTpgsKCah5yy3UtVC4JzKsrzCk32MfvShl1PveLiIXEn+6fTTpIoLwWyQ==' \
--data '{
"name": "",//Super backops name
"username": "", //Super Backops Login username
"password": "",//Super Backops Login Password
"email": "",//Unique email being used in 1st api
"realm": "",//Realm name to be consistent
"mobile": "",//Required
"managerToggle": "false" //Keep it as it is.
}'