---
title: "Async batch user creation for a target app (v2, tenant actor)"
method: POST
path: "/v2/apps/{appId}/users/batch"
tags: ["Users"]
---

# Async batch user creation for a target app (v2, tenant actor)

`POST /v2/apps/{appId}/users/batch`

## Request

- Base URL: `https://api.chat.ethora.com`
- URL: `https://api.chat.ethora.com/v2/apps/{appId}/users/batch`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

**Auth**: Tenant Actor

Same async user batch creation flow as `/v2/users/batch`, but the target app is explicit in the path.
Supports `User JWT` and `B2B Server JWT`.

## Path parameters

- `appId` string, required

## Request body

- object
  - `bypassEmailConfirmation` boolean: If true, skip the email-verification step and create users immediately. Use when the importer has already verified ownership of the addresses (e.g. SSO migration). Default false.
  - `usersList` UserDataB2B[], required: Array of users to create. Each entry needs at minimum `email`, `firstName`, `lastName`; `password` is optional (omitted users get a temporary password by email).
    - `email` string
    - `firstName` string
    - `lastName` string
    - `password` string
    - `uuid` string
    - `profileImage` string: Optional profile image URL.
    - `profileImageFileIndex` integer: Multipart-only: index into uploaded files[] to be uploaded and used as profileImage.

## Response `202`

accepted

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/ethora/apis/platform-api.md) · [All operations](https://skmtc.dev/ethora/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ethora/apis/platform-api/revisions/01b6e64378ee?raw)
