Statistics#
- GET /api/stats/(user_name)/by_time#
Get workouts statistics for a user by time.
Scope:
workouts:read
Example requests:
without parameters
GET /api/stats/admin/by_time HTTP/1.1
with parameters
GET /api/stats/admin/by_time?from=2018-01-01&to=2018-06-30&time=week HTTP/1.1
Example responses:
success
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "2017": { "3": { "average_speed": 4.48, "nb_workouts": 2, "total_ascent": 203.0, "total_ascent": 156.0, "total_distance": 15.282, "total_duration": 12341 } }, "2019": { "1": { "average_speed": 16.99, "nb_workouts": 3, "total_ascent": 150.0, "total_ascent": 178.0, "total_distance": 47, "total_duration": 9960 }, "2": { "average_speed": 15.95, "nb_workouts": 1, "total_ascent": 46.0, "total_ascent": 78.0, "total_distance": 5.613, "total_duration": 1267 } } } }, "status": "success" }
no workouts
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": {} }, "status": "success" }
- Paramètres:
user_name (integer) – username
- Paramètres de requête:
from (string) – start date (format:
%Y-%m-%d
)to (string) – end date (format:
%Y-%m-%d
)time (string) –
time frame:
week
: week starting Sundayweekm
: week starting Mondaymonth
: monthyear
: year (default)
- En-têtes de requête:
Authorization – OAuth 2.0 Bearer Token
- Status Codes:
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
user does not exist
- GET /api/stats/(user_name)/by_sport#
Get workouts statistics for a user by sport.
Scope:
workouts:read
Example requests:
without parameters (get stats for all sports with workouts)
GET /api/stats/admin/by_sport HTTP/1.1
with sport id
GET /api/stats/admin/by_sport?sport_id=1 HTTP/1.1
Example responses:
success
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "1": { "average_speed": 16.99, "nb_workouts": 3, "total_ascent": 150.0, "total_ascent": 178.0, "total_distance": 47, "total_duration": 9960 }, "2": { "average_speed": 15.95, "nb_workouts": 1, "total_ascent": 46.0, "total_ascent": 78.0, "total_distance": 5.613, "total_duration": 1267 }, "3": { "average_speed": 4.46, "nb_workouts": 2, "total_ascent": 203.0, "total_ascent": 156.0, "total_distance": 15.282, "total_duration": 12341 } } }, "status": "success" }
no workouts
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": {} }, "status": "success" }
- Paramètres:
user_name (integer) – username
- Paramètres de requête:
sport_id (integer) – sport id
- En-têtes de requête:
Authorization – OAuth 2.0 Bearer Token
- Status Codes:
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
user does not exist
sport does not exist
- GET /api/stats/all#
Get all application statistics.
Scope:
workouts:read
Example requests:
GET /api/stats/all HTTP/1.1
Example responses:
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": 3, "uploads_dir_size": 1000, "users": 2, "workouts": 3, }, "status": "success" }
- En-têtes de requête:
Authorization – OAuth 2.0 Bearer Token
- Status Codes:
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden – you do not have permissions