Bilans
2 routes
GET /bilans
Bilans with their measurements. Never the medical block nor the photos.
- Périmètre bilans:read
- 1 crédit
- Lecture
- Stable
Paramètres
| Nom | Type | Description |
|---|---|---|
limitquery | integer1–200, default 50 | |
cursorquery | string | Opaque cursor: next_cursor of the previous page. |
sincequery | date-time | ISO 8601. Returns the objects with updated_at >= since. |
include_deletedquery | booleandefault false | |
student_idquery | integer≥ 1 | |
tagquery | string | |
statusquery | stringparmi : PENDING, DONE | Only this status: PENDING or DONE. |
curl "https://api.fitdistance.io/api/partner/v1/bilans?limit=50" \
-H "Authorization: Bearer fd_live_xxxxxxxx"200 · une page de Bilan
{
"data": [
{
"id": 4821,
"student_id": 4821,
"coach_id": 4821,
"status": "PENDING",
"is_initial": true,
"created_by": "student",
"submitted_at": "2026-10-24T09:12:00Z",
"treated_at": "2026-10-24T09:12:00Z",
"goal": "performance",
"measurements": {
"bodyweight_kg": 72.5,
"bodyfat_percent": 72.5,
"waist_cm": 72.5,
"chest_cm": 72.5,
"hips_cm": 72.5,
"neck_cm": 72.5,
"shoulders_cm": 72.5,
"glutes_cm": 72.5,
"arms_left_cm": 72.5,
"arms_right_cm": 72.5,
"forearms_left_cm": 72.5,
"forearms_right_cm": 72.5,
"thighs_left_cm": 72.5,
"thighs_right_cm": 72.5,
"calfs_left_cm": 72.5,
"calfs_right_cm": 72.5
},
"comments_count": 3,
"updated_at": "2026-10-24T09:12:00Z"
}
],
"next_cursor": null,
"has_more": false
}403 · SCOPE_MISSING
{
"error": {
"name": "PARTNER_API",
"message": "SCOPE_MISSING"
}
}200 · une page de Bilan
| Nom | Type | Description |
|---|---|---|
id requis | integer | |
student_id requis | integer | |
coach_id requis | integer | |
status requis | stringparmi : PENDING, DONE | PENDING: submitted by the student, waiting for the coach. DONE: the coach has treated it. |
is_initial requis | boolean | The first bilan of the student. |
created_by requis | stringparmi : student, coach | |
submitted_at requis | date-time | Creation of the bilan. |
treated_at requis | date-time | null | When the coach marked the bilan DONE. Null when PENDING, and for bilans treated before this field existed. |
goal requis | string | nullparmi : performance, loose_fat, bulk, health, maintain, other | |
measurements requis | object | Null when the bilan has no value for a measurement. |
comments_count requis | integer | Comments on the bilan, replies included, deleted ones excluded. |
updated_at requis | date-time | The latest change of the bilan, its deletion, or a change of its comments (added, edited, deleted). |
deleted_at | date-time | null | Present when include_deleted is true. |
Erreurs
| Statut | Code | Quand |
|---|---|---|
400 | VALIDATION | Paramètres ou corps invalides.facturé |
401 | UNAUTHORIZED | Clé absente, inconnue ou révoquée.non facturé |
402 | CREDITS_EXHAUSTED | Plus de crédits ce mois-ci et aucune réserve.non facturé |
403 | SCOPE_MISSING | La clé n'a pas le périmètre demandé.non facturé |
403 | PLAN_NOT_ELIGIBLE | Ton offre n'ouvre pas l'API.non facturé |
429 | RATE_LIMITED | Trop d'appels : 10 par seconde, 300 par minute, 60 écritures et 20 suppressions par minute.non facturé |
GET /bilans/{id}
One bilan. The medical block needs the bilans.medical:read scope.
- Périmètre bilans:read
- Périmètre bilans.medical:read
- 1 crédit
- Lecture
- Stable
Paramètres
| Nom | Type | Description |
|---|---|---|
id requispath | integer≥ 1 | The numeric id of the resource. |
curl "https://api.fitdistance.io/api/partner/v1/bilans/4821" \
-H "Authorization: Bearer fd_live_xxxxxxxx"200 · BilanDetail
{
"id": 4821,
"student_id": 4821,
"coach_id": 4821,
"status": "PENDING",
"is_initial": true,
"created_by": "student",
"submitted_at": "2026-10-24T09:12:00Z",
"treated_at": "2026-10-24T09:12:00Z",
"goal": "performance",
"measurements": {
"bodyweight_kg": 72.5,
"bodyfat_percent": 72.5,
"waist_cm": 72.5,
"chest_cm": 72.5,
"hips_cm": 72.5,
"neck_cm": 72.5,
"shoulders_cm": 72.5,
"glutes_cm": 72.5,
"arms_left_cm": 72.5,
"arms_right_cm": 72.5,
"forearms_left_cm": 72.5,
"forearms_right_cm": 72.5,
"thighs_left_cm": 72.5,
"thighs_right_cm": 72.5,
"calfs_left_cm": 72.5,
"calfs_right_cm": 72.5
},
"comments_count": 3,
"updated_at": "2026-10-24T09:12:00Z",
"medical": {
"height": 4821,
"medical_antecedent": "string",
"sport_antecedent": "string",
"allergies": "string",
"job": "string",
"reason": "string",
"body_type": "ectomorph",
"empty_stomach": true,
"notes": "string"
}
}403 · SCOPE_MISSING
{
"error": {
"name": "PARTNER_API",
"message": "SCOPE_MISSING"
}
}200 · BilanDetail
| Nom | Type | Description |
|---|---|---|
id requis | integer | |
student_id requis | integer | |
coach_id requis | integer | |
status requis | stringparmi : PENDING, DONE | PENDING: submitted by the student, waiting for the coach. DONE: the coach has treated it. |
is_initial requis | boolean | The first bilan of the student. |
created_by requis | stringparmi : student, coach | |
submitted_at requis | date-time | Creation of the bilan. |
treated_at requis | date-time | null | When the coach marked the bilan DONE. Null when PENDING, and for bilans treated before this field existed. |
goal requis | string | nullparmi : performance, loose_fat, bulk, health, maintain, other | |
measurements requis | object | Null when the bilan has no value for a measurement. |
comments_count requis | integer | Comments on the bilan, replies included, deleted ones excluded. |
updated_at requis | date-time | The latest change of the bilan, its deletion, or a change of its comments (added, edited, deleted). |
medical | object | Present only with the bilans.medical:read scope. Absent from the list. |
Erreurs
| Statut | Code | Quand |
|---|---|---|
400 | VALIDATION | Paramètres ou corps invalides.facturé |
401 | UNAUTHORIZED | Clé absente, inconnue ou révoquée.non facturé |
402 | CREDITS_EXHAUSTED | Plus de crédits ce mois-ci et aucune réserve.non facturé |
403 | SCOPE_MISSING | La clé n'a pas le périmètre demandé.non facturé |
403 | PLAN_NOT_ELIGIBLE | Ton offre n'ouvre pas l'API.non facturé |
404 | NOT_FOUND | Rien à cette adresse.facturé |
429 | RATE_LIMITED | Trop d'appels : 10 par seconde, 300 par minute, 60 écritures et 20 suppressions par minute.non facturé |