# Create user

Invite a new member to the organization.

Source: https://statusdashboard.com/docs/api/account-management/users/create

`POST /app/users`

Creates a new user account and adds them to the organization. Optionally sends an invitation email with a temporary password so the user can set their own credentials.

If the organization has a user quota configured (`enabledFeatures.users`), this endpoint returns `403` when the quota is reached.

New users are always created with `disabled: false` (account enabled). Use `PATCH /app/users/{email}` to disable an existing member.

***

## Request
See [API Basics](/docs/api) for required headers.

### Request body
| Field               | Type      | Required | Description                                                                                                                                                    |
| ------------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`             | string    | Yes      | Email address for the new user. Must be globally unique across the platform.                                                                                   |
| `firstName`         | string    | Yes      | User's first name.                                                                                                                                             |
| `lastName`          | string    | Yes      | User's last name.                                                                                                                                              |
| `roles`             | string\[] | No       | Array of tenant roles. Allowed values: `"admin"`, `"event"`, `"subscriber"`. Defaults to `["event"]`.                                                          |
| `allowPasswordAuth` | boolean   | No       | Whether the user may authenticate with email and password. Defaults to `true`. Set to `false` for SSO-only users — requires at least one enabled SSO provider. |
| `sendInvitation`    | boolean   | No       | Whether to send an invitation email. Defaults to `true`. Automatically suppressed when `allowPasswordAuth` is `false`.                                         |

***

## Sample request
```bash
curl -X POST https://api.statusdashboard.com/app/users \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "carol@acmeplumbing.com",
    "firstName": "Carol",
    "lastName": "Kim",
    "roles": ["event"],
    "sendInvitation": true
  }'
```

## Sample response
**Status: `201 Created`**

```json
{
  "user": {
    "email": "carol@acmeplumbing.com",
    "roles": ["event"],
    "allowPasswordAuth": true,
    "disabled": false,
    "createdAt": "2026-04-15T12:00:00.000Z"
  }
}
```

***

## Error responses
| Status | When                                                                                   |
| ------ | -------------------------------------------------------------------------------------- |
| `400`  | Validation failure or SSO provider not configured for `allowPasswordAuth: false`.      |
| `403`  | Insufficient permissions, or the organization's user quota is reached.                 |
| `409`  | Email is already a member of this organization, or already registered on the platform. |
