The permissions
The full table, with each operation’s REST route, MCP tool and data area, is in Operations. An integration can also read it from the API:
How access is decided
For every call, in this order:- Credential. Valid, not revoked, linked to a Brelio clinic.
- Plan. The clinic’s plan includes API access (
402 PLATFORM_PLAN_REQUIREDif not). - Limits. See rate limits.
- Permission. The credential holds the operation’s permission; for a personal credential, the person holds it too, in the center concerned.
- Data area. The operation’s data area is on and, for patient data, the credential was accepted.
- Input, version and the operation’s own rules, exactly as in the web app.
Centers
- Organization credentials see every center.
- Personal credentials see the centers the person sees. Filtering by a
centerIdoutside them answers403 CENTER_CONTEXT_FORBIDDEN. - When the clinic has several centers, operations that create something in one center (an appointment) or search one center’s time (free slots) need
centerId. Without it they answer422 APPOINTMENT_CENTER_REQUIREDor422 AVAILABILITY_CENTER_REQUIRED.
Over MCP
An assistant only sees the tools whose permission you hold, so the tool list itself tells you what you can do. A tool you cannot use is not listed, rather than failing when called.What no credential can do
- Create keys or partner apps, or revoke a credential other than itself.
- Turn a data area on, or accept patient data.
- Give a key a permission its creator does not hold (
403 CREDENTIAL_PERMISSION_NOT_HELD).