Create Invitation
POST/api/v1/workspaces/invitations
Send an invitation to join the workspace.
Role-based invitation rules:
- Owners: Can invite to any role
- Managers: Can invite to manager, field_worker, or member (NOT owner)
- Field workers/members: Cannot invite
Creates a new invitation and sends an email to the invitee. Auto-revokes previous pending invitations for the same email/workspace.
Blocks:
- Self-invites
- Inviting existing workspace members
Does NOT block inviting a user who already belongs to a different workspace -- every self-signup gets a personal workspace, so an account already having one is the common case, not a special one. Acceptance (apps/authentication/api.py accept_invitation) moves that account's primary workspace to the inviter's and creates the membership.
Rate limited to 100 invitations per hour per user (only counted after permission check passes) — sized for the bulk-invite modal's one-request-per-address flow.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 422
- 429
- 500
- 503
Created
Bad Request
Unauthorized
Forbidden
Not Found
Validation Error
Too Many Requests
Internal Server Error
Service Unavailable