curl --request POST \
--url https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "runner@example.com"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'runner@example.com'})
};
fetch('https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status"
payload = { "email": "runner@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"eventOccurrenceId": "12345678901",
"registered": true
}{
"statusCode": 400,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 401,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 403,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 404,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 429,
"error": "<string>",
"message": "<string>"
}Check whether an email is registered
Answers whether an email address holds a confirmed place in the event occurrence.
Built for partners who need a yes/no at the point of sale — a sponsor validating a participant discount, for example — without access to any participant data. The response carries only the occurrence id and the answer, and an email that is not registered (or has never been seen) is simply false.
Only entries with a confirmed status count. Pending payment, deferred, withdrawn, cancelled, refunded and transferred entries answer false.
Send the email in the request body, not the URL. Matching is case-insensitive and ignores surrounding whitespace.
Supports scoped API keys: this is the registrationStatus endpoint, and it reads the occurrence from the path. A key limited by endpoint must include registrationStatus; a key limited by occurrence must include the occurrence in the path; a key limited by both must satisfy both.
This endpoint is rate limited per API key in two ways: a burst limit of a few requests per second, and a daily quota that bounds what one key can look up in 24 hours. Exceeding either answers 429; the burst limit includes a retry-after header.
curl --request POST \
--url https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "runner@example.com"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'runner@example.com'})
};
fetch('https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/event-occurrences/{id}/registration-status"
payload = { "email": "runner@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"eventOccurrenceId": "12345678901",
"registered": true
}{
"statusCode": 400,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 401,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 403,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 404,
"error": "<string>",
"message": "<string>"
}{
"statusCode": 429,
"error": "<string>",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the event occurrence to query by.
Body
Ask whether an email address is registered for an event occurrence.
The participant's email address as entered at registration. Matching is case-insensitive and ignores surrounding whitespace.
254"runner@example.com"
Response
Default Response
Whether an email address holds a confirmed place in an event occurrence. Deliberately carries nothing about the participant beyond the answer.
The event occurrence the answer is for.
"12345678901"
true when the email holds at least one confirmed entry in the occurrence. Pending, deferred, withdrawn, cancelled, refunded and transferred entries do not count, and an email we have never seen is simply false.
Was this page helpful?

