What did you put in the /<extId>/? It must be the extension id of the extension who logged in your app and in your case, the extension who owns the JWT token. If you don't know the extension id, simply use the tilde /~/ring-out. And remember that you must use other extensions' direct phone numbers to make ring out calls.
What do I have to do to enable all eligible extensions to make API Ringout calls?
Do I have to create JWTs for each extension?
I use the extID value for the ringout call, captured earlier by a call for extensions.
And anyway, it should be possible for a superadmin credential to be used to initiate calls from any line on the account.
I don't know your use case as of making an app that everyone can place a ring-out. But as you can see, any extension can make a ring-out from the RC app they logged in. So yes, if you want a user extension is responsible for his/her own ring-out call, then each user extension need to login your app or provide their own JWT token to the app.
If you want the owner of a ring-out call to be the super admin as you are using now, you can just use that JWT token and don't need to change the <extId>, instead just use the tilde ~. Now, it's up to you to control who can access your app and place ring-out calls between extensions by providing the "from" and the "to" phone numbers.
OK, so I made an API call using my app with JWT Auth based on my login:
https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/ring-out
My body JSON is:
{"callerId":{"phoneNumber":"1781xxxx700"},"from":{"phoneNumber":"1781xxxx222"},"playPrompt":false,"to":{"phoneNumber":"1603xxxx850"}}
The response was 200 OK.
However the user's extension (from) did not ring, nor did my phone (to).
NOTE: While I am a SuperAdmin, I only have an extension, not a phone line. I am trying to enable the API only for users with phone lines.
It does not need the authenticated user to be a super admin, it does not need the authenticated user having a direct number or a phone line.
You should create a dev support ticket so someone will have a look at your account setting to help you with this.