2 Answers
You can achieve this by changing the scopes assigned to that particular user's role from the Admin portal. For example, the default Internal/subscriber role has apim:app_manage
scope assigned. But if you remove this scope from Internal/subscriber, the users will not be able to do CRUD operations on applications.
So similarly, you can create a custom role and assign the required scopes to that role and assign that to the user to achieve your requirement.
Please refer [1] for all available scopes and their usages.

- 1,251
- 3
- 15
- 32
-
I tried this solution and unfortunately it doesn't work. I created a new role called sub in the /carbon portal. Then in the admin portal I added a new scope mapping with the name sub and custom scope assignments: Subscribe API(apim:subscribe). I assigned the sub role to the user in the carbon portal. After logging into devportal, I can create a new app. – Gregory Feb 28 '23 at 10:22
You can just hide the Application creation button(For all users) from the dev portal UI using the dev portal customization[1].(By doing this you are only hiding the UI functionality and still, this can achievable using REST APIs).
Follow the below steps to achieve the use case.
- To hide the Add New Application button, add the display: 'none' property to the [2] createLinkWrapper class which holds the button.
createLinkWrapper: {
paddingLeft: theme.spacing(2),
display: 'none',
}
- Then built the changes following [1] and deployed the changes and then Add New Application button will be hidden.

- 592
- 5
- 18