Skip to content

Register member

POST
/api/v2.0/stores/{storeId}/members
curl --request POST \
--url https://api.diller.app/api/v2.0/stores/your-store-id/members \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "phone": { "country_code": "example", "number": "example" }, "first_name": "example", "last_name": "example", "email": "example", "invitation_token": "example", "additional_identifiers": [ "example" ], "birth_date": "2026-09-11T12:34:49", "gender": "Male", "address": { "street": "example", "city": "example", "zip_code": "example", "state": "example", "country_code": "example" }, "consent": { "gdpr_accepted": true, "save_order_history": true, "receive_sms": true, "receive_email": true }, "department_ids": [ "example" ], "origin": { "system_id": "example", "employee_id": "example", "department_id": "example", "department_name": "example", "channel": "example" }, "segments": [ { "segment_id": 1, "value": "example", "selected_options": [ 1 ] } ], "card_info": { "identifier": "example", "brand": "example", "expiry_date": "example" } }'

Adds a new member to the store. This will create a new member and automatically add him to the Loyalty Program, followed by a welcome SMS. If the store is not configured to send SMS, a welcome email is sent instead.

storeId
required
string

The store id

Example
your-store-id
object
phone
required
object
country_code
required
string
>= 1 characters
number
required
string
>= 1 characters
first_name
string
nullable
last_name
string
nullable
email
string
nullable
invitation_token

The invitation or referral token generated during the initial invite flow. This token securely associates the newly registered member with their original inviter or referral campaign and unlocks any associated benefits, rewards, or tracking mechanisms tied to that invitation.

string
nullable
additional_identifiers

DEPRECATED: Start using the ‘Identifiers’ endpoints instead

Array<string>
nullable
birth_date
string format: date-time
nullable
Example
2026-09-11T12:34:49
gender

Valid options: Male - Female - NotShared - When the member didn’t want to share their gender NonBinary - When a member does not fit into the categories of ‘man’ or ‘woman’

string
Allowed values: Male Female NotShared NonBinary
address
object
street
string
nullable
city
string
nullable
zip_code
string
nullable
state
string
nullable
country_code

The alpha-2 code of country

string
nullable
consent
object
gdpr_accepted

True if the member has accepted the GDPR. False otherwise.

boolean
save_order_history

True if member has authorized to save order history e.g. transaction details about their purchases.

boolean
receive_sms

True if the member has authorized the sending of promotional SMS. False otherwise.

boolean
nullable
receive_email

True if the member has authorized the sending of promotional Emails. False otherwise.

boolean
nullable
department_ids
Array<string>
nullable
origin

Represents the origin of the request, by department, employee, system id and channel. Eg. Employee John Doe at Pos number 10 in the store department “New York” submitted this request.

object
system_id
string
nullable
employee_id

The id for of the operator that made the request (if applicable)

string
nullable
department_id
string
nullable
department_name
string
nullable
channel

Represents the business channel through which the API call occurred. It accepts ‘POS’ for Point-of-Sale systems and ‘OnlineStore’ for online stores. When the channel is empty or not recognized, it defaults to ‘POS’.

string
nullable
segments
Array<object>
nullable
object
segment_id
integer format: int32
value

Fill it when segment is of type ‘Text’ or ‘Date’

string
nullable
selected_options

Fill this field when the segment is of type ‘Checkbox’, ‘Dropdown’, or ‘Radio’.

Array<integer>
nullable
password
string
nullable
repeat_password
string
nullable
card_info
object
identifier
string
nullable
brand
string
nullable
expiry_date

Card expiration date in format “YY-MM”

string
nullable

OK

Media typeapplication/json
object
id
string
nullable
first_name
string
nullable
last_name
string
nullable
email
string
nullable
additional_identifiers

DEPRECATED: Start using the ‘Identifiers’ endpoints instead

Array<string>
nullable
identifiers
Array<object>
nullable
object
id
integer format: int32
type_id
integer format: int32
type
string
nullable
value
string
nullable
remarks
string
nullable
phone
object
country_code
required
string
>= 1 characters
number
required
string
>= 1 characters
birth_date
string format: date-time
nullable
address
object
street
string
nullable
city
string
nullable
zip_code
string
nullable
state
string
nullable
country_code

The alpha-2 code of country

string
nullable
gender
required
string
Allowed values: Male Female NotShared NonBinary
consent
object
gdpr_accepted

True if the member has accepted the GDPR. False otherwise.

boolean
save_order_history

True if member has authorized to save order history e.g. transaction details about their purchases.

boolean
receive_sms

True if the member has authorized the sending of promotional SMS. False otherwise.

boolean
receive_email

True if the member has authorized the sending of promotional Emails. False otherwise.

boolean
membership_detail
object
points
number format: double
qualification_points
number format: double
pending_points
number format: double
remaining_points
number format: double
level_title
string
nullable
next_level_title
string
nullable
next_level_points
number format: double
level_expire_date
string format: date-time
nullable
department_ids
Array<string>
nullable
segments
Array<object>
nullable
object
id
integer format: int32
text
string
nullable
type
required
string
Allowed values: Text DateTime Radio Checkbox Dropdown
is_visible_to_follower
boolean
is_required
boolean
value

Use value when segment type is Date or Text

string
nullable
selected_options

Use SelectedOptions when segment type is Radio, Combobox or Dropbox

Array<integer>
nullable
has_wallet_pass
boolean
Example
{
"birth_date": "2026-09-11T12:34:49",
"gender": "Male",
"membership_detail": {
"level_expire_date": "2026-09-11T12:34:49"
},
"segments": [
{
"type": "Text"
}
]
}

Bad Request

Media typeapplication/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
errors
object
key
additional properties
Array<string>
key
additional properties
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}