I have a simple endpoint made just as a test.
I am getting the error “Not allowed to use current service with the supplied key” if I use the readable url aka https://SOLUTION-HOSTNAME/api/services/SERVICE-ALIAS-SLUG/READABLE-ID
If I use the legacy url from swagger instead I can access the API just fine.
What am I doing wrong here?
This sounds like a permission error.
When you create an endpoint made to be accessible from another service you need to supply an API-key for the given endpoint. To create an API-key you need to create a role which is granted permission to the service in question. You then need to create a service account and assign it the created role.
You can read more about this here:
Is this is still an issue, could you provide a screenshot of
- The service seen from swagger (displaying URLs including legacy url)
- The setup / URL of the place where you trigger this service endpoint from (e.g. setup in postman)
Also make sure that the API key you use has access to the service, as the error message indicates otherwise.
I noticed that everything would also work with service-LEGACY_id/READABLE-ID so I tried to change the Alias slug of my service and it seems to work now.
It was changed from “camera” to “camera123456”. I can’t see that I have used the name “camera” for any other services or apps.
Great that it works.
Changing the alias slug into “camera” if another service with “camera” as alias slug exists, would change that new slug to “camera-2” (and not camera123456). There is nothing in our logic that would automatically change an entered slug from “something” to “something123456”, so let me know it that actually happens (or maybe it is some kind of autocomplete in the browser?).
Sorry. I meant that I changed it manually to “camera123456”.
If I try to set it to “camera” nothing happens, but I get the aforementioned error.
My issue is solved now, but it’s a bit strange since there are no other services called camera.