Skip to content

Permissions (scopes)

When creating a token you choose what it may do. You can only grant permissions that you have yourself in the management app.

ScopeAllowsThe creator needs
locations:readRead garage parksLocations (view)
occupancy:readRead occupancy rates (current, history, per garage type)Occupancy plan (view)
tenants:readRead tenants (without bank details)Tenants (view), Leasing process (view)
tenants:importSubmit existing tenants to the importData import (edit), Leasing process (view)
tenants:import_commitTake over imported existing tenants (creates tenants and leases)Data import (edit), Leasing process (edit)
bookings:readRead booking journal and revenueAccounting overview (view)
open_items:readRead open itemsReceivables (view)
dunning:readRead dunning status and issued dunning noticesReceivables (view)
invoices:readRead invoicesInvoices (view)
payments:readRead incoming payments (without bank details)Payments (view), Accounting overview (view)
payments:read_counterpartyAdd-on to payments:read: bank details and payment reference of payersPayments (view), Accounting overview (view)
emails:readRead sent emails (subject, status, preview)Email log (view), Tenants (view)
emails:read_bodyAdd-on to emails:read: full text of emailsEmail log (view), Tenants (view)
usage:readRead the access log of your own API callsAPI access (view)
documents:readRead documents (tenant and location documents, file details only)Tenants (view), Locations (view)
documents:downloadAdd-on to documents:read: short-lived download links for documentsTenants (view), Locations (view)
contractors:readRead contractors and ordersArticles and contractors (view), Garages/units (view), Leasing process (view)
units:readRead units and garagesGarages/units (view), Locations (view)
contracts:readRead contracts, amendments and terminationsLeasing process (view), Tenants (view)
datev:exportRetrieve and start DATEV exportsFinancial accounting (view)
prospects:readRead prospects and the waiting listLeasing process (view)
prospects:writeAdd-on to prospects:read: submit prospect enquiriesLeasing process (edit)
appointments:readRead appointmentsCalendar (view)
appointments:writeAdd-on to appointments:read: create appointmentsCalendar (edit)
damages:readRead damage reportsGarages/units (view), Leasing process (view)
damages:writeAdd-on to damages:read: create damage reports and set statusGarages/units (edit), Leasing process (edit)
utility:readRead utility statements, meters and meter readingsMeter readings (view), Electricity (view), Water (view)
utility:writeAdd-on to utility:read: enter meter readingsMeter readings (edit), Electricity (edit), Water (edit)
webhooks:manageSet up and manage webhooksAPI access (full access)
timeline:readRead a tenant timeline (only events the token may also read)Tenants (view)

Add-on scopes: some scopes extend another one and allow nothing on their own: payments:read_counterparty (bank details of payers), documents:download (download links), emails:read_body (full text of emails) and the write scopes utility:write (meter readings), damages:write (damage reports), appointments:write (appointments) and prospects:write (prospects). The token also needs the base scope (…:read). A token may carry up to 40 scopes. It always sees the whole organization — there is no restriction to individual locations on the token.

If a token lacks the required scope, the API responds with 403 insufficient_scope and names the required scope in the field error.required_scope.

The creator's permissions are checked again on every request. If the person who created the token loses a required permission — including the API access permission itself — the API immediately responds with 403 insufficient_permissions. Once the permission is restored, the token works again.