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

# Create Or Update User

> Creates an user if doesn't exist already, or updates user properties

### Parameters

<Param path="app_id" type="string" required>
  The `id` of the app
</Param>

### Body

<Param path="user_id" type="string" required>
  Your user identifier. if user\_id already exists, user properties will be
  updated else a new user will be created
</Param>

<Param body="email" type="string">
  User's email
</Param>

<Param body="mobile" type="string">
  Mobile with country code prefix (e.g +91)
</Param>

<Param body="whatsapp_mobile" type="string">
  Mobile with country code prefix (e.g +91)
</Param>

<Param body="slack" type="object">
  Slack Recipient Object

  <Expandable>
    <Param body="access_token" type="string" required>
      Slack Bot Access Token
    </Param>

    <Param body="email" type="string">
      User's slack email
    </Param>

    <Param body="channel_id" type="string">
      Destination Slack Channel Id
    </Param>
  </Expandable>
</Param>

<Param body="telegram" type="object">
  Telegram Recipient Object

  <Expandable>
    <Param body="chat_id" type="string">
      Telegram Chat Id
    </Param>
  </Expandable>
</Param>

<Param body="onesignal_external_id" type="string">
  Onesignal External User Identifier
</Param>

<RequestExample>
  ```json Request Example theme={null}
  POST /v1/apps/{{app_id}}/users HTTP/1.1
  Host: https://api.ravenapp.dev
  Authorization: AuthKey {{secret_key}}
  Content-Type: application/json

  {
      "user_id" : "test",
      "mobile" : "9876543210",
      "email" : "x@ravenapp.dev"
  }
  ```
</RequestExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.