One person can be an agent, a landlord and a tenant. Every API call names which workspace it acts in, with two headers.
The two headersWhat goes wrong
A person in Abide.Rent holds roles, not a type. The same email can manage a book of properties for an agency, own two flats as a landlord and rent a home as a tenant. The API keeps those apart: every call says which workspace it is acting in.
X-Abide-Rent-Context: agency | landlord | tenant
X-Abide-Rent-Context-Id: <id from GET /api/v1/me>
GET /api/v1/me. It lists every workspace the bearer can open, with its kind and id.| You see | Why | Fix |
|---|---|---|
409 CONTEXT_REQUIRED |
No workspace headers were sent | Add both headers |
403 CONTEXT_FORBIDDEN |
The endpoint is not for that kind of workspace (for example a tenant calling an agency list) | Use the right workspace |
403 CONTEXT_EXPIRED |
The role behind the workspace has ended — an invitation was withdrawn or a tenancy handed over | Call GET /api/v1/me again |
404 NOT_FOUND |
The record exists, but not in this workspace | Records in other workspaces are never visible, by design |
An API key always acts as its paying account (an agency or landlord). It never acts as a tenant.