> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign Up

> Creates a new customer account through the public sign-up flow.

# Sign Up

Creates a new customer account. The request body should include all required fields from the checkout fields configuration. This is the primary public registration endpoint for new members.

## Authentication

No authentication required.

## Request Body

The request body wraps the coworker data inside a `Coworker` property, along with additional registration fields.

<ParamField body="Coworker" type="object" required>
  Object containing the new member's profile fields. Fields are dynamic based on operator checkout configuration.
</ParamField>

<ParamField body="Coworker.FullName" type="string" required>
  Full name of the new member.
</ParamField>

<ParamField body="Coworker.Email" type="string" required>
  Email address for the account.
</ParamField>

<ParamField body="Base64Avatar" type="string">
  Base64-encoded avatar image, if provided during signup.
</ParamField>

<ParamField body="recaptcha" type="string">
  reCAPTCHA token for bot protection.
</ParamField>

<ParamField body="TeamGuid" type="string">
  Team GUID if the signup is via a team invite link.
</ParamField>

<ParamField body="TariffGuid" type="string">
  Tariff/plan GUID if the signup is via a plan invite link.
</ParamField>

<ParamField body="TariffId" type="string">
  Plan ID if pre-selecting a membership plan.
</ParamField>

## Response

Returns a confirmation object with a token for automatic sign-in.

<ResponseField name="WasSuccessful" type="string">
  Whether the signup was successful.
</ResponseField>

<ResponseField name="Token" type="string">
  JWT token for automatic sign-in after registration.
</ResponseField>

## Examples

### Register a new member

```http theme={null}
POST /api/public/signup
Content-Type: application/json

{
  "Coworker": {
    "FullName": "Jane Smith",
    "Email": "jane@example.com"
  },
  "recaptcha": "03AGdBq24...",
  "Base64Avatar": null
}
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const response = await httpClient.post<{ WasSuccessful: string; Token: string }>(endpoints.checkout.signup, {
  Coworker: coworkerData,
  Base64Avatar: avatarBase64,
  recaptcha: recaptchaToken,
  TeamGuid: teamGuid,
  TariffId: planId,
})
```
