Invite someone to an organization
Organization owners (`org.members`); role `owner` or `member`. The answer carries the invitation link once (`url`), to copy when mail is off; with mail on, the link goes out by mail too. The invitation expires after 7 days. 409 `already-member`, `already-invited` (resend or revoke the pending one); 429 when the caller is over the per-sender mail limit.
openapi/harthelm.yaml at v1.5.0__Host-harthelm_session<token>Browser session of the UI (12 h idle, 7 days absolute). State-changing requests also need the header
Harthelm-CSRF: 1 and a matching Origin.
org*stringuuidIdempotency-Key?stringClient-chosen key (at most 255 characters); a repeated key returns the first result for 24 h.
1 <= length <= 255application/json- body
email*Emailemaillength <= 254role*OrgRole"owner""member"The invitation with its link.
application/json- response
id*stringuuidemail*stringorg_id*stringuuidorg_name?stringteam_id?IDAbsent for an organization invitation.
int641 <= valueteam_name?stringrole*stringowner or member for an organization invitation, admin or member for a team invitation.
"owner""admin""member"invited_by?A user as member lists show them.
state*InviteState"pending""accepted""revoked""expired"mail*InviteMailStateoff: mail is not configured, copy the link instead.
"off""queued""sent""failed"created_at*stringdate-timeexpires_at*stringdate-timeaccepted_at?stringdate-timeurl*stringThe invitation link (<console>/invite/<token>), returned only here.
curl -X POST 'https://console.example.com/api/v1/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/invites' \ -H 'Content-Type: application/json' \ -d '{ "email": "[email protected]", "role": "owner"}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "email": "string", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_name": "string", "team_id": 1, "team_name": "string", "role": "owner", "invited_by": { "id": 1, "name": "string", "email": "string", "picture_url": "string" }, "state": "pending", "mail": "off", "created_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "accepted_at": "2019-08-24T14:15:22Z", "url": "string"}Accept an invitation
The caller's verified email must be the invited one (403 `invite-email-mismatch`); a team invitation makes the caller a member of the organization first. 409 `invite-invalid` when it was revoked, has expired, or was accepted by someone else or by the caller who has left its target since; the caller's own acceptance answers 200 again.
Invite someone to a team
Team admins (`team.members`); role `admin` or `member`. Accepting it makes the invitee a member of the organization first. The answer carries the link once (`url`, to copy when mail is off). 409 `already-member`, `already-invited`, `team-deleting`; 429 when the caller is over the per-sender mail limit.