Join waitlist
Adds an entry to a waitlist for a sold-out session.
curl --request POST \
--url https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"sessionStartDate": "2026-07-18",
"sessionStartTime": "10:00",
"sessionDuration": 60,
"purchaser": {
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
},
"participants": [
{
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sessionStartDate: '2026-07-18',
sessionStartTime: '10:00',
sessionDuration: 60,
purchaser: {
firstName: 'Alice',
lastName: 'Rivera',
emailAddress: 'alice@example.com',
phoneNumber: '+15550100',
customQuestionResponses: [
{
questionId: 'b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
answer: [{value: '<string>', key: 'f0e1d2c3-b4a5-4968-8776-655443322110'}]
}
]
},
participants: [
{
firstName: 'Alice',
lastName: 'Rivera',
priceTierName: 'Adult',
id: '019f5ca1-5432-751e-8663-7c22693a6e7e',
emailAddress: 'alice@example.com',
phoneNumber: '+15550100',
customQuestionResponses: [
{
questionId: 'b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
answer: [{value: '<string>', key: 'f0e1d2c3-b4a5-4968-8776-655443322110'}]
}
]
}
]
})
};
fetch('https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries"
payload = {
"sessionStartDate": "2026-07-18",
"sessionStartTime": "10:00",
"sessionDuration": 60,
"purchaser": {
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
},
"participants": [
{
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
Your brand's secret API key, e.g. Bearer way_sk_live_bhEqcn0i1fRoUEHBPjJkQA. Older Way-Brand-Id + Way-Secret-Key credentials still work: see Legacy authentication.
Path Parameters
The brand's ID - must match the brand your API key identifies (or the Way-Brand-Id header when one is sent).
The waitlist's ID, from the listing or experience data.
Body
Date of the sold-out session to join the waitlist for, in YYYY-MM-DD format.
^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"2026-07-18"
Start time of the session, in the property's local time (HH:mm or HH:mm:ss).
^([0-1]\d|2[0-3])(?::([0-5]\d)){1,2}$"10:00"
Length of the session in minutes.
60
The guest joining the waitlist. They receive the booking invitation when capacity opens up.
Show child attributes
Show child attributes
Guests to include in the waitlist entry. At least one participant is required.
1Show child attributes
Show child attributes
Response
Join waitlist.
Was this page helpful?
curl --request POST \
--url https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"sessionStartDate": "2026-07-18",
"sessionStartTime": "10:00",
"sessionDuration": 60,
"purchaser": {
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
},
"participants": [
{
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sessionStartDate: '2026-07-18',
sessionStartTime: '10:00',
sessionDuration: 60,
purchaser: {
firstName: 'Alice',
lastName: 'Rivera',
emailAddress: 'alice@example.com',
phoneNumber: '+15550100',
customQuestionResponses: [
{
questionId: 'b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
answer: [{value: '<string>', key: 'f0e1d2c3-b4a5-4968-8776-655443322110'}]
}
]
},
participants: [
{
firstName: 'Alice',
lastName: 'Rivera',
priceTierName: 'Adult',
id: '019f5ca1-5432-751e-8663-7c22693a6e7e',
emailAddress: 'alice@example.com',
phoneNumber: '+15550100',
customQuestionResponses: [
{
questionId: 'b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
answer: [{value: '<string>', key: 'f0e1d2c3-b4a5-4968-8776-655443322110'}]
}
]
}
]
})
};
fetch('https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsway.com/v1/brands/{brandId}/waitlists/{waitlistId}/entries"
payload = {
"sessionStartDate": "2026-07-18",
"sessionStartTime": "10:00",
"sessionDuration": 60,
"purchaser": {
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
},
"participants": [
{
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionResponses": [
{
"questionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
]
}
]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)