Skip to content

Create Member

POST
/api/Members
curl --request POST \
--url https://example.com/api/Members \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "merchantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "firstName": "example", "lastName": "example", "email": "hello@example.com", "phone": "example", "addressLine1": "example", "addressLine2": "example", "city": "example", "state": "example", "postCode": "example", "country": "example", "notes": "example" }'

Creates a new member and returns the created resource. Email must be unique per merchant.

POST /api/members
{
    "merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane@example.com",
    "phone": "+61 400 000 000",
    "city": "Melbourne",
    "country": "AU"
}

Member creation payload.

object
merchantId
required
string format: uuid
firstName
required
string
>= 1 characters <= 100 characters
lastName
required
string
>= 1 characters <= 100 characters
email
required
string format: email
>= 1 characters <= 256 characters
phone
string
nullable <= 30 characters
addressLine1
string
nullable <= 200 characters
addressLine2
string
nullable <= 200 characters
city
string
nullable <= 100 characters
state
string
nullable <= 100 characters
postCode
string
nullable <= 20 characters
country
string
nullable <= 100 characters
notes
string
nullable <= 2000 characters
Example generated
{
"merchantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"firstName": "example",
"lastName": "example",
"email": "hello@example.com",
"phone": "example",
"addressLine1": "example",
"addressLine2": "example",
"city": "example",
"state": "example",
"postCode": "example",
"country": "example",
"notes": "example"
}

Member created successfully.

Media type application/json
object
id
string format: uuid
merchantId
string format: uuid
firstName
string
nullable
lastName
string
nullable
fullName
string
nullable
email
string
nullable
phone
string
nullable
addressLine1
string
nullable
addressLine2
string
nullable
city
string
nullable
state
string
nullable
postCode
string
nullable
country
string
nullable
status
string
Allowed values: Active Paused Cancelled
notes
string
nullable
createdAt
string format: date-time
updatedAt
string format: date-time
Example
{
"status": "Active"
}

Validation failed — check the errors object.

Media type application/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}