curl --request GET \
--url https://api.letsdothis.com/v0/event-occurrences \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/event-occurrences', 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"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "66a2b3c4d5e6f708192a3b4c",
"title": "City River Run",
"titleByLocale": {
"en-US": "City River Run"
},
"tags": [
"running",
"10k",
"road"
],
"content": {
"excerpt": "A fast, welcoming city run along the riverfront.",
"courseDetails": "A mostly flat, single-loop course on closed roads.",
"racedayLogistics": "Packet pickup opens at 6:30 AM near the start line."
},
"startDate": "2026-10-18",
"location": {
"coordinates": {
"latitude": 45.5152,
"longitude": -122.6784
},
"address": {
"city": "Portland",
"formatted": "Riverfront Park, Portland, OR, USA",
"countryCode": "US",
"countryName": "United States",
"countyLine": "Multnomah County",
"postCode": "97204"
}
},
"images": {
"hero": "https://images.letsdothis.com/events/city-river-run/hero.jpg",
"logo": "https://images.letsdothis.com/events/city-river-run/logo.png",
"all": [
"https://images.letsdothis.com/events/city-river-run/course.jpg"
]
},
"priceRange": {
"min": {
"value": 6500,
"currencyCode": "USD"
},
"max": {
"value": 8500,
"currencyCode": "USD"
}
}
}
],
"page": {
"totalResults": 506,
"first": "eyJpZCI6IjYzOTljMjAwMTVkNjBhZTNmZjI4ZjI0YyIsInVwZGF0ZWRBdCI6IjIwMjItMTItMTRUMTI6MzA6NTkuMjE3WiJ9",
"last": "eyJpZCI6IjY1NGNkZDIxZDlhMTU3ODdiNzFkMTM0YSIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNzI0WiJ9",
"prev": "",
"next": "eyJpZCI6IjY0NzBkNTkwM2RjOWE5OWJhMTA0Y2ZhYiIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNjE4WiJ9"
}
}List event occurrences
Returns a paginated list of event occurrences owned by your account.
Results are scoped to the organizer associated with your Public API credentials, so the per-item organizer block from the marketplace events endpoint is omitted.
Published and draft occurrences are both returned, discoverable or not, and past dates are included however old. The only occurrences omitted are those with no start date, which this response has no shape for.
curl --request GET \
--url https://api.letsdothis.com/v0/event-occurrences \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/event-occurrences', 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"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "66a2b3c4d5e6f708192a3b4c",
"title": "City River Run",
"titleByLocale": {
"en-US": "City River Run"
},
"tags": [
"running",
"10k",
"road"
],
"content": {
"excerpt": "A fast, welcoming city run along the riverfront.",
"courseDetails": "A mostly flat, single-loop course on closed roads.",
"racedayLogistics": "Packet pickup opens at 6:30 AM near the start line."
},
"startDate": "2026-10-18",
"location": {
"coordinates": {
"latitude": 45.5152,
"longitude": -122.6784
},
"address": {
"city": "Portland",
"formatted": "Riverfront Park, Portland, OR, USA",
"countryCode": "US",
"countryName": "United States",
"countyLine": "Multnomah County",
"postCode": "97204"
}
},
"images": {
"hero": "https://images.letsdothis.com/events/city-river-run/hero.jpg",
"logo": "https://images.letsdothis.com/events/city-river-run/logo.png",
"all": [
"https://images.letsdothis.com/events/city-river-run/course.jpg"
]
},
"priceRange": {
"min": {
"value": 6500,
"currencyCode": "USD"
},
"max": {
"value": 8500,
"currencyCode": "USD"
}
}
}
],
"page": {
"totalResults": 506,
"first": "eyJpZCI6IjYzOTljMjAwMTVkNjBhZTNmZjI4ZjI0YyIsInVwZGF0ZWRBdCI6IjIwMjItMTItMTRUMTI6MzA6NTkuMjE3WiJ9",
"last": "eyJpZCI6IjY1NGNkZDIxZDlhMTU3ODdiNzFkMTM0YSIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNzI0WiJ9",
"prev": "",
"next": "eyJpZCI6IjY0NzBkNTkwM2RjOWE5OWJhMTA0Y2ZhYiIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNjE4WiJ9"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Minimum start date filter (inclusive) in YYYY-MM-DD format
Maximum start date filter (inclusive) in YYYY-MM-DD format
Minimum last modified timestamp filter (inclusive) in ISO 8601 format
Maximum last modified timestamp filter (inclusive) in ISO 8601 format
The number of entries to return per page. Range between 1 - 200, defaults to 100.
1 <= x <= 200Accepts an existing page cursor to return results after it. For more details see the definition of PageCursor in the response.
Accepts an existing page cursor to return results before it. For more details see the definition of PageCursor in the response.
Maximum number of results to return. Use page[size] instead.
1 <= x <= 200Cursor to paginate through results before a given value. Use page[before] instead.
Cursor to paginate through results after a given value. Use page[after] instead.
Response
Default Response
A paginated list of an organizer's event occurrence summaries.
Show child attributes
Show child attributes
Cursor details for pagination.
- In scenarios with large amounts of data, it's common to return only a subset of data in a single request, known as a "page".
- Most API responses include two objects: a 'data' object with the query results, and a 'PageCursor' object detailing the current page.
- Cursors can be used to navigate to earlier or later pages in the set of results. For instance, passing the 'next' cursor from 'PageCursor' fetches the next set of results.
- Cursors are base64 encoded strings.
Show child attributes
Show child attributes
{
"totalResults": 506,
"first": "eyJpZCI6IjYzOTljMjAwMTVkNjBhZTNmZjI4ZjI0YyIsInVwZGF0ZWRBdCI6IjIwMjItMTItMTRUMTI6MzA6NTkuMjE3WiJ9",
"last": "eyJpZCI6IjY1NGNkZDIxZDlhMTU3ODdiNzFkMTM0YSIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNzI0WiJ9",
"prev": "",
"next": "eyJpZCI6IjY0NzBkNTkwM2RjOWE5OWJhMTA0Y2ZhYiIsInVwZGF0ZWRBdCI6IjIwMjMtMTEtMTNUMTU6MTE6MTIuNjE4WiJ9"
}
Was this page helpful?

