Sports¶
- GET /api/sports¶
Obtenir tous les sports.
Un utilisateur suspendu peut accéder à ce point d’accès.
Scope :
workouts:read
Exemple de requête :
GET /api/sports HTTP/1.1 Content-Type: application/json
Exemple de réponse :
pour un utilisateur non admin :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": [ { "color": null, "id": 1, "is_active": true, "is_active_for_user": true, "label": "Cycling (Sport)", "stopped_speed_threshold": 1 }, { "color": null, "id": 2, "is_active": true, "is_active_for_user": true, "label": "Cycling (Transport)", "stopped_speed_threshold": 1 }, { "color": null, "id": 3, "is_active": true, "is_active_for_user": true, "label": "Hiking", "stopped_speed_threshold": 0.1 }, { "color": null, "id": 4, "is_active": true, "is_active_for_user": true, "label": "Mountain Biking", "stopped_speed_threshold": 1 }, { "color": null, "id": 5, "is_active": true, "is_active_for_user": true, "label": "Running", "stopped_speed_threshold": 0.1 }, { "color": null, "id": 6, "is_active": true, "is_active_for_user": true, "label": "Walking", "stopped_speed_threshold": 0.1 } ] }, "status": "success" }
pour un utilisateur admin et check_workouts=true :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": [ { "color": null, "has_workouts": true, "id": 1, "is_active": true, "is_active_for_user": true, "label": "Cycling (Sport)", "stopped_speed_threshold": 1 }, { "color": null, "has_workouts": false, "id": 2, "is_active": true, "is_active_for_user": true, "label": "Cycling (Transport)", "stopped_speed_threshold": 1 }, { "color": null, "has_workouts": false, "id": 3, "is_active": true, "is_active_for_user": true, "label": "Hiking", "stopped_speed_threshold": 0.1 }, { "color": null, "has_workouts": false, "id": 4, "is_active": true, "is_active_for_user": true, "label": "Mountain Biking", "stopped_speed_threshold": 1 }, { "color": null, "has_workouts": false, "id": 5, "is_active": true, "is_active_for_user": true, "label": "Running", "stopped_speed_threshold": 0.1 }, { "color": null, "has_workouts": false, "id": 6, "is_active": true, "is_active_for_user": true, "label": "Walking", "stopped_speed_threshold": 0.1 } ] }, "status": "success" }
- Paramètres de requête:
check_workouts (boolean) – vérifier si le sport est associé à des séances
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer” si l’utilisateur est authentifié
- Codes d’état:
200 OK –
success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
- GET /api/sports/(int: sport_id)¶
Obtenir un sport
Scope :
workouts:read
Exemple de requête :
GET /api/sports/1 HTTP/1.1 Content-Type: application/json
Exemple de réponse :
succès pour un utilisateur non admin :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": [ { "color": null, "id": 1, "is_active": true, "is_active_for_user": true, "label": "Cycling (Sport)", "stopped_speed_threshold": 1 } ] }, "status": "success" }
sport non trouvé :
HTTP/1.1 404 NOT FOUND Content-Type: application/json { "data": { "sports": [] }, "status": "not found" }
- Paramètres:
sport_id (integer) – identifiant du sport
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK –
success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions, your account is suspended
404 Not Found –
sport not found
- PATCH /api/sports/(int: sport_id)¶
Modifier un sport.
L’utilisateur authentifié doit avoir des droits d’administration.
Scope :
workouts:write
Rôle minimum: Administrateur
Exemple de requête :
PATCH /api/sports/1 HTTP/1.1 Content-Type: application/json
Exemple de réponses :
succès :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": [ { "color": null, "has_workouts": false, "id": 1, "is_active": false, "is_active_for_user": false, "label": "Cycling (Sport)", "stopped_speed_threshold": 1 } ] }, "status": "success" }
sport non trouvé :
HTTP/1.1 404 NOT FOUND Content-Type: application/json { "data": { "sports": [] }, "status": "not found" }
- Paramètres:
sport_id (integer) – identifiant du sport
- Objet JSON de requête:
is_active (string) – état d’activation du sport
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK – sport mis à jour
invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions
you do not have permissions, your account is suspended
404 Not Found –
sport not found
500 Internal Server Error –
error, please try again or contact the administrator