Permissions

List permissions

Returns every permission a property manager can be granted, with a human-readable name, description, and category. Use it to build a permission picker or to look up the exact strings to send when creating an API key.

GET
https://auth.magicdoor.com/company-portal/permissions

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Query parameters

categorystring

Return only permissions whose category matches this exactly, spelling and capitalisation included. Take the value from a category in an unfiltered response.

example: Leases
searchstring

Return only permissions whose name or description contains this text, ignoring case. It does not search code.

example: lease

Response

200 · Every matching permission. Not paged — the whole list comes back at once

codestring

The resource:action string to send in an API key's permissions list.

namestring

A short label for a picker, for example Read Leases.

descriptionstring

A sentence saying what holding this permission lets someone do.

categorystring

The resource this permission belongs to, for grouping a picker. Also the value the category filter matches.

portalstring

Which portal the permission belongs to. Always CompanyPortal here.

401 · The access token is missing, expired, or invalid

This is a fixed catalogue of names and descriptions with no company or user data in it, so it needs no permission of its own — any signed-in property manager can read it. It is also scoped by the route: only permissions a property manager can hold are reachable here, never a tenant's, an owner's, a vendor's, or MagicDoor's internal ones.

What you can see is not what you can grant

The list is the same for everyone. It is not narrowed to what the caller holds, so it will show permissions you cannot grant. Asking for one of those when creating an API key returns 403, naming the ones at fault.