List an event's participants
/v1/events/{id}/participantsThe event's roster, oldest first — the same order as the inline roster on GET /v1/events/{id}, and the UNCAPPED read. The inline roster stops at 500 and reports the true total in participant_count; this endpoint pages through all of them. On the roster by default; ?include=removed adds participants who have left or been removed, each carrying a non-null removed_at. Cursor pagination: pass starting_after = the id of the last participant. Returns 404 if the id is not an event of the club tied to your API key — never an empty list, which would read as an event nobody signed up for.
Authorization
bearerAuth Your club API key. Send it as Authorization: Bearer oc_live_….
In: header
Path Parameters
The event id.
Query Parameters
Number of results, 1–100 (default 25).
1 <= value <= 100Cursor — the id of the last participant on the previous page.
Comma-separated. removed adds participants who have left.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.getopencourt.com/v1/events/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d/participants"{
"object": "list",
"data": [
{
"id": "d4e5f6a7-8b9c-4d0e-a1f2-3b4c5d6e7f80",
"object": "participant",
"event_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"first_name": "Jordan",
"last_name": "Reyes",
"email": "jordan@example.com",
"customer_id": "3f29c4a1-7b6d-4e52-9c81-2a4b6d8e0f13",
"check_in_status": "checked_in",
"removed_at": null,
"updated_at": "2026-06-14T17:03:10.000Z"
}
],
"has_more": true,
"url": "string"
}{
"error": {
"type": "string",
"code": "string",
"message": "string",
"param": "string",
"request_id": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string",
"param": "string",
"request_id": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string",
"param": "string",
"request_id": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string",
"param": "string",
"request_id": "string"
}
}