---
title: "Invite a member"
method: POST
path: "/api/public/organizations/{orgId}/members"
tags: ["Members"]
---

# Invite a member

`POST /api/public/organizations/{orgId}/members`

## Request

- Base URL: `https://charts.basedash.com`
- URL: `https://charts.basedash.com/api/public/organizations/{orgId}/members`
- Auth: HTTP bearer

Invites a user to an organization by email and role. Creates a pending user when the email does not belong to an existing user, reactivates deactivated memberships, and sends the same invitation email as the app. Requires admin access to the organization.

## Path parameters

- `orgId` string, required: Organization ID

## Request body

- InviteMemberInput
  - `email` string, email, required: Email address of the user to invite
  - `role` union: Role to assign to the invited member
    - 'MEMBER'
    - 'ADMIN'
    - 'VIEWER'

## Response `201`

Member invited successfully

- object
  - `data` MemberResponse, required
    - `id` string, required: Member ID
    - `createdAt` string, date-time, required: Member creation timestamp
    - `deactivatedAt` string, date-time, nullable, required: When the member was deactivated, if applicable
    - `role` union, required: Role of the member in the organization
      - 'MEMBER'
      - 'ADMIN'
      - 'VIEWER'
    - `userId` string, required: ID of the associated user
    - `organizationId` string, required: ID of the organization
    - `user` UserResponse, required: User information for this member
      - `id` string, required: User ID
      - `fullName` string, required: Full name of the user
      - `avatarUrl` string, nullable, required: URL to the user avatar image
      - `email` string, required: Email address of the user
      - `isEmailVerified` boolean, required: Whether the user has verified their email
      - `createdAt` string, date-time, required: User creation timestamp
      - `firstName` string, nullable, required: First name of the user
      - `title` string, nullable, required: Job title of the user

## Other responses

- `400`: Bad request - Invalid request body
- `401`: Unauthorized - Missing or invalid API key
- `403`: Forbidden - Basedash staff accounts can't be added to this organization
- `404`: Not found - Organization not found or no admin access
- `409`: Conflict - User is already a member
- `429`: Rate limit exceeded - Too many requests
- `500`: Internal server error

---

[API](https://skmtc.dev/basedash/apis/basedash-public-api.md) - [All operations](https://skmtc.dev/basedash/apis/basedash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/basedash/apis/basedash-public-api/revisions/efb9d40bc6f7?raw)
