Skip to content

Race Data

Read a race's crew access points and drive times

Crew access points, the organizer's drive-time matrix and routed station-to-station drives, in the shape Endurance HQ sends Crewable. Event-wide. No key.

Method

GET

Path

/api/public/v1/events/{idOrSlug}/crew-logistics

Authentication

None. Served from https://www.endurancehq.app with open CORS.

Caching

CDN 5 minutes, purged when the organizer edits crew access.

Request

curl "https://www.endurancehq.app/api/public/v1/events/{idOrSlug}/crew-logistics"

Path parameters

idOrSlugstring, required

Response

Success status: 200

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "timezone": {
          "description": "IANA zone the race's wall-clock times are stated in.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "slug",
        "name",
        "timezone"
      ],
      "additionalProperties": false
    },
    "crewAccessPoints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ehqAccessPointId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          },
          "vehicleRequirement": {
            "type": [
              "string",
              "null"
            ]
          },
          "parkingNotes": {
            "type": [
              "string",
              "null"
            ]
          },
          "accessRules": {
            "type": [
              "string",
              "null"
            ]
          },
          "googleMapsUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventLocationId": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventLocationName": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventLocationLat": {
            "type": [
              "number",
              "null"
            ]
          },
          "eventLocationLng": {
            "type": [
              "number",
              "null"
            ]
          },
          "displayOrder": {
            "type": "number"
          },
          "aidStationLinks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ehqAidStationId": {
                  "type": "string"
                },
                "aidStationName": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "relationship": {
                  "type": "string",
                  "enum": [
                    "serves",
                    "walk_in_to",
                    "staging_for",
                    "primary"
                  ]
                }
              },
              "required": [
                "ehqAidStationId",
                "aidStationName",
                "relationship"
              ],
              "additionalProperties": false
            }
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "standing": {
                  "description": "What they are to the race, such as \"2025 finisher, Sunlight aid station volunteer\".",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "credit": {
                  "type": "string",
                  "description": "The credit line to show: \"Course notes by Jackson Strand, 2025 finisher, Sunlight aid station volunteer\"."
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Fields their published corrections changed, such as crewNotes or durationMinutes."
                }
              },
              "required": [
                "name",
                "standing",
                "credit",
                "fields"
              ],
              "additionalProperties": false,
              "description": "Someone whose correction the race organizer reviewed and published."
            },
            "description": "People whose published corrections this item carries; credit them where it is shown."
          }
        },
        "required": [
          "ehqAccessPointId",
          "name",
          "type",
          "description",
          "lat",
          "lng",
          "vehicleRequirement",
          "parkingNotes",
          "accessRules",
          "googleMapsUrl",
          "eventLocationId",
          "eventLocationName",
          "eventLocationLat",
          "eventLocationLng",
          "displayOrder",
          "aidStationLinks",
          "contributors"
        ],
        "additionalProperties": false
      }
    },
    "crewDriveTimes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ehqDriveTimeId": {
            "type": "string"
          },
          "fromAccessPointId": {
            "type": "string"
          },
          "fromAccessPointName": {
            "type": [
              "string",
              "null"
            ]
          },
          "toAccessPointId": {
            "type": "string"
          },
          "toAccessPointName": {
            "type": [
              "string",
              "null"
            ]
          },
          "routeName": {
            "type": [
              "string",
              "null"
            ]
          },
          "durationMinutes": {
            "type": "number"
          },
          "roadSurface": {
            "type": [
              "string",
              "null"
            ]
          },
          "vehicleRequirement": {
            "type": [
              "string",
              "null"
            ]
          },
          "routeNotes": {
            "type": [
              "string",
              "null"
            ]
          },
          "googleMapsUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "displayOrder": {
            "type": "number"
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "standing": {
                  "description": "What they are to the race, such as \"2025 finisher, Sunlight aid station volunteer\".",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "credit": {
                  "type": "string",
                  "description": "The credit line to show: \"Course notes by Jackson Strand, 2025 finisher, Sunlight aid station volunteer\"."
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Fields their published corrections changed, such as crewNotes or durationMinutes."
                }
              },
              "required": [
                "name",
                "standing",
                "credit",
                "fields"
              ],
              "additionalProperties": false,
              "description": "Someone whose correction the race organizer reviewed and published."
            },
            "description": "People whose published corrections this item carries; credit them where it is shown."
          }
        },
        "required": [
          "ehqDriveTimeId",
          "fromAccessPointId",
          "fromAccessPointName",
          "toAccessPointId",
          "toAccessPointName",
          "routeName",
          "durationMinutes",
          "roadSurface",
          "vehicleRequirement",
          "routeNotes",
          "googleMapsUrl",
          "displayOrder",
          "contributors"
        ],
        "additionalProperties": false
      },
      "description": "The organizer's own drive-time matrix between access points."
    },
    "stationDriveLegs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fromAidStationId": {
            "type": "string"
          },
          "fromAidStationName": {
            "type": [
              "string",
              "null"
            ]
          },
          "toAidStationId": {
            "type": "string"
          },
          "toAidStationName": {
            "type": [
              "string",
              "null"
            ]
          },
          "durationMinutes": {
            "type": "number"
          },
          "distanceMiles": {
            "type": [
              "number",
              "null"
            ]
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "standing": {
                  "description": "What they are to the race, such as \"2025 finisher, Sunlight aid station volunteer\".",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "credit": {
                  "type": "string",
                  "description": "The credit line to show: \"Course notes by Jackson Strand, 2025 finisher, Sunlight aid station volunteer\"."
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Fields their published corrections changed, such as crewNotes or durationMinutes."
                }
              },
              "required": [
                "name",
                "standing",
                "credit",
                "fields"
              ],
              "additionalProperties": false,
              "description": "Someone whose correction the race organizer reviewed and published."
            },
            "description": "People whose published corrections this item carries; credit them where it is shown."
          }
        },
        "required": [
          "fromAidStationId",
          "fromAidStationName",
          "toAidStationId",
          "toAidStationName",
          "durationMinutes",
          "distanceMiles",
          "contributors"
        ],
        "additionalProperties": false
      },
      "description": "Routed drives between stations; prefer crewDriveTimes where the organizer wrote one."
    },
    "attribution": {
      "type": "object",
      "properties": {
        "provider": {
          "type": "string",
          "const": "Endurance HQ"
        },
        "eventUrl": {
          "type": "string",
          "description": "The race's official site; link it wherever the data is shown."
        },
        "contributors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "standing": {
                "description": "What they are to the race, such as \"2025 finisher, Sunlight aid station volunteer\".",
                "type": [
                  "string",
                  "null"
                ]
              },
              "credit": {
                "type": "string",
                "description": "The credit line to show: \"Course notes by Jackson Strand, 2025 finisher, Sunlight aid station volunteer\"."
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fields their published corrections changed, such as crewNotes or durationMinutes."
              }
            },
            "required": [
              "name",
              "standing",
              "credit",
              "fields"
            ],
            "additionalProperties": false,
            "description": "Someone whose correction the race organizer reviewed and published."
          },
          "description": "Everyone whose course corrections the organizer published for this race."
        }
      },
      "required": [
        "provider",
        "eventUrl",
        "contributors"
      ],
      "additionalProperties": false,
      "description": "Who to credit wherever this data is shown."
    }
  },
  "required": [
    "event",
    "crewAccessPoints",
    "crewDriveTimes",
    "stationDriveLegs",
    "attribution"
  ],
  "additionalProperties": false
}