Skip to content

Schedule

List schedule items

List schedule items for an authorized event, including internal operations items. Times are event-local wall-clock values paired with an IANA timezone.

Method

GET

Path

/v1/schedule-items

Required scope

schedule:read

Request

curl -X GET "https://api.endurancehq.app/v1/schedule-items" \
  -H "Authorization: Bearer $EHQ_API_KEY"

Query schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "eventId": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "eventId"
  ],
  "additionalProperties": false
}

Response

Success status: 200

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "eventTitle": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "startTimeLocal": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"
          },
          "endTimeLocal": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "timezone": {
            "type": "string"
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "pre_race",
              "race",
              "post_race",
              "other"
            ]
          },
          "allDay": {
            "type": "boolean"
          },
          "pinScope": {
            "type": "string",
            "enum": [
              "none",
              "day",
              "all_days"
            ]
          },
          "featured": {
            "type": "boolean"
          },
          "audienceTags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "raceOptionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "order": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "signupUrl": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "routeUrl": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "routeMapView": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "provider",
                  "ours"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "routeLabel": {
            "type": [
              "string",
              "null"
            ]
          },
          "routeOptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "startTimeLocal": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "location": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "routeUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "uri"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "routeMapView": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "provider",
                        "ours"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "label",
                "startTimeLocal",
                "location",
                "routeUrl",
                "routeMapView"
              ],
              "additionalProperties": false
            }
          },
          "carpool": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "label": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "label"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "goingCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "attendedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "participationMode": {
            "type": "string",
            "enum": [
              "none",
              "interest",
              "rsvp",
              "registration"
            ]
          },
          "participationSpots": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "participationShowRoster": {
            "type": "boolean"
          },
          "participationRaceOptionId": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "eventId",
          "eventTitle",
          "title",
          "description",
          "startTimeLocal",
          "endTimeLocal",
          "timezone",
          "location",
          "address",
          "category",
          "allDay",
          "pinScope",
          "featured",
          "audienceTags",
          "raceOptionIds",
          "order",
          "signupUrl",
          "routeUrl",
          "routeMapView",
          "routeLabel",
          "routeOptions",
          "carpool",
          "goingCount",
          "attendedCount",
          "participationMode",
          "participationSpots",
          "participationShowRoster",
          "participationRaceOptionId",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}

Other surfaces

CLI: ehq schedule list --event <event_id>

MCP tool: ehq_schedule_items_list