Skip to content

Send team member invitation

Request

Sends or resends delivery for the single pending invitation of this Team Member. Delivery contact is set only at Team Member create via write-only access_invitation.phone / access_invitation.email; this resend uses the stored delivery target and does not accept a contact override in the body. 422 invitation_contact_required when no delivery contact exists; 409 invitation_already_pending when a distinct pending invitation already exists; 409 access_already_active when the Team Member already has active access. Requires Idempotency-Key.

Security
OAuth2(Required scopes: team_members:manage_access)
Path
location_idintegerrequired

Identifier of the Location. Verified against the credential on every call — a Location the credential cannot access responds with 404.

team_member_idintegerrequired

Identifier of the Team Member.

Headers
Idempotency-Keystring, <= 255 charactersrequired

Client-generated unique key for this logical request (UUID recommended). A retry with the same key and body returns the original result; the same key with a different body fails with 409 idempotency_key_reused. Keys are retained at least 24 hours and are scoped to credential, Location, and operation; after expiry the value may be reused for a new logical request.

Bodyapplication/jsonrequired
object(TeamMemberInvitationCreate)

Empty body for resend. Delivery contact cannot be overridden here — set write-only phone/email only on Team Member create (access_invitation).

curl -i -X POST \
  'https://developer.alteg.io/_mock/en/b2b-v3/openapi/locations/{location_id}/team_members/{team_member_id}/invitation' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -d '{}'

Responses

OK

Headers
RateLimit-Remaininginteger, (int32), >= 0

Requests left in the most constrained policy window that applies to this request.

RateLimit-Resetinteger, (int32), >= 0

On 429, seconds until the most constrained policy frees up; it equals Retry-After there. On a successful response it reports the length of that policy's window rather than the time left in the current one, so treat it as the window size, not as a countdown — the counter to pace against is RateLimit-Remaining.

RateLimit-Policystring

Most constrained policy applied to the request, as <limit>;w=<window in seconds>.

Example:"10;w=60"
X-Request-Idstring

Request identifier for support and log correlation.

Bodyapplication/json
objectstringrequired
Value:"team_member_access"
team_member_idintegerrequired
statusstringrequired
Enum:"none""invited""active"
role_idinteger or nullrequired
invitationTeamMemberAccessInvitation (object) or null
One of:
Response
{ "object": "team_member_access", "team_member_id": 0, "status": "none", "role_id": 0, "invitation": { "sent_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z" } }