> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.littglobal.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.littglobal.com/_mcp/server.

# Sign Up

POST TBD/api/v2/users/sign-up

This API endpoint allows a new user to sign up to the application. User provides personal details such as name, age and mobile number, as well as security details like username and password. User's profile image, type of device, login method etc are also recorded.

### Request Body

- `referral_id` (string): The referral id for the user if any.
    
- `country_id` (integer): The id of the user's country.
    
- `name` (string): The full name of user.
    
- `age` (string): The age of user.
    
- `mobile_number` (string): The mobile number of user.
    
- `username` (string): The chosen username.
    
- `email` (string): The user's email address.
    
- `dob` (string): The date of birth of user.
    
- `password` (string): Users' chosen password.
    
- `password_confirmation` (string): Confirmation of the chosen password.
    
- `gender` (string): The gender of the user.
    
- `profile_image` (object): An object containing details of user's profile image.
    
    - `version` (integer): The version number of the profile image.
        
    - `public_id` (string): The unique id of the profile image.
        
    - `format` (string): The format of the image file (jpg, png, etc).
        
- `profile_avatar` (string): URL of the user's avatar.
    
- `login_type` (string): The mode of logging in (local, social networks).
    
- `device_type` (string): User's device type (e.g., iOS, Android).
    
- `device_token` (string): Unique identifier for user's device.
    

### Response

- `user_id` (string): The unique identifier of the new user.
    
- `username` (string): The username of the new user.
    
- `api_token` (string): The API token for the new user.
    
- `country_selected` (string): A flag indicating if the user has selected a country (1 = Yes).
    
- `user_qrcode` (string): The user's QR code URL.

Reference: https://docs.littglobal.com/litt-white-label/api-reference/authentication/sign-up

## Response

### 200

Sign Up

- `message` (string, optional)
- `api` (string, optional)
- `status` (string, optional)
- `data` (ApiV2UsersSignUpPostResponsesContentApplicationJsonSchemaData, optional)

## Types

### ApiV2UsersSignUpPostResponsesContentApplicationJsonSchemaData

- `user_id` (string, optional)
- `username` (string, optional)
- `api_token` (string, optional)
- `country_selected` (string, optional)
- `user_qrcode` (string, optional)

## Examples

**Response**

```json
{
  "message": "You have successfully registered. A sms message has been sent to you for verification",
  "api": "sign-up",
  "status": "success",
  "data": {
    "user_id": "45233a6e-b38b-4427-ba94-5d36302c83a1",
    "username": "john.smith",
    "api_token": "YOUR_API_TOKEN",
    "country_selected": "1",
    "user_qrcode": "https://api.qrserver.com/v1/create-qr-code/?size=185x185&ecc=L&qzone=1&data=http%3A%2F%2Fwww.example.org"
  }
}
```

**SDK Code**

```python Authentication_signUp_example
import requests

url = "https://tbd/api/v2/users/sign-up"

response = requests.post(url)

print(response.json())
```

```javascript Authentication_signUp_example
const url = 'https://tbd/api/v2/users/sign-up';
const options = {method: 'POST'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Authentication_signUp_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://tbd/api/v2/users/sign-up"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Authentication_signUp_example
require 'uri'
require 'net/http'

url = URI("https://tbd/api/v2/users/sign-up")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
```

```java Authentication_signUp_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://tbd/api/v2/users/sign-up")
  .asString();
```

```php Authentication_signUp_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://tbd/api/v2/users/sign-up');

echo $response->getBody();
```

```csharp Authentication_signUp_example
using RestSharp;

var client = new RestClient("https://tbd/api/v2/users/sign-up");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Authentication_signUp_example
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://tbd/api/v2/users/sign-up")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```