Appearance
permission_denied
Permission denied · HTTP 403
The credential is valid and may not do this. On the control API: a tenant key on an operator route. On a client: the token lacks the grant the request needs — roomJoin to join, roomCreate to create a room or place a call, roomAdmin to act on others, a source missing from canPublishSources — or it is scoped to a different room.
What to do: Mint the token with the grants the action needs. A participant's grants are fixed when it takes its seat; to widen a live participant's, call PATCH /v1/rooms/{sid}/participants/{identity}. Read what the server actually granted from client.grants, never from what you asked for.
Where it comes from:
- Control API
- Signaling — a client's connect, a request, or an event
Branch on code; detail is for your logs and never for a user. All error codes.