Skip to main content
GET
Get a participant by ID

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

The ID of the resource to query by

Query Parameters

extendMetadata
boolean | null

If set to true, all available metadata is returned.

features
string | null

A comma-separated list of optional features to enable for the request. Each feature extends the response with additional fields or behaviors.

  • tags — Exposes operational tags (e.g. "injured", "deferral") on each entry, enabling filtering and segmentation in consuming systems.
  • gdpr_redacted — Indicates whether an entry has been redacted following a GDPR request, so consuming systems can suppress it accordingly.
  • boolean_value — Provides a parsed boolean representation of agreement, confirmation, and yes/no answers on Field entries, removing the need for client-side string normalization.
  • withdrawn_status — Returns the distinct "WITHDRAWN" status. When the feature is disabled, withdrawn entries are reported as "CANCELLED" for backwards compatibility.
  • status_details — Includes reasons and timestamps for status changes (deferrals, withdrawals, approval decisions), supporting audit trails and operational tooling.
  • race_day_details — Includes check-in time, waiver-signature time, and custom race-day fields.
  • result_submissions — Includes self-reported finish times (chip time and verification artifacts).
  • teams — Includes team membership, captain status, and team number, for team-based events.
  • waves — Includes start-wave assignments, for events that split the field into staggered starts.
Example:

"tags,waves"

Response

Default Response

A participant with optionally extended metadata. See ExtendedMetadata for more details.

id
string
required

A unique identifier. IDs should be treated as opaque string values but are guaranteed to represent a single, unique entity within Let's Do This.

Example:

"6399c20015d60ae3ff28f24c"

participantIndex
number
required

The index of this participant in the booking record. For example, if this participant is the first participant in the booking, this field will be 0.

Example:

0

bookingId
string
required

The unique identifier for the booking this participant was booked via.

Example:

"6399c20015d60ae3ff28f24c"

transactionId
string | null
required

The unique identifier for the transaction this booking was made via, if present.

Example:

"6399c20015d60ae3ff28f24e"

eventOccurrenceId
string
required

The unique identifier for the occurrence of the Event for which this participant is attending.

Example:

"6399c11c58f29f001ca95935"

eventId
string
required

The unique identifier of the Event.

Example:

"2365756"

raceId
string
required

The unique identifier for the race this booking was made for.

Example:

"3517846101"

ticketTitle
string
required

The title of the ticket booked by this participant.

Example:

"10k Standard Entry"

ticketId
string
required

The unique identifier for the ticket this booking was made for.

Example:

"6399c11c58f29f001ca95934"

createdAt
string
required

Represents a date and time in ISO 8601 format as a string.

The string should follow the format YYYY-MM-DDTHH:mm:ss.sssZ, where:

  • YYYY: Four-digit year
  • MM: Two-digit month (01-12)
  • DD: Two-digit day of the month (01-31)
  • T: Delimiter indicating the start of the time component
  • HH: Two-digit hour in 24-hour format (00-23)
  • mm: Two-digit minutes (00-59)
  • ss.sss: Seconds with milliseconds (00.000-59.999)
  • Z: UTC timezone designator

Example: To represent 11:30 AM on May 8th, 2026, the value would be: "2026-05-08T11:30:00.000Z".

Example:

"2026-05-08T11:30:00.000Z"

updatedAt
string
required

Represents a date and time in ISO 8601 format as a string.

The string should follow the format YYYY-MM-DDTHH:mm:ss.sssZ, where:

  • YYYY: Four-digit year
  • MM: Two-digit month (01-12)
  • DD: Two-digit day of the month (01-31)
  • T: Delimiter indicating the start of the time component
  • HH: Two-digit hour in 24-hour format (00-23)
  • mm: Two-digit minutes (00-59)
  • ss.sss: Seconds with milliseconds (00.000-59.999)
  • Z: UTC timezone designator

Example: To represent 11:30 AM on May 8th, 2026, the value would be: "2026-05-08T11:30:00.000Z".

Example:

"2026-05-08T11:30:00.000Z"

fields
Field · object[]
required

An array of Field objects containing participant data collected during booking. Includes standard fields (e.g., firstName, lastName, email, dateOfBirth, phone, status, address fields, emergency contact) and any custom fields defined by the organizer.

booker
Booker · object | null
required

Contact information for the person who made the booking, if the booking form was set up to allow a separate booker and participant. See Booker for more details.

Example:
originalTicketPrice
Price · object | null
required

The original price for the ticket this participant booked. See Price for more details.

incrementalStatus
enum<string>
required
Available options:
INCREMENTAL,
NON_INCREMENTAL,
PENDING,
UNSPECIFIED,
UNRECOGNIZED
bibNumber
string | null
required
bookingCodesUsed
object[]
required

Any discount codes applied at booking.

Example:
bookedAt
string
required

Represents a date and time in ISO 8601 format as a string.

