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

# Add User

> Creates a new user in the system with their contact information and notification preferences

## Header

<ParamField header="Authorization" type="string" required>
  Bearer token for API authentication. Format: `Bearer {{apiToken}}`
</ParamField>

<RequestExample>
  ```json Request Example theme={null}
  {
    "email": "xyz@mail.com",
    "sms": "+1234567890",
    "whatsapp": "+1234567890",
    "pushToken": null,
    "inApp": null,
    "slack": null,
    "discord": null,
    "teams": null,
    "line": null,
    "activeChannels": [
      "sms",
      "whatsapp"
    ],
    "name": "qwert",
    "uniqueId": "qwert",
    "active": true,
    "customData": null
  }
  ```
</RequestExample>

## Request Body Parameters

<ParamField name="email" type="string" required={true} description="Email address of the user" />

<ParamField name="sms" type="string" required={false} description="Phone number for SMS notifications (with country code)" />

<ParamField name="whatsapp" type="string" required={false} description="Phone number for WhatsApp notifications (with country code)" />

<ParamField name="pushToken" type="string" required={false} description="Push notification token for mobile devices" />

<ParamField name="inApp" type="string" required={false} description="Internal user identifier for in-app notifications" />

<ParamField name="slack" type="string" required={false} description="Slack user ID" />

<ParamField name="discord" type="string" required={false} description="Discord user ID" />

<ParamField name="teams" type="string" required={false} description="Microsoft Teams user ID" />

<ParamField name="line" type="string" required={false} description="LINE user ID" />

<ParamField name="activeChannels" type="string[]" required={true} description="Array of active notification channels for the user. Must be one of: email, sms, whatsapp, push, inApp, slack, discord, teams, line" />

<ParamField name="name" type="string" required={false} description="User's full name or display name" />

<ParamField name="uniqueId" type="string" required={false} description="Unique identifier from your system" />

<ParamField name="active" type="boolean" default={true} required={false} description="Whether the user is active and should receive notifications" />

<ParamField name="customData" type="object" required={false} description="Additional custom data to store with the user" />

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "email": "rIVE_m0FaG3ikBfoQpMnrC.atkBoXynQ@OEBwlohW31Ktf-dfMGMxj3TgkbDwj1KH0IXnuEJV3w.604JEK8fobAVQQQbjpVl-KadR1TyB.fvVlFnjntPRpuEJcdrquhrLrwZoEbwGlfMBqjOYZOGSpqVNVkLNsyxMKtSOCSfVzRNqhwrpnPNWlYxYBKoWjwSjaUaIqkVZ",
    "sms": "+781817969885703301818880118342548237352630121682016136565576203879663434550944895978511058235126",
    "whatsapp": "+42882193721286909407218345676453787791306251278730681683781916327067494554276609690230711025009088109",
    "pushToken": "string",
    "inApp": "string",
    "slack": "string",
    "discord": "string",
    "teams": "string",
    "line": "string",
    "activeChannels": ["SMS"],
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "firstName": "string",
    "lastName": "string",
    "uniqueId": "string",
    "active": true,
    "customData": {
      "additionalProp1": "string",
      "additionalProp2": "string",
      "additionalProp3": "string"
    },
    "segments": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "name": "string",
        "description": "string"
      }
    ]
  }
  ```
</ResponseExample>

### Response Fields

<ResponseField name="id" type="string">
  Unique identifier for the user (UUID v4)
</ResponseField>

<ResponseField name="firstName" type="string">
  User's first name
</ResponseField>

<ResponseField name="lastName" type="string">
  User's last name
</ResponseField>

<ResponseField name="segments" type="array">
  Array of user segments/groups

  <ResponseField name="id" type="string">
    Segment ID
  </ResponseField>

  <ResponseField name="name" type="string">
    Segment name
  </ResponseField>

  <ResponseField name="description" type="string">
    Segment description
  </ResponseField>
</ResponseField>

## Status Codes

* `200` - OK
* `400` - BAD REQUEST
* `401` - UNAUTHORISED
* `404` - NOT FOUND
