# TenantRegisterRequest

Registers a new tenant and its first user: with an invitation code, or, where sign-up is open, without one.

**Kind:** an object, used in requests.

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| `acceptTermsAndConditions` | `boolean` |  | Whether the person accepts the terms and conditions. Must be true. |
| `code` | `string \| null` |  | The invitation code. Leave it out to sign up without an invitation, where sign-up is open. |
| `inviteId` | `uuid \| null` |  | The id of the invite being accepted, when there is one. It must have been sent with `code`. |
| `turnstileToken` | `string \| null` |  | The sign-up page's Cloudflare Turnstile token. Needed to sign up without an invitation code. Constraints: maxLength: 2048. |
| `userName` | `string` | yes | The first user's display name. Constraints: maxLength: 100, minLength: 5, required (empty or whitespace-only strings are rejected). |
| `companyName` | `string \| null` |  | The tenant's name. Omitted: the user's name. Constraints: maxLength: 100, minLength: 5. |
| `emailAddress` | `string` | yes | The first user's e-mail address. With an invite, the address it was sent to. Constraints: format: email, required (empty or whitespace-only strings are rejected). |
| `password` | `string` | yes | The password: 8 to 15 characters with a lower-case letter, an upper-case letter, a digit and a symbol, or a passphrase of at least 20 characters and four words. Constraints: pattern: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,15}$|^(?=.{20,}$).+ .+ .+ .+$, required (empty or whitespace-only strings are rejected). |

## Example

```json
{
  "acceptTermsAndConditions": false,
  "code": "...",
  "inviteId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "turnstileToken": "...",
  "userName": "...",
  "companyName": "...",
  "emailAddress": "...",
  "password": "..."
}
```