The string should follow the format YYYY-MM-DDTHH:mm:ss.sssZ, where:

  • YYYY: Four-digit year
  • MM: Two-digit month (01-12)
  • DD: Two-digit day of the month (01-31)
  • T: Delimiter indicating the start of the time component
  • HH: Two-digit hour in 24-hour format (00-23)
  • mm: Two-digit minutes (00-59)
  • ss.sss: Seconds with milliseconds (00.000-59.999)
  • Z: UTC timezone designator

Example: To represent 11:30 AM on May 8th, 2026, the value would be: "2026-05-08T11:30:00.000Z".

Example:

"2026-05-08T11:30:00.000Z"

participantId
string
required

The participant's own identifier, stable across the registration records that refer to them. The import APIs match on this value wherever they accept a participantId.

Example:

"abed704b-76d0-4190-a0e7-95b1ec1e48fd"

notes
Note · object[]
required

Notes associated with this registration.

waves
Wave · object[]

Optional — opt in with ?features=waves. Available when the waves feature is enabled. See the "Optional features" section of the introduction.

The waves this participant is booked into, if applicable.

bookerType
enum<string> | null

The type of booker. This field will contain one of the following values:

  • INDIVIDUAL - the application is made on behalf on an individual, and should yield registrations 1:1
  • PARTNER - the application is made on behalf of a partner, or group, and could yield any number of registrations
Available options:
PARTNER,
INDIVIDUAL
reservedEntryUrl
string | null

Reserved entry booking URL: included if granted to the application.

partnerMarketingOptIns
PartnerMarketingOptIn · object[]

Marketing opt-ins given by booker.

tags
string[]

Optional — opt in with ?features=tags. Available when the tags feature is enabled. See the "Optional features" section of the introduction.

Tags attached to the application or participant.

Example:
gdprRedacted
boolean

Optional — opt in with ?features=gdpr_redacted. Available when the gdpr_redacted feature is enabled. See the "Optional features" section of the introduction.

Indicated whether the participant data has been redacted due to a GDPR request.

statusDetails
(DeferredStatusDetails · object | WithdrawnStatusDetails · object | ApprovalStatusDetails · object | CancelledStatusDetails · object)[]

Optional on participants — opt in with ?features=status_details. Applications include this field unconditionally; on participants it's available when the status_details feature is enabled. See the "Optional features" section of the introduction.

Status details of the booking.

A status detail indicating that the booking has been deferred.

Example:
tracking
object

Digital marketing tracking parameters.

applicationId
string | null

If the booking was generated via an application, the unique identifier for that application.

Example:

"6399c20015d60ae3ff28f24d"

raceDayDetails
RaceDayDetails · object | null

Optional — opt in with ?features=race_day_details. Available when the race_day_details feature is enabled. See the "Optional features" section of the introduction.

Race day additional details.

resultSubmission
ResultSubmission · object | null

Optional — opt in with ?features=result_submissions. Available when the result_submissions feature is enabled. See the "Optional features" section of the introduction.

Result submission details.

team
ParticipantTeam · object | null

Optional — opt in with ?features=teams. Available when the teams feature is enabled. See the "Optional features" section of the introduction.

Team details.

bookingSource
enum<string>

How this booking originated.

  • INTERNAL — booked through Let's Do This.
  • EXTERNAL — imported from a third-party platform.
  • API — imported by the organizer via the Public API.
Available options:
INTERNAL,
EXTERNAL,
API
eventName
string

Event name.

Example:

"City Sprint Challenge"

raceName
string

Race name.

raceStartDate
string

Represents a date and time in ISO 8601 format as a string.

The string should follow the format YYYY-MM-DDTHH:mm:ss.sssZ, where:

  • YYYY: Four-digit year
  • MM: Two-digit month (01-12)
  • DD: Two-digit day of the month (01-31)
  • T: Delimiter indicating the start of the time component
  • HH: Two-digit hour in 24-hour format (00-23)
  • mm: Two-digit minutes (00-59)
  • ss.sss: Seconds with milliseconds (00.000-59.999)
  • Z: UTC timezone designator

Example: To represent 11:30 AM on May 8th, 2026, the value would be: "2026-05-08T11:30:00.000Z".

Example:

"2026-05-08T11:30:00.000Z"

sportId
string

Sport ID.

distanceId
string

Distance ID.

distances
object[]

Distances.

disciplineLabel
string

Discipline label.

Example:

"Running"

course
object

Course details.

eventLocation
EventLocation · object

Event location

Example:
competitorSize
number

Estimated event size.

Example:

12293

reservedEntryGroupCode
string

Reserved entry group code.

Example:

"re_x-ga8ais3v4r"

reservedEntryGroupName
string

Reserved entry group name.

Example:

"Charity Entries"

reservedEntryPartnerExternalIds
PartnerExternalIds · object

External IDs of the partner. These can be configured in the event's settings if needed.

reservedEntryPartnerName
string

Name of the partner who owns the reserved entry.