Create New User

This API creates a new user account by using phone or email or card (at least one of them).

Headers
  • Authorization
    Type: string
    required

    This is a combination of unique API key as well as business key (UUID) as the Authorization header.

Body
application/json

For authentication, the location key token must be provided as a parameter.

Using a Loyalty Card

Card numbers are generated in the Punchh platform. By using a card, an end-user can earn loyalty without registering. A business usually distributes physical cards to end-users with a PIN. The cards are scanned by the barcode reader at the POS. Card numbers are usually 16 digits.

  • phone
    Type: string
    required

    Phone number of the user. The phone number parameter accepts various formats, including 1111-111-111, 111-111-1111, or 1111111111.

  • address_line1
    Type: string

    Address of the user

  • age_verified_status
    Type: boolean

    Whether or not the user has undergone age verification. Possible Values: true, false. The value is set to true if the user's age is verified; otherwise, it is set to false. The response returns this parameter in sign-in, sign-up, and user update APIs if the age verification is enabled for the business in the Punchh platform. Contact your Punchh representative to update this Punchh platform configuration setting.

  • birthday
    Format: dateenum
    const:  
    YYYY-MM-DD

    Birth date of the user

    values
    • YYYY-MM-DD
  • card_number
    Type: string

    Loyalty card number of the user

  • city
    Type: string

    City in which the user lives

  • email
    Type: string

    Email address of the user

  • favourite_locations
    Type: string

    List of favorite locations of the end-user. You can fetch location_name and location_id from the Location Configuration API. The parameter accepts an empty value ("") for the blank favorite locations list.

  • first_name
    Type: string

    First name of the user

  • gender
    Type: string

    Gender of the user (i.e., male ,female, or declined)

  • last_name
    Type: string

    Last name of the user

  • send_compliance_sms
    Type: boolean

    Send true in order to trigger a compliance / opt-in SMS for the user. Possible values - True, true, False, false. Both terms_and_conditions and send_compliance_sms must be set to "true" for the API to trigger a compliance (opt-in) SMS.

Responses
  • application/json
Request Example for post/api/pos/users
curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/users \
  --request POST \
  --header 'Authorization: Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
  "first_name": "FIRST_NAME_GOES_HERE",
  "last_name": "LAST_NAME_GOES_HERE",
  "phone": "1111111111",
  "email": "test@example.com",
  "terms_and_conditions": true,
  "send_compliance_sms": true,
  "favourite_locations": "352704,359591",
  "zip_code": 12344,
  "birthday": "1999-01-01",
  "gender": "male",
  "marketing_email_subscription": true,
  "age_verified_status": true
}'
{
  "address_line1": null,
  "anniversary": null,
  "avatar_remote_url": null,
  "birthday": "1999-01-01",
  "city": null,
  "created_at": "2020-10-06T14:59:18Z",
  "email": "test@example.com",
  "email_verified": false,
  "fb_uid": null,
  "first_name": "FIRST_NAME_GOES_HERE",
  "age_verified": false,
  "privacy_policy": false,
  "gender": "male",
  "id": 60389313,
  "last_name": "LAST_NAME_GOES_HERE",
  "state": null,
  "updated_at": "2020-10-06T14:59:18Z",
  "zip_code": "12344",
  "balance": {
    "banked_rewards": 0,
    "membership_level": null,
    "membership_level_id": null,
    "net_balance": 0,
    "net_debits": 0,
    "pending_points": 0,
    "points_balance": 0,
    "signup_anniversary_day": "10/06",
    "total_credits": 0,
    "total_debits": "0.0",
    "total_point_credits": 0,
    "total_redeemable_visits": 0,
    "expired_membership_level": null,
    "total_visits": 0,
    "initial_visits": 0,
    "unredeemed_cards": 0
  },
  "user_digest": "USER_DIGEST_GOES_HERE",
  "selected_card_number": null,
  "selected_reward_id": null,
  "selected_redeemable_id": null,
  "rewards": [],
  "discount_type": null,
  "phone": "1111111111",
  "age_verified_status": true
}