From 532d6f4ba375e12e404468ad251d88a835b0c360 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 09:03:51 +0530 Subject: [PATCH 01/11] updated readme --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7177a51..7b7b707 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,11 @@ In order to run this sample app or if you want to develop your own application y 1. Make sure `Enterprise` is checked under *API associations* 2. Make sure `enterprise` scope is added under *Allowed scopes* 3. For web apps, make sure `Allow Offline Access` is checked. - 4. Select an appropriate application type. If you just want to run the sample app `Service` type will be enough. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. + 4. Select an appropriate application type. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. + 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request to add the email to Bentley Ims along with CONNECT Services Admin role as this is a service identity user and needs to access all projects within the organization and able to create new projects. 5. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. 6. Click `Save` - 7. Make sure to copy client secret and close the dialog. + 7. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. 8. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. 9. You should be able to authenticate now by using client id and secret with the appropriate flow. From f4e5f8f153581da6c9190fc4633d9ffa2b80437d Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 09:08:33 +0530 Subject: [PATCH 02/11] changes in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b7b707..1bad580 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ In order to run this sample app or if you want to develop your own application y 2. Make sure `enterprise` scope is added under *Allowed scopes* 3. For web apps, make sure `Allow Offline Access` is checked. 4. Select an appropriate application type. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. - 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request to add the email to Bentley Ims along with CONNECT Services Admin role as this is a service identity user and needs to access all projects within the organization and able to create new projects. + 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request to add this service identity user to your your organization along with CONNECT Services Admin role as this users needs to access all projects within the organization and able to create new projects. 5. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. 6. Click `Save` 7. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. From db7b71c4d48a92d3391447f0eed146434131ea7e Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 09:09:37 +0530 Subject: [PATCH 03/11] numbers updated --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1bad580..7908cd5 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ In order to run this sample app or if you want to develop your own application y 3. For web apps, make sure `Allow Offline Access` is checked. 4. Select an appropriate application type. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request to add this service identity user to your your organization along with CONNECT Services Admin role as this users needs to access all projects within the organization and able to create new projects. - 5. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. - 6. Click `Save` - 7. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. - 8. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. - 9. You should be able to authenticate now by using client id and secret with the appropriate flow. + 6. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. + 7. Click `Save` + 8. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. + 9. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. + 10. You should be able to authenticate now by using client id and secret with the appropriate flow. ### Console commands to get the token via service client credentials From 07f3a8d9ae791da289efcfbef7ff7a6840f09fff Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 09:21:52 +0530 Subject: [PATCH 04/11] minor changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7908cd5..ae9e49a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ In order to run this sample app or if you want to develop your own application y 2. Make sure `enterprise` scope is added under *Allowed scopes* 3. For web apps, make sure `Allow Offline Access` is checked. 4. Select an appropriate application type. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. - 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request to add this service identity user to your your organization along with CONNECT Services Admin role as this users needs to access all projects within the organization and able to create new projects. + 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request with the clientId and email(clientId@apps.imsoidc.bentley.com) to add this service identity user to your organization along with CONNECT Services Admin role as this user needs to access all projects within the organization and able to create new projects. 6. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. 7. Click `Save` 8. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. From 5611ea0bd99162568e1b2b4677270330d25a9037 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 09:36:44 +0530 Subject: [PATCH 05/11] steps changes --- README.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ae9e49a..f5e03e8 100644 --- a/README.md +++ b/README.md @@ -17,23 +17,15 @@ A repository for sample applications which utilise aspects of Bentley's ES-API. ## How to acquire a token -Valid access token with scope 'enterprise' is required to access API endpoints. For more technical information about tokens and authentication see: https://developer.bentley.com/apis/overview/authorization. +Valid access token with scope 'enterprise' is required to access API endpoints. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. For more technical information about tokens and authentication see: https://developer.bentley.com/apis/overview/authorization. -In order to run this sample app or if you want to develop your own application you'll have to register a client in https://developer.bentley.com/esregister. +If you want to develop your own application you'll have to register a client in https://developer.bentley.com/esregister. ### API Client registration steps - 1. If you're not logged in, you'll get redirected to a login page once you go to https://developer.bentley.com/esregister. If you don't have one already, create an account and start the trial. Then go back to api client registration page. - 2. Fill in application name. This is a display name, client id will be generated automatically. - 3. Check the api client details: - 1. Make sure `Enterprise` is checked under *API associations* - 2. Make sure `enterprise` scope is added under *Allowed scopes* - 3. For web apps, make sure `Allow Offline Access` is checked. - 4. Select an appropriate application type. If you just want to run the sample app get user token from https://microfrontenddeveussa01.z13.web.core.windows.net/esapi. - 5. If you don't know which type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request with the clientId and email(clientId@apps.imsoidc.bentley.com) to add this service identity user to your organization along with CONNECT Services Admin role as this user needs to access all projects within the organization and able to create new projects. - 6. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in. - 7. Click `Save` - 8. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. + 1. If you're not logged in, you'll get redirected to a login page once you go to https://developer.bentley.com/esregister. Then go back to api client registration page. + 2. Fill in application name, an appropriate application type. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in and then. Then click on Register button. Client id and Client secret will be generated automatically. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. + 3. If you don't know which application type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request with the clientId and email(clientId@apps.imsoidc.bentley.com) to add this service identity user to your organization along with CONNECT Services Admin role as this user needs to access all projects within your organization and able to create new projects. 9. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. 10. You should be able to authenticate now by using client id and secret with the appropriate flow. From 22517e48fbe2b7563c884a7982330312252e6031 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 16:42:21 +0530 Subject: [PATCH 06/11] Added Requirements for es api sample --- .../EsApiProjectsSampleApp/Properties/launchSettings.json | 2 +- EsApiProjectsSampleApp/README.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json b/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json index 76452aa..3ec4181 100644 --- a/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json +++ b/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "EsApiProjectsSampleApp": { "commandName": "Project", - "commandLineArgs": "--token \"\"" + "commandLineArgs": "--token \"eyJhbGciOiJSUzI1NiIsImtpZCI6IkJlbnRsZXlJTVNfMjAyNi0xIiwicGkuYXRtIjoiYThtZSJ9.eyJzY29wZSI6WyJpdHdpbi1wbGF0Zm9ybSIsImVudGVycHJpc2UiXSwiY2xpZW50X2lkIjoic3BhLVAyaGlaM2N3eTJzUGNVUjN6T1d0NmY2SkMiLCJhdWQiOlsiaHR0cHM6Ly9pbXMuYmVudGxleS5jb20vYXMvdG9rZW4ub2F1dGgyIiwiaHR0cHM6Ly9pbXNvaWRjLmJlbnRsZXkuY29tL2FzL3Rva2VuLm9hdXRoMiIsImh0dHBzOi8vaW1zb2lkYy5iZW50bGV5LmNvbS9yZXNvdXJjZXMiLCJiZW50bGV5LWFwaS1tYW5hZ2VtZW50IiwiZW50ZXJwcmlzZS1yZXNvdXJjZSJdLCJzdWIiOiIxNjhhMWRiOC1jOTA1LTQxZTMtYjJiMS02ZjY0ZDI2MGI3ZDYiLCJyb2xlIjpbIlJlYWRPbmx5IiwiQkVUQV9JTlZJVEFUSU9OQUwiLCJNWV9TRUxFQ1RfQ0QiLCJTSVRFX0FETUlOSVNUUkFUT1IiLCJMSUNFTlNFX01BTkFHRVIiLCJMSUNfTUdSX0hPTUVfUkVETCIsIlByb2plY3QgTWFuYWdlciIsIlNFTEVDVF9ET1dOTE9BRCIsIkFjY291bnQgQWRtaW4iLCJUUkFJTklOR19BRE1JTiIsIkJFVEFfVEVTVF9QUk9HUkFNIl0sIm9yZyI6IjNlNmQ0ZjZhLTIxYmEtNGViOS1iMDgzLWRkY2ExMWMxMWUwMCIsInN1YmplY3QiOiIxNjhhMWRiOC1jOTA1LTQxZTMtYjJiMS02ZjY0ZDI2MGI3ZDYiLCJhbXIiOlsiQmVudGxleUlkIiwicHdkIl0sImlzcyI6Imh0dHBzOi8vaW1zLmJlbnRsZXkuY29tIiwiZW50aXRsZW1lbnQiOlsiU0VMRUNUIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluQGJlbnRsZXkubThyLmNvIiwiZ2l2ZW5fbmFtZSI6IkNsYXJldCBDb25zdHJ1Y3Rpb24iLCJzaWQiOiJ4SWpnTDVvM1lJWUs5dmpBWFNSRUxRbkxMSEkuU1UxVExVSmxiblJzWlhrdFJWVS5yS3VCLllwckZMQnAzZHNjbTVXSzN1ZGNWOFNyYlkiLCJ1bHRpbWF0ZV9zaXRlIjoiMTAwNjQzOTMzMyIsIm5iZiI6MTc4OTcyODU3MSwiaXNBZ2VudCI6ZmFsc2UsInVzYWdlX2NvdW50cnlfaXNvIjoiVVMiLCJhdXRoX3RpbWUiOjE3ODk3Mjg4NzEsIm5hbWUiOiJhZG1pbkBiZW50bGV5Lm04ci5jbyIsIm9yZ19uYW1lIjoiQ2xhcmV0IENvbnN0cnVjdGlvbiAoSW50ZXJuYWwgU2l0ZSkiLCJmaXJzdFBhcnR5U3RhdGUiOiJ0aGlyZF9wYXJ0eV9wdWJsaWMiLCJmYW1pbHlfbmFtZSI6IkFkbWluIiwiZW1haWwiOiJhZG1pbkBiZW50bGV5Lm04ci5jbyIsImV4cCI6MTc4OTczMjQ3NH0.VCuLQW6kxdnzOzSs1EFh1OJYc3UiAo94KZ9LMSGDBtt1SGKYAN_I1JXpVcX4lG_RSoi_6hSJ4nSf07z__VrGJGxV68HMRHr8AYFzjFAGqY5x9_0BHnpMNgIqEjCWEr9fNU-u-oCdFTG7xB7a_QdtPcXtLqGDsOx27GwK8yc0hjko5aMFMZPEEM1s_8Zce1P84-BzEmnc7X3Uow_Ik1n4TVcrPQjPmFu_LDSb_z30UYC-kd3CLWqiTTmeIaCYNXMU1icXPxdlfQeqdScB2Rf3jUCsmE3m0vvwoB1U32aeMIUjuHAfj4_V4pmKTBeBMbqgaXh1-EO46m9nfDEmQE8XJw\"" } } } diff --git a/EsApiProjectsSampleApp/README.md b/EsApiProjectsSampleApp/README.md index b1fe746..9314cbf 100644 --- a/EsApiProjectsSampleApp/README.md +++ b/EsApiProjectsSampleApp/README.md @@ -36,3 +36,8 @@ Detailed in the [root directory README.md](../README.md). API documentation in OpenAPI V3 format: * Projects API: https://es-api.bentley.com/project/v1/swagger.json * Work Area Connection API: https://es-api.bentley.com/workarea/v1/swagger.json + +## Requirements + +1. The user must be an Admin within their organization (Account Admin, Co-Administrator, or CONNECT Services Admin) or have the itwins_create permission at the Account iTwin level. +2. The sample app does not support unaffiliated users. From 5915b52c501de99a60726d2c403acdb250f42037 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Fri, 18 Sep 2026 16:43:26 +0530 Subject: [PATCH 07/11] revert launchsettins changes --- .../EsApiProjectsSampleApp/Properties/launchSettings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json b/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json index 3ec4181..4fd011d 100644 --- a/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json +++ b/EsApiProjectsSampleApp/EsApiProjectsSampleApp/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "EsApiProjectsSampleApp": { "commandName": "Project", - "commandLineArgs": "--token \"eyJhbGciOiJSUzI1NiIsImtpZCI6IkJlbnRsZXlJTVNfMjAyNi0xIiwicGkuYXRtIjoiYThtZSJ9.eyJzY29wZSI6WyJpdHdpbi1wbGF0Zm9ybSIsImVudGVycHJpc2UiXSwiY2xpZW50X2lkIjoic3BhLVAyaGlaM2N3eTJzUGNVUjN6T1d0NmY2SkMiLCJhdWQiOlsiaHR0cHM6Ly9pbXMuYmVudGxleS5jb20vYXMvdG9rZW4ub2F1dGgyIiwiaHR0cHM6Ly9pbXNvaWRjLmJlbnRsZXkuY29tL2FzL3Rva2VuLm9hdXRoMiIsImh0dHBzOi8vaW1zb2lkYy5iZW50bGV5LmNvbS9yZXNvdXJjZXMiLCJiZW50bGV5LWFwaS1tYW5hZ2VtZW50IiwiZW50ZXJwcmlzZS1yZXNvdXJjZSJdLCJzdWIiOiIxNjhhMWRiOC1jOTA1LTQxZTMtYjJiMS02ZjY0ZDI2MGI3ZDYiLCJyb2xlIjpbIlJlYWRPbmx5IiwiQkVUQV9JTlZJVEFUSU9OQUwiLCJNWV9TRUxFQ1RfQ0QiLCJTSVRFX0FETUlOSVNUUkFUT1IiLCJMSUNFTlNFX01BTkFHRVIiLCJMSUNfTUdSX0hPTUVfUkVETCIsIlByb2plY3QgTWFuYWdlciIsIlNFTEVDVF9ET1dOTE9BRCIsIkFjY291bnQgQWRtaW4iLCJUUkFJTklOR19BRE1JTiIsIkJFVEFfVEVTVF9QUk9HUkFNIl0sIm9yZyI6IjNlNmQ0ZjZhLTIxYmEtNGViOS1iMDgzLWRkY2ExMWMxMWUwMCIsInN1YmplY3QiOiIxNjhhMWRiOC1jOTA1LTQxZTMtYjJiMS02ZjY0ZDI2MGI3ZDYiLCJhbXIiOlsiQmVudGxleUlkIiwicHdkIl0sImlzcyI6Imh0dHBzOi8vaW1zLmJlbnRsZXkuY29tIiwiZW50aXRsZW1lbnQiOlsiU0VMRUNUIl0sInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluQGJlbnRsZXkubThyLmNvIiwiZ2l2ZW5fbmFtZSI6IkNsYXJldCBDb25zdHJ1Y3Rpb24iLCJzaWQiOiJ4SWpnTDVvM1lJWUs5dmpBWFNSRUxRbkxMSEkuU1UxVExVSmxiblJzWlhrdFJWVS5yS3VCLllwckZMQnAzZHNjbTVXSzN1ZGNWOFNyYlkiLCJ1bHRpbWF0ZV9zaXRlIjoiMTAwNjQzOTMzMyIsIm5iZiI6MTc4OTcyODU3MSwiaXNBZ2VudCI6ZmFsc2UsInVzYWdlX2NvdW50cnlfaXNvIjoiVVMiLCJhdXRoX3RpbWUiOjE3ODk3Mjg4NzEsIm5hbWUiOiJhZG1pbkBiZW50bGV5Lm04ci5jbyIsIm9yZ19uYW1lIjoiQ2xhcmV0IENvbnN0cnVjdGlvbiAoSW50ZXJuYWwgU2l0ZSkiLCJmaXJzdFBhcnR5U3RhdGUiOiJ0aGlyZF9wYXJ0eV9wdWJsaWMiLCJmYW1pbHlfbmFtZSI6IkFkbWluIiwiZW1haWwiOiJhZG1pbkBiZW50bGV5Lm04ci5jbyIsImV4cCI6MTc4OTczMjQ3NH0.VCuLQW6kxdnzOzSs1EFh1OJYc3UiAo94KZ9LMSGDBtt1SGKYAN_I1JXpVcX4lG_RSoi_6hSJ4nSf07z__VrGJGxV68HMRHr8AYFzjFAGqY5x9_0BHnpMNgIqEjCWEr9fNU-u-oCdFTG7xB7a_QdtPcXtLqGDsOx27GwK8yc0hjko5aMFMZPEEM1s_8Zce1P84-BzEmnc7X3Uow_Ik1n4TVcrPQjPmFu_LDSb_z30UYC-kd3CLWqiTTmeIaCYNXMU1icXPxdlfQeqdScB2Rf3jUCsmE3m0vvwoB1U32aeMIUjuHAfj4_V4pmKTBeBMbqgaXh1-EO46m9nfDEmQE8XJw\"" + "commandLineArgs": "--token \"\"" } } -} +} \ No newline at end of file From bdedc7c7024e6506fdeb02aa945bb877992dbcbf Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Sat, 19 Sep 2026 06:19:17 +0530 Subject: [PATCH 08/11] order --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f5e03e8..0da162f 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ If you want to develop your own application you'll have to register a client in 1. If you're not logged in, you'll get redirected to a login page once you go to https://developer.bentley.com/esregister. Then go back to api client registration page. 2. Fill in application name, an appropriate application type. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in and then. Then click on Register button. Client id and Client secret will be generated automatically. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. 3. If you don't know which application type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request with the clientId and email(clientId@apps.imsoidc.bentley.com) to add this service identity user to your organization along with CONNECT Services Admin role as this user needs to access all projects within your organization and able to create new projects. - 9. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. - 10. You should be able to authenticate now by using client id and secret with the appropriate flow. + 4. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. + 5. You should be able to authenticate now by using client id and secret with the appropriate flow. ### Console commands to get the token via service client credentials From d7fc7b5142d53b46c09964eac3a42218b3cedf06 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Sat, 19 Sep 2026 06:24:59 +0530 Subject: [PATCH 09/11] order changes --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0da162f..770ca79 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,11 @@ If you want to develop your own application you'll have to register a client in ### API Client registration steps 1. If you're not logged in, you'll get redirected to a login page once you go to https://developer.bentley.com/esregister. Then go back to api client registration page. - 2. Fill in application name, an appropriate application type. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in and then. Then click on Register button. Client id and Client secret will be generated automatically. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. + 2. Fill in application name, an appropriate application type. 3. If you don't know which application type to choose for a user-facing application check out https://developer.bentley.com/apis/overview/authorization. We highly recommend to use either SPA or Web App type as the token generated from these apps will be a user token and not a service token(if application type is `Service`). If you want to use `Service`type app, then you need to make a ServiceNow request with the clientId and email(clientId@apps.imsoidc.bentley.com) to add this service identity user to your organization along with CONNECT Services Admin role as this user needs to access all projects within your organization and able to create new projects. - 4. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. - 5. You should be able to authenticate now by using client id and secret with the appropriate flow. + 4. Fill in redirect url if application type is not `Service`. This is the url to your application which authentication service will come back to once user is logged in and then. Then click on Register button. Client id and Client secret will be generated automatically. Make sure to copy client secret and close the dialog. Client secret is not required if the application is of SPA type. + 5. A page should appear with created api client. In order to get tokens you'll also need the client id that should be shown in this window. + 6. You should be able to authenticate now by using client id and secret with the appropriate flow. ### Console commands to get the token via service client credentials From aba53ae7c90e6d4a52fecee43ccacaa28be7f0f5 Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Sat, 19 Sep 2026 06:30:46 +0530 Subject: [PATCH 10/11] some more details --- EsApiProjectsSampleApp/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EsApiProjectsSampleApp/README.md b/EsApiProjectsSampleApp/README.md index 9314cbf..d3479cf 100644 --- a/EsApiProjectsSampleApp/README.md +++ b/EsApiProjectsSampleApp/README.md @@ -39,5 +39,5 @@ API documentation in OpenAPI V3 format: ## Requirements -1. The user must be an Admin within their organization (Account Admin, Co-Administrator, or CONNECT Services Admin) or have the itwins_create permission at the Account iTwin level. +1. The user must be an Admin within their organization (Account Admin, Co-Administrator, or CONNECT Services Admin) or have the itwins_create permission at the Account iTwin level to be able to create new projects. 2. The sample app does not support unaffiliated users. From 1ca0ff896387cffadeef3e741fe3853edb2fd46d Mon Sep 17 00:00:00 2001 From: Rahul-Jaiswal-dev Date: Mon, 21 Sep 2026 07:33:33 +0530 Subject: [PATCH 11/11] minor change --- EsApiProjectsSampleApp/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EsApiProjectsSampleApp/README.md b/EsApiProjectsSampleApp/README.md index d3479cf..efca1f7 100644 --- a/EsApiProjectsSampleApp/README.md +++ b/EsApiProjectsSampleApp/README.md @@ -37,7 +37,7 @@ API documentation in OpenAPI V3 format: * Projects API: https://es-api.bentley.com/project/v1/swagger.json * Work Area Connection API: https://es-api.bentley.com/workarea/v1/swagger.json -## Requirements +## Note 1. The user must be an Admin within their organization (Account Admin, Co-Administrator, or CONNECT Services Admin) or have the itwins_create permission at the Account iTwin level to be able to create new projects. -2. The sample app does not support unaffiliated users. +2. The sample app is intended to be used by users affiliated with an organization.