Tenants

Send a tenant portal invite

Schedules the tenant portal invite for one tenant and returns the batch id the scheduled messages are grouped under. Send it to a tenant who was already invited and it goes again.

POST
https://api.portal.magicdoor.com/company-app/tenants/{tenantId}/portal-invite

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.

Path parameters

tenantIdstringrequired

The tenant. A Snowflake id, sent as a decimal string.

example: 1830472847398404096

Body

application/json

Optional. Send no body, or an empty one, and MagicDoor uses the company's saved tenant invite templates. Send messages to override them for this send only.

messagesobject[]

The messages to schedule, in place of the company's saved templates.

Response

200 · The invite was scheduled.

batchIdstring

Groups the messages scheduled by this call. A Snowflake id as a decimal string.

401 · The access token is missing, expired, or does not belong to a property manager.

404 · No tenant with that id exists for the calling company. A record that belongs to another company is reported the same way as one that does not exist. The id you asked for is in `entityId`; `detail` names only the kind of record.

422 · The tenant has been deactivated.

400 · A `kind` value was not one of the recognised message kinds.

One tenant, no eligibility checks

Unlike the bulk endpoint, this one does not require the tenant to be uninvited, to be on a lease, or to have contact details. That is deliberate: it is the way a property manager resends an invite to someone who has already had one.