You'll need to create a new Security Level. Go to http://gatewayIP:Port/app/platform/security/levels, highlight "Public" and select "Add Level". Make sure you update your API Key to use this new level.
It's the example at the bottom in the manual for openapi. I tried this earlier and was also unsuccessful. I couldn't get it to work using a Perspective HTTP binding either, but I didn't have any security levels setup.
Edit: BTW, this openapi is amazing! You guys did an amazing job with all of 8.3 but this especially is mind blowing to me.
I've seen some of the endpoints working as you can put the link in another tab in your browser if you're signed in with someone with authorization in another tab.
Yes, because the browser session is being used as the requester. Note that you'll only be able to perform GET requests via this method. Any sort of update request (create/edit/rename/copy/move/delete) will need to be done via a terminal or ReST client, like Postman or Bruno.
Postman worked as well as a script in the script console.
I'm guessing the HTTP binding isn't setup to use the "X-Ignition-API-Token" in the header as it's not an option in the dropdown. I get this error in the output console:
"23:33:41.053 [Browser Thread: aecfbd1b-fd53-4065-ae8a-319200789da7] WARN Perspective.Designer.Workspace -- level: WARNING
message: "store.Designer: Failed to write to component '0'. TypeError: Cannot destructure property 'readyState' of 'this.webSocket' as it is null."
line_number: 2
source: "http://localhost:8088/res/perspective/js/PerspectiveClient.c5eb5a2782e4a5c4105b.js""