---
title: "Invite a member"
method: POST
path: "/v1/members"
tags: ["Members"]
---

# Invite a member

`POST /v1/members`

Signals an invitation to join the caller's organization. The invitee receives an accept link by email and becomes a member once they accept. The response is the pending invitation record. Requires OAuth authentication (API-key callers can't act on behalf of a specific user).

## Request body

- InviteMemberBody
  - `email` string, email, required — Email address to invite. The invitee receives an accept link by email.
  - `role` 'owner' | 'admin' | 'member' — Role to grant on acceptance. Defaults to `member` when omitted.

## Response `201`

Invitation created

- InvitedMember
  - `status` 'invited', required — Discriminator for pending invitations — the invitee hasn't accepted yet, so no user record exists.
  - `id` string, required — Stable invitation identifier. Distinct from membership ids.
  - `organizationId` string, required — Organization the invitation grants access to.
  - `userId` unknown, required
  - `role` 'owner' | 'admin' | 'member' | 'null', nullable, required — Role the invitee will get once they accept. `null` means the default (`member`).
  - `name` unknown, required
  - `email` string, required — Email address the invitation was sent to.
  - `image` unknown, required
  - `invitedAt` string, required — ISO-8601 timestamp at which the invitation was created.
  - `expiresAt` string, required — ISO-8601 timestamp at which the invitation expires.
  - `inviterId` string, required — User id of the member who issued the invitation.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/revisions/a0bf72a85607/schema)
