Intervals Developers
API Reference
Sign inGet API key
IntroductionAuthenticationErrorsPaginationRate LimitsIdempotency

Endpoints

GETYour organizationGETAll eventsGETRetrieve an eventPOSTCreate an eventGETAll registrationsPOSTRegister a participantGETAll recurrencesGETAll groupsGETRetrieve a groupGETEvents in a group
Changelog
Sign inGet API key

Endpoints

Register a participant

Sign up a participant for an event run. The event is derived from the event run ID.

POST/registration
curl -X POST https://api.intervals.run/registration \
  -H "Authorization: Bearer INTERVALS_PARTNER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "eventRunId": "r41abc567def890",
    "email": "runner@example.com",
    "name": "Alex Johnson",
    "registrationType": "free",
    "status": "confirmed"
  }'

Headers

Content-Typestringrequired

Must be application/json.

Idempotency-Keystring

Unique key to prevent duplicate creation on retry. UUID recommended.

Request Body

application/json

eventRunIdstringrequired

ID of the event run (distance) to register for

emailstringrequired

Participant email address

namestring

Participant display name

registrationTypeenum<string>required

Registration type

Available options: free,paid

statusenum<string>required

Registration status (defaults to confirmed)

Available options: confirmed,cancelled,waitlist,refunded

paceGroupstring

Pace group assignment

notesstring

Additional notes

Authorization

write:participants
{
  "data": {
    "participantId": "p89xyz345uvw678"
  }
}
All registrationsAll recurrences

Request

curl -X POST https://api.intervals.run/registration \
  -H "Authorization: Bearer INTERVALS_PARTNER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "eventRunId": "r41abc567def890",
    "email": "runner@example.com",
    "name": "Alex Johnson",
    "registrationType": "free",
    "status": "confirmed"
  }'

Response

{
  "data": {
    "participantId": "p89xyz345uvw678"
  }
}