List events
GET /events
Requires the events:read permission. Returns records belonging to the authenticated organisation, including unpublished or inactive records unless filtered.
Authorization
X-API-Key required
Parameters
| Name | Location | Type | Required | Default | Limits | Description |
|---|---|---|---|---|---|---|
page | query | integer | No | 1 | min 1, max 1000000 | Page number |
limit | query | integer | No | 10 | min 1, max 100 | Results per page |
status | query | draft, published, unlisted, cancelled | No | Exact stored event status | ||
audience | query | members, public | No | Event audience | ||
slug | query | string | No | min length 1, max length 200 | Exact event slug | |
startsAfter | query | string (date-time) | No | Inclusive lower bound on startsAt | ||
startsBefore | query | string (date-time) | No | Inclusive upper bound on startsAt | ||
updatedSince | query | string (date-time) | No | Inclusive ISO 8601 lower bound on updatedAt | ||
createdAfter | query | string (date-time) | No | Inclusive ISO 8601 lower bound on createdAt | ||
createdBefore | query | string (date-time) | No | Inclusive ISO 8601 upper bound on createdAt | ||
search | query | string | No | max length 200 | Case-insensitive literal search over name, slug |
Data and reconciliation
Amounts use major currency units (for example, GBP 25.50 is returned as 25.5). Currency codes are lowercase. Relationship fields contain RemyPass record IDs; use the matching get endpoint to fetch related records. Optional relationships and dates may be absent or null. Checkout tokens, internal metadata, payment-provider credentials and worker leases are excluded.
List responses sort by updatedAt ascending, then _id ascending. Keep the same filters while paging. updatedSince is inclusive and requires a timezone. See incremental sync for overlap, deduplication and deletion handling.
Request Examples
curl -X GET "https://api.remypass.com/api/v1/public/events" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"Responses
| Status | Description |
|---|---|
200 | Success |
400 | Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details. |
401 | Missing or invalid API key. |
403 | The caller is not allowed to access this resource. |
429 | Rate limit exceeded. |
500 | Server error. |
200 Response Example
{
"success": true,
"message": "Success",
"data": [
{
"_id": "507f1f77bcf86cd799439011",
"createdAt": "2026-10-06T12:00:00.000Z",
"updatedAt": "2026-10-06T12:00:00.000Z",
"name": "Example",
"slug": "example",
"description": "",
"imageUrl": "https://example.com/webhook",
"startsAt": "2026-10-06T12:00:00.000Z",
"endsAt": "2026-10-06T12:00:00.000Z",
"timezone": "example",
"location": {
"addressLine1": "example",
"addressLine2": "example",
"city": "example",
"region": "example",
"postalCode": "example",
"country": "example",
"what3words": "example"
},
"ticketPrice": {
"amount": 0,
"currency": "gbp"
},
"ticketPricingMode": "single",
"ticketPricingOptions": [
{
"id": "example",
"label": "example",
"description": "example",
"_id": "507f1f77bcf86cd799439011",
"price": {}
}
],
"ticketPolicy": "free_required",
"issueDigitalPass": true,
"ticketCapacity": 1,
"registrationEndsAt": "2026-10-06T12:00:00.000Z",
"audience": "members",
"status": "draft"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 5,
"totalItems": 47,
"itemsPerPage": 10,
"hasNextPage": true,
"hasPrevPage": false
}
}
Response Fields
| Field | Type | Description | Attributes |
|---|---|---|---|
success | boolean | ||
message | string | ||
data | array of object | Show child attributes
| |
pagination | object | Show child attributes
|