Users
Create User
POST

/users

Bearer*
curl --request POST \
  --url https://api.thanx.com/users \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "email": "<email>",
  "first_name": "<first_name>",
  "last_name": "<last_name>"
}'

This endpoint creates a user, but it also facilitates signing an existing platform user up with the client brand in scenarios where the SSO flow wouldn’t be appropriate (i.e., the user is not signing in to an authenticated experience).

If a user with the specified email already exists, it signs the user up with the client brand before returning a 400 level error. This endpoint also returns authorization information for a successfully created user, including an access_token that can be used to access other API endpoints. Experiences utilizing this endpoint must adhere to the legal requirements for user creation.

Body

emailrequired
string

The user’s email

phone
string

The user’s phone number, formatted: +14157582345

first_namerequired
string

The user’s first name

last_namerequired
string

The user’s last name

birth_date
hash

The user’s birthday information

gender
enum

The user’s gender (male, female, other, unknown)

zip_code
string

The user’s zip code

This endpoint permits minimal requests that only contain an email parameter for the purposes of signing up an existing platform user with the client brand. If the email belongs to an existing user, it signs the user up with the brand before returning a 400 level error.

curl https://api.thanxsandbox.com/users/ \
  -X POST \
  $STANDARD_HEADERS
  -d '{
    "user": {
      "email": "jane.smith@example.com",
      "phone": "+14158672345",
      "first_name": "Jane",
      "last_name":  "Smith",
      "birth_date": {
        "year": 1987,
        "month": 8,
        "day": 14
      },
      "gender": "other",
      "zip_code": "12345"
    }
  }'

Response

user
User

The newly created user

authorization
Authorization

The authorization type of the created user

{
  "user": {
    "id": "wroeiu2304hfwf",
    "email": "jane.smith@example.com",
    "phone": "+14158672345",
    "first_name": "Jane",
    "last_name": "Smith",
    "birth_date": {
      "year": 1987,
      "month": 8,
      "day": 14
    },
    "gender": "other",
    "zip_code": "12345"
  },
  "authorization": {
    "token_type": "Bearer",
    "scope": "passwordless",
    "created_at": 1577836800,
    "access_token": "945148251b603ae34561d90acfe4050e67494d6d1e65d4d3d52798407f03c0bd",
    "refresh_token": "c74334301a7c74d21b714c905fd3047177dab56de6a86899e6f6b7f71bab7d55"
  }
}