Introduction
This Document explains about the procedure to authenticate using oAuth and use the tokens for API operations such as GET, POST, PUT, Delete. Versa Director and Concerto listen on port numbers 9182 and 9183 for REST API queries.
Requirement
Customers require using REST API oAUTH client using “client_ID” and “client_ secret” based token for authentication of API responses.
Procedure for creating oAuth client
1. Create oAuth client on the Director/Director’s.
Navigate to Director ------->Administration ------------>system ----------->Authorized users------ >Clients
“Click on Add +”

2. Configure the oAuth client values, here important fields are name of the client, description, and grant types.
“Click on ok”
![]() |
3. Oauth client details will be shown in the pop-up screen, after you click “ok”. Now, these values have to retained till the time token refresh is not needed.
![]() |
4. Optional- recovering the client secret key
Navigate to Director ------->Administration ------------>system ----------->Authorized users------ >Clients
“Select the client’s name checkbox, and click on “refresh client secret””

REST API procedure using oauth client-id & client-secret
1. API call for creating a “TOKEN”, we use the generated client-id, client-secret + username and password of the Director with “ProviderDatacenterSystemAdmin” or ProviderDatacenterAdmin”
Snippet of the code sample
curl -i -k -X POST 'https://10.163.105.103/portalapi/v1/auth/token' -H "Accept: application/json" -H "Content-Type: application/json" -d '{ "client_id": "ABDFD15E2SFFS16D0EE4F972AC19D2011C", "client_secret": "85d642bdd3a8398712724bc720c5b31a","username": "apitester", "password":"Versa@1234", "grant_type": "password"}'
2. This step will generate a token key, which shall be used for our future API requests.
successful Output:
HTTP/2 201
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-security-policy: default-src 'self';font-src 'self' data: https://fonts.googleapis.com/ https://fonts.gstatic.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://maps.googleapis.com/maps/api/geocode/json https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://export.highcharts.com/ https://code.highcharts.com/; img-src 'self' blob: data: https://maps.googleapis.com/maps/api/geocode/json https://maps.gstatic.com/ https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://lipis.github.io https://chart.apis.google.com/ https://export.highcharts.com/ https://purecatamphetamine.github.io/; style-src 'self' 'unsafe-inline' data: https://maps.googleapis.com/maps/api/geocode/json https://*.tile.openstreetmap.org https://fonts.googleapis.com/ https://export.highcharts.com/ https://code.highcharts.com/;form-action 'self'; connect-src 'self' wss://self:6080 data: https://maps.googleapis.com https://*.tile.openstreetmap.org/ https://ipapi.co;
content-type: application/json;charset=UTF-8 date: Mon, 10 Jul 2023 10:17:25 GMT
expires: 0 pragma: no-cache
set-cookie: USER_SESSION_RSA_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgl8ST9QPIXTYKOmLe5JwcSIC48mWnwFGTCG8S7AU7Os9qQu667Xdcv0JLW5wxvLA
rAtA083gRZLIIwG38Ulibgzol11YYhJeF3j9Ka370grHG3AH+RNzkGjPOibGaVfQUpA2ST1SLoFIi7GKacmNxHpZXmCEWMCHss+59kmEnqzUGcjAI0I5uu27Id1/rhv/YGwHE1kw jgfwccEFOkyEgV4zl1U7XLIOp4PDGERw3DlKpIPTi1zAhXWgjGImn/oc+HZiJ8oy1IENMox4kO0Xo5nsErCsDRMScyZPoXMg+eedReELD3XJtyfT/oRPBEJXpr13N3zYPpHaX633 YHPpbQIDAQAB; Path=/; Secure
strict-transport-security: max-age=31536000 ; includeSubDomains
trace-id: d664a756e0a9bce3a9a7fffdb5f13db6 vary: Origin
vary: Access-Control-Request-Method vary: Access-Control-Request-Headers x-content-security-policy: self
x-content-type-options: nosniff x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
{"access_token":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2ODg3OGQ5ZWY3OWY5YmY3MTcxNjc4MjE2ZmIxOGU5MzNhN2E0NWZkODFkYzhiZDlmMDUzMmZmYzBhYjE2ZTNiIi wiaWF0IjoxNjg4OTg4NzQ2LCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJleHAiOjE2ODg5OTc3NDZ9.a3FIcxl4pIbPJBzT8wxkVoxmluvngIARJ0k- P6L27Zc”
,"issued_at":"2023-07- 10T10:16:15.749Z","expires_in":"900","token_type":"Bearer","refresh_token":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1YjVmZjQ3OWVkOWE1Y2NlN2U4MjJ iZTY2NjhiYjgxZDdlNTRjY2NjM2I0M2EzYzcxODk1MmM0NTNmMzIzY2NjIiwiaWF0IjoxNjg4OTg0MTc1LCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJ leHAiOjE2ODg5ODUwNzV9.flejdFtlmXx48iIYLhBLSYcIP- nMu3fUbA9wixP5RnI","user":{"name":"apitester","firstname":"APITESTER","lastname":"OAUTH","email":vivek.s@versa- networks.com,"is_external_user":false,"enable_two_factor":false,"idle_time_out":30,"roles":["Service Provider Administrator"],"primaryrole":"SERVICE_PROVIDER_ADMIN","primaryRoleName":"Service Provider Administrator"},"auth_context":{"isAuthInSlaveNode":false},"defaultPassword":false,"isDefaultPassword":false}
3. Use the token key for API operation to the Concerto.
Sample-1 API (check list of tenants summary)
admin@DC-DIRECTOR:~$ curl -i -k https://10.163.105.103/portalapi/v1/tenants/summary?hierarchical=true'
-X GET -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2ODg3OGQ5ZWY3OWY5YmY3MTcxNjc4MjE2ZmIxOGU5MzNhN2E0NWZkODFkYzhiZDlmMDUzM mZmYzBhYjE2ZTNiIiwiaWF0IjoxNjg4OTg4NzQ2LCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJleHAiOjE 2ODg5OTc3NDZ9.a3FIcxl4pIbPJBzT8wxkVoxmluvngIARJ0k-P6L27Zc"
Response
HTTP/2 200
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-security-policy: default-src 'self';font-src 'self' data: https://fonts.googleapis.com/ https://fonts.gstatic.com; script-src 'self' 'unsafe-eval' 'unsafe- inline' https://maps.googleapis.com/maps/api/geocode/json https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://export.highcharts.com/ https://code.highcharts.com/; img-src 'self' blob: data: https://maps.googleapis.com/maps/api/geocode/json https://maps.gstatic.com/ https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://lipis.github.io https://chart.apis.google.com/ https://export.highcharts.com/ https://purecatamphetamine.github.io/; style- src 'self' 'unsafe-inline' data: https://maps.googleapis.com/maps/api/geocode/json https://*.tile.openstreetmap.org https://fonts.googleapis.com/ https://export.highcharts.com/ https://code.highcharts.com/;form-action 'self'; connect-src 'self' wss://self:6080 data: https://maps.googleapis.com https://*.tile.openstreetmap.org/ https://ipapi.co;
content-type: application/json;charset=UTF-8 date: Mon, 10 Jul 2023 13:42:05 GMT
expires: 0
pragma: no-cache set-cookie:
USER_SESSION_RSA_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgl8ST9QPIXTYKOmLe5JwcSIC48mWnwFGTCG8S7AU7Os9qQu667Xdcv0JLW5wxvLArAtA083gRZLIIwG38Ulibgzol11Y
YhJeF3j9Ka370grHG3AH+RNzkGjPOibGaVfQUpA2ST1SLoFIi7GKacmNxHpZXmCEWMCHss+59kmEnqzUGcjAI0I5uu27Id1/rhv/YGwHE1kwjgfwccEFOkyEgV4zl1U7XLIOp4PDGERw3DlKpIPTi1zAhXWgjGImn/oc
+HZiJ8oy1IENMox4kO0Xo5nsErCsDRMScyZPoXMg+eedReELD3XJtyfT/oRPBEJXpr13N3zYPpHaX633YHPpbQIDAQAB; Path=/; Secure
set-cookie: ECP-CSRF-TOKEN=42c8ebac7ef873f4aa0c41c4ce3fe277683e05652bf1f4af42a54e53d03da720; Path=/; Secure set-cookie: EECP-CSRF-
TOKEN=BF7D1411A1791818E4CA705D22DADABA10405448371399A829832379C0817A867DECCC59EE71E626CD82325DBBD457B9542B5B281F6239D34CBDEE9EFA1D2DDD382FFFF363311BC80E4E823CB72A48
90; Path=/; Secure; HttpOnly
strict-transport-security: max-age=31536000 ; includeSubDomains trace-id: 9a152104d883ad7f135222ef6319ce27
vary: Origin
vary: Access-Control-Request-Method vary: Access-Control-Request-Headers x-content-security-policy: self
x-content-type-options: nosniff x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
{"size":3,"nextWindowNumber":0,"data":[{"subTenants":[{"subTenants":[],"accessPermission":true,"editable":true,"uuid":"c764e00f-10fc-4a38-9cb0- b267dfc60580","name":"ACREED-Industries","parentTenant":"CUSTOMER-LOR-1","activeStatus":true,"publishStatus":"PUBLISHED","taskID":"4f58d156-2788-486a-8537-
cc5544b000fb","roles":[{"uuid":"f07c4b7f-3112-4c0b-99d3-c002c6b6b130","value":"Service Provider Operator"},{"uuid":"544fc9fb-e08a-4f14-a99d- 06fd87f6cc67","value":"ANALYTICS_USER"},{"uuid":"1bbf2073-5de0-4f18-908f-c0df333037c4","value":"southadmin"},{"uuid":"c2c9c823-5b1d-43f5-a9bd- 327f90e80c4b","value":"Enterprise Administrator"},{"uuid":"0386d6c6-8735-4443-8348-950eff34e435","value":"Enterprise Operator"},{"uuid":"9bf8d54d-a8b1-432c-8138- 2628609f1d0b","value":"Service Provider Administrator"}],"logoDataUrl":null,"globalId":12,"saseEnabled":true,"sdwanEnabled":true},{"subTenants":[],"accessPermission":true,"editable":true,"uuid":"4817577f- 3938-488d-8a84-5e6cbebaeccd","name":"CUSTOMER-HOTD","parentTenant":"CUSTOMER-LOR-1","activeStatus":true,"publishStatus":"PUBLISHED","taskID":"303568d1-7dfc-495d- bfe8-54734dbf45ce","roles":[{"uuid":"f07c4b7f-3112-4c0b-99d3-c002c6b6b130","value":"Service Provider Operator"},{"uuid":"9bf8d54d-a8b1-432c-8138- 2628609f1d0b","value":"Service Provider Administrator"},{"uuid":"c2c9c823-5b1d-43f5-a9bd-327f90e80c4b","value":"Enterprise Administrator"},{"uuid":"0386d6c6-8735- 4443-8348-950eff34e435","value":"Enterprise Operator"}],"logoDataUrl":null,"globalId":11,"saseEnabled":true,"sdwanEnabled":true}],"accessPermission":true,"editable":true,"uuid":"6be8751c-2de8-4170-8de8- b1c9cb075a0d","name":"CUSTOMER-LOR-1","parentTenant":null,"activeStatus":true,"publishStatus":"PUBLISHED","taskID":"a6496bfd-6b3c-46a9-9e88- aed2dc9df654","roles":[{"uuid":"9bf8d54d-a8b1-432c-8138-2628609f1d0b","value":"Service Provider Administrator"},{"uuid":"0386d6c6-8735-4443-8348- 950eff34e435","value":"Enterprise Operator"},{"uuid":"c2c9c823-5b1d-43f5-a9bd-327f90e80c4b","value":"Enterprise Administrator"},{"uuid":"f07c4b7f-3112-4c0b-99d3- c002c6b6b130","value":"Service Provider Operator"}],"logoDataUrl":null,"globalId":1,"saseEnabled":false,"sdwanEnabled":true}]}admin@DC-DIRECTOR:~$
Sample-2 API (check list of tenants summary)
admin@DC-DIRECTOR:~$ curl -i -k https://10.163.105.103/portalapi/v1/ v1/tenants/audit/logs' -X GET -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2ODg3OGQ5ZWY3OWY5YmY3MTcxNjc4MjE2ZmIxOGU5MzNhN2E0NWZkODFkYzhiZDlmMDUzM mZmYzBhYjE2ZTNiIiwiaWF0IjoxNjg4OTg4NzQ2LCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJleHAiOjE 2ODg5OTc3NDZ9.a3FIcxl4pIbPJBzT8wxkVoxmluvngIARJ0k-P6L27Zc"
Response
HTTP/2 200
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-security-policy: default-src 'self';font-src 'self' data: https://fonts.googleapis.com/ https://fonts.gstatic.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://maps.googleapis.com/maps/api/geocode/json https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://export.highcharts.com/ https://code.highcharts.com/; img-src 'self' blob: data: https://maps.googleapis.com/maps/api/geocode/json https://maps.gstatic.com/ https://maps.googleapis.com/ https://*.tile.openstreetmap.org https://lipis.github.io https://chart.apis.google.com/ https://export.highcharts.com/ https://purecatamphetamine.github.io/; style-src 'self' 'unsafe-inline' data: https://maps.googleapis.com/maps/api/geocode/json https://*.tile.openstreetmap.org https://fonts.googleapis.com/ https://export.highcharts.com/ https://code.highcharts.com/;form-action 'self'; connect-src 'self' wss://self:6080 data: https://maps.googleapis.com https://*.tile.openstreetmap.org/ https://ipapi.co;
content-type: application/json;charset=UTF-8 date: Mon, 10 Jul 2023 14:02:03 GMT
expires: 0 pragma: no-cache
set-cookie: USER_SESSION_RSA_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgl8ST9QPIXTYKOmLe5JwcSIC48mWnwFGTCG8S7AU7Os9qQu667Xdcv0JLW5wxvLA
rAtA083gRZLIIwG38Ulibgzol11YYhJeF3j9Ka370grHG3AH+RNzkGjPOibGaVfQUpA2ST1SLoFIi7GKacmNxHpZXmCEWMCHss+59kmEnqzUGcjAI0I5uu27Id1/rhv/YGwHE1kw jgfwccEFOkyEgV4zl1U7XLIOp4PDGERw3DlKpIPTi1zAhXWgjGImn/oc+HZiJ8oy1IENMox4kO0Xo5nsErCsDRMScyZPoXMg+eedReELD3XJtyfT/oRPBEJXpr13N3zYPpHaX633 YHPpbQIDAQAB; Path=/; Secure
set-cookie: ECP-CSRF-TOKEN=35469fa54e93521612237c0dc307a70256eccae5653ab2e8ffe3ce06ecbbb249; Path=/; Secure set-cookie: EECP-CSRF-
TOKEN=5FF1886E3DA606B2DED87BB17A42D56C2298EAF4D948F916D984FDA0A9C7A0B94052E6FC58B2B37D77C6A8038CAEABEC92EFD3DAFD1C203AEB30F89561DCA01A19 462F32D0FD7CC749FCBA12D1A1E685; Path=/; Secure; HttpOnly
strict-transport-security: max-age=31536000 ; includeSubDomains trace-id: 312d541507fadf915a9d09369f61c460
vary: Origin
vary: Access-Control-Request-Method vary: Access-Control-Request-Headers x-content-security-policy: self
x-content-type-options: nosniff x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
{"size":5830,"nextWindowNumber":1,"data":[{"uiSession":"","userName":"apitester","sourceIp":"10.163.105.5","traceId":"75bd5731d762034216 db9455ae5d6aab","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessToken","payload":"{\"grant_type\":\"password\",\"clien t_id\":\"***\",\"client_secret\":\"***\",\"username\":\"apitester\",\"password\":\"***\"}","status":"SUCCESSFUL","statusCode":"201","ten antName":"Concerto- Internal","durationMilSec":2470,"createDate":1688997581088,"auditID":106031},{"sourceIp":"10.163.105.5","traceId":"b2906b68c0e441e53623e b3013a40a8c","resource":"GET
/portalapi/v1/tenants/audit/logs","changeSet":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJkYjYwNTM2ODhlMTE2NzRhYjQ3OTg3YzdlNDNlZmM2OWJkZjEzNWZmMGRk ZGU4OGI5NDY2MDQ1NjY0Y2UwNjkzIiwiaWF0IjoxNjg4OTg0MTc1LCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJleHAiOjE2ODg5ODUwNzV9.v11V8Fi k5fxUybXlzmspXi7_oqWDsrdMNHoGW43QrwQ is expired.","status":"CLIENT_ERROR","statusCode":"401","durationMilSec":4,"createDate":1688997522677,"auditID":105515},{"uiSession":"32f98 3a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"585e4500d7fa4169c8556a3f6a87498b","res ource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":"
500","durationMilSec":7,"createDate":1688997083576,"auditID":106030},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b 5dfe81312e9","sourceIp":"172.19.0.180","traceId":"a5489f6d25c15cd1e9b4ea04e741dd0d","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":" 500","durationMilSec":4,"createDate":1688997075089,"auditID":106029},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b 5dfe81312e9","sourceIp":"172.19.0.180","traceId":"ef934d7b51c5af2c9de6bc124dd05956","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":" 500","durationMilSec":6,"createDate":1688997069103,"auditID":106028},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b 5dfe81312e9","sourceIp":"172.19.0.180","traceId":"da0ca80b5557526db2b860d72525ef9c","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":" 500","durationMilSec":3,"createDate":1688997064772,"auditID":106027},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b 5dfe81312e9","sourceIp":"172.19.0.180","traceId":"6cd09afe3e0c2c82187484dad9caa53b","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":" 500","durationMilSec":4,"createDate":1688997056076,"auditID":106026},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b 5dfe81312e9","sourceIp":"172.19.0.180","traceId":"e0b49acea195fcc4d847c23a3be7af1c","resource":"POST
/portalapi/v1/auth/token","resourceGroup":"OAuthController","operation":"getAccessTokenSwaggerUI","status":"SERVER_ERROR","statusCode":" 500","durationMilSec":13,"createDate":1688997044707,"auditID":106025},{"uiSession":"32f983a23803678d736c3133680feaf62f83d08976c3143efa90 b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"9eeda4f7546c175049e8d559c93814da","resource":"GET /portalapi/webjars/springfox- swagger-ui/fonts/titillium-web-v6-latin- regular.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":5,"createDate":1688997033116,"auditID":106024},{"uiSession":"32 f983a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"c10d1389d6d14d29c74b05cb36087d76"," resource":"GET /portalapi/webjars/springfox-swagger-ui/fonts/titillium-web-v6-latin- 600.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":5,"createDate":1688997023250,"auditID":106023},{"uiSession":"32f983 a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"6b750857b939dc4717bcb9f00bb92484","reso urce":"GET /portalapi/webjars/springfox-swagger-ui/fonts/source-code-pro-v7-latin- 600.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":6,"createDate":1688996910420,"auditID":106022},{"uiSession":"32f983 a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"3154abc7e27272998711b7f9a9ce2f7f","reso urce":"GET /portalapi/webjars/springfox-swagger-ui/fonts/open-sans-v15-latin- regular.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":4,"createDate":1688996906822,"auditID":106019},{"uiSession":"32 f983a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"8bad0e684f521c9c9da13e05da46323f"," resource":"GET /portalapi/webjars/springfox-swagger-ui/fonts/source-code-pro-v7-latin- 300.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":4,"createDate":1688996906822,"auditID":106020},{"uiSession":"32f983 a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"752d72a633008162b8d05f17f32721b5","reso urce":"GET /portalapi/webjars/springfox-swagger-ui/fonts/open-sans-v15-latin- 700.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":6,"createDate":1688996906821,"auditID":106021},{"uiSession":"32f983 a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"e312c928e460ba8ccdb7b688c300de62","reso urce":"GET
/portalapi/csrf","status":"CLIENT_ERROR","statusCode":"404","durationMilSec":3,"createDate":1688996905663,"auditID":106017},{"uiSession"
:"32f983a23803678d736c3133680feaf62f83d08976c3143efa90b5dfe81312e9","sourceIp":"172.19.0.180","traceId":"da241dabd0225a8d0d88f1180995f0b d","resource":"GET /portalapi/webjars/springfox-swagger-ui/fonts/titillium-web-v6-latin- 700.woff2","status":"SUCCESSFUL","statusCode":"200","durationMilSec":4,"createDate":1688996905645,"a
Detailed steps available on https://docs.versa- networks.com/Management_and_Orchestration/Versa_Director/Director_REST_APIs/01_Versa_Director_REST_API_Overview#OAuth_APIs_for_Managing_ OAuth_Tokens
Versa Swagger Navigation
Login into your concerto UI and navigate to the top right drop-down menu
![]() |
API documentation option page would come up, you can select as per your requirement, but if you are looking for audit logs for e.g. you an select “core Service” and it will navigate to the next page

You can navigate through multiple API lists available on this page
![]() |
Clicking on the drop-down against each option shows you the available list of API’s.
![]() |
How to get tenant UUID mapping for pre-tenant API calls
1) Get into the TenantEntity Management menu of Swagger
2) Click on /v1/tenants/summary
2) You can try out the API’s via Concerto Swagger itself to get the complete call

Sample API to fetch tenant’s summary and associated UUID
curl -i -k 'https://10.163.105.103/portalapi/v1/tenants/summary?hierarchical=false&nextWindowNumber=0&windowSize=0' -X GET -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI0YjEwMjE0ZDU2YjE3YjhlYzQ5NDQ1MjY4YWNkOTBjZDgyYWIzMWUxZjU4YWQ0NjIwZTQ0NDIzNDU2MzY3MDE2IiwiaWF0IjoxNjg4OTk 3NTEzLCJyb2xlIjoiUHJvdmlkZXJEYXRhQ2VudGVyU3lzdGVtQWRtaW4iLCJleHAiOjE2ODkwMDY1MTN9.Fvk9ffRtqEC76HR768uTCWLrR4tlAdbADDnHjAr5JGU"
Details about Swagger https://docs.versa-
networks.com/Management_and_Orchestration/Versa_Concerto_Orchestrator/02_Common_Configuration/A ccess_Versa_Concerto_REST_APIs_Using_Swagger_UI




