Team

Invite a teammate into a seat

Owner-only — a member gets 403. Emails the address a one-time, hashed link that expires in 7 days and self-serves account creation (see POST /v1/team/invites/accept).

Seat quota (quota_exceeded, 402): the plan's seat count is checked against members + pending (unaccepted, unexpired) invites, not just current members. An account on a 3-seat plan with 1 owner and 2 outstanding invites is already at its limit even though only one users row exists — a pending invite reserves the seat it would fill so the limit cannot be worked around by inviting faster than people accept. Cancel a pending invite (DELETE /v1/team/invites/{id}) or remove a member to free a slot.

Rate limited to 20 invitations per account per hour (rate_limited, 429, Retry-After header) — this bounds accidental or abusive mass-invites, not normal team growth.

Inviting an address that is already a member of this account returns invalid_request (400). Sending a second invite to the same still-pending address replaces the first one — the earlier link stops working.

post/v1/team/invites

Request

  • Base URL: https://api.briefgate.dev
  • URL: https://api.briefgate.dev/v1/team/invites
  • Auth: HTTP bearer

Request body

emailstring email required

Response

Invitation created and emailed

idstring
emailstring email
role'member'
created_atstring date-time
expires_atstring date-time

Changes

No recorded changes to this operation across all 1 revision of this API.