---
title: "Create New Invites"
method: POST
path: "/api/v1/invitations/create"
tags: ["Invitations"]
---

# Create New Invites

`POST /api/v1/invitations/create`

Unified endpoint to create invitations for users OR admins based on role.

**Authorization:**
- Only admin users can create invitations (for both admins and regular users)
- Non-admin users will receive 403 Forbidden

**For Admin Invitations (role="admin"):**
- Creates Firebase user with SSO authentication
- Sends activation email with 24-hour expiry token
- Admin can belong to only one organization
- Uses business_admins collection

**For User Invitations (role != "admin"):**
- Validates emails exist in Firestore
- Checks users are not already in any business
- Creates invitation and sends email
- Uses invitations collection

**Request Body:**
- user_emails: List of email addresses
- role: "admin" | "user"
- invitation_expiry: Days until expiry (default: 7 for users, 24 hours for admins)

## Request body

- CreateNewInvitesReq
  - `user_emails` string[], required
  - `invitation_expiry` integer, nullable
  - `role` 'admin' | 'manager' | 'viewer' | 'user', nullable
  - `send_email_notification` boolean
  - `country_code` string
  - `mobile_number` string, nullable

## Response `200`

Successful Response

- CreateInvitesResponse — Response model for creating multiple invitations
  - `success_count` integer, required
  - `failed_count` integer, required
  - `invitations` InvitationCreated[], required
    - `user_id` string, required
    - `email` string, required
    - `invitation_id` string, required
    - `status` 'created' | 'failed', required
    - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/neosapien/apis/neocore.md) · [All operations](https://skmtc.dev/neosapien/apis/neocore/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/neosapien/neocore/revisions/8b94ef58f2cf/schema)
