Intervals Developers
API Reference
Sign inGet API key
IntroductionAuthenticationErrorsPaginationRate LimitsIdempotency

Endpoints

GETYour organizationGETAll eventsGETRetrieve an eventPOSTCreate an eventGETAll registrationsPOSTRegister a participantGETAll recurrencesGETAll collectionsGETRetrieve a collectionGETEvents in a collection
Changelog
Sign inGet API key

Endpoints

All recurrences

Retrieve a list of recurrence schedules attached to your organization's events. A recurrence describes how a parent event repeats — a weekly parkrun, a club's tempo night, a monthly long run — and is the source of truth for auto-publishing future event runs.

GET/recurrences
curl -H "Authorization: Bearer INTERVALS_PARTNER_API_KEY" \
  https://api.intervals.run/recurrences?status=active&limit=20

Query Parameters

limitnumber

Maximum number of recurrences to return (1-100)

statusenum<string>

Filter by lifecycle status

Available options: active,paused,archived

Authorization

read:recurrences

Response

idstringrequired

Recurrence ID

eventIdstringrequired

Parent event ID

labelstring

Human-readable label (e.g. 'Tuesday tempo')

scheduleobjectrequired

Recurrence schedule

statusenum<string>required

Lifecycle status

Available options: active,paused,archived

{
  "data": [
    {
      "id": "rc91abc234def567",
      "eventId": "e72tuv901wxy234",
      "label": "Saturday parkrun",
      "schedule": {
        "frequency": "weekly",
        "daysOfWeek": [
          6
        ],
        "startTime": "09:00",
        "durationMinutes": 60
      },
      "status": "active"
    }
  ]
}

What you can build

Register a participantAll collections

Request

curl -H "Authorization: Bearer INTERVALS_PARTNER_API_KEY" \
  https://api.intervals.run/recurrences?status=active&limit=20

Response

{
  "data": [
    {
      "id": "rc91abc234def567",
      "eventId": "e72tuv901wxy234",
      "label": "Saturday parkrun",
      "schedule": {
        "frequency": "weekly",
        "daysOfWeek": [
          6
        ],
        "startTime": "09:00",
        "durationMinutes": 60
      },
      "status": "active"
    }
  ]
}