GET /races/{id}/editions#
Version générique : tous les champs sont listés avec la formule minimale qui y donne accès (FREE, PRO, PARTNER). Envoyez votre clé API (
Authorization: Bearer th_live_…) ou connectez-vous à votre espace développeur pour obtenir la version personnalisée.
GET https://dev.trailhorizon.fr/api/v1/races/{id}/editions
Endpoint réservé aux formules PARTNER. Un compte qui n'y a pas droit reçoit
403 forbidden.
Historique des éditions par année et par format. Les formats archivés et les éditions brouillon (non confirmées) sont exclus ; années les plus récentes d'abord.
Paramètres#
| Paramètre | Emplacement | Type | Requis | Description |
|---|---|---|---|---|
id | chemin | string | oui | Identifiant de la course (id). |
Réponse 200#
Chaque clé n'est présente que si le champ correspondant est autorisé pour votre compte (formatId et name : formats.id, formats.name ; startAt, distance, elevation, price, currency : champs formats.* du même nom). status est toujours présent.
{
"data": {
"raceId": "clx1a2b3c0000abcd1234efgh",
"editions": [
{
"edition": "2027",
"year": 2027,
"formats": [
{
"formatId": "clx9z8y7x0001abcd5678ijkl",
"name": "Le Grand Tour",
"status": "CONFIRMED",
"startAt": "2027-06-12T05:00:00.000Z",
"distance": 52.4,
"elevation": 3100,
"price": 85,
"currency": "EUR"
},
{
"formatId": "clx9z8y7x0002abcd5678mnop",
"name": "La Petite Boucle",
"status": "CONFIRMED",
"startAt": "2027-06-12T08:30:00.000Z",
"distance": 21.2,
"elevation": 1100,
"price": 38,
"currency": "EUR"
}
]
},
{
"edition": "2026",
"year": 2026,
"formats": [
{
"formatId": "clx9z8y7x0001abcd5678ijkl",
"name": "Le Grand Tour",
"status": "DONE",
"startAt": "2026-06-13T05:00:00.000Z",
"distance": 51.8,
"elevation": 3050,
"price": 80,
"currency": "EUR"
}
]
}
]
}
}
Exemple#
curl -H "Authorization: Bearer th_live_VOTRE_CLE" \
"https://dev.trailhorizon.fr/api/v1/races/clx1a2b3c0000abcd1234efgh/editions"
Erreurs#
| Statut | Code | Signification |
|---|---|---|
| 401 | missing_api_key | Header Authorization absent. |
| 401 | invalid_api_key | Clé mal formée ou inconnue. |
| 401 | api_key_revoked | Clé révoquée. |
| 403 | account_suspended / account_revoked | Compte suspendu ou révoqué. |
| 403 | tos_not_accepted / tos_outdated | Conditions d'utilisation de l'API non acceptées, ou à accepter de nouveau. |
| 403 | forbidden | L'historique des éditions n'est pas disponible pour votre formule. |
| 404 | not_found | Course inconnue, non publiée ou masquée. |
| 429 | rate_limit_exceeded | Trop de requêtes dans la minute. Voir Retry-After. |
| 429 | daily_quota_exceeded | Quota journalier atteint. Voir Retry-After. |
| 500 |

