Check-ins
2 routes
GET /bilans
Bilans with their measurements. Never the medical block nor the photos.
- Scope bilans:read
- 1 credit
- Read
- Stable
Parameters
| Name | 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 | stringone of 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 · a page of 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 · a page of Bilan
| Name | Type | Description |
|---|---|---|
id required | integer | |
student_id required | integer | |
coach_id required | integer | |
status required | stringone of PENDING, DONE | PENDING: submitted by the student, waiting for the coach. DONE: the coach has treated it. |
is_initial required | boolean | The first bilan of the student. |
created_by required | stringone of student, coach | |
submitted_at required | date-time | Creation of the bilan. |
treated_at required | date-time | null | When the coach marked the bilan DONE. Null when PENDING, and for bilans treated before this field existed. |
goal required | string | nullone of performance, loose_fat, bulk, health, maintain, other | |
measurements required | object | Null when the bilan has no value for a measurement. |
comments_count required | integer | Comments on the bilan, replies included, deleted ones excluded. |
updated_at required | 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. |
Errors
| Status | Code | When |
|---|---|---|
400 | VALIDATION | Invalid parameters or body.billed |
401 | UNAUTHORIZED | Key missing, unknown or revoked.not billed |
402 | CREDITS_EXHAUSTED | No credits left this month and no reserve.not billed |
403 | SCOPE_MISSING | The key doesn't have the required scope.not billed |
403 | PLAN_NOT_ELIGIBLE | Your plan doesn't include the API.not billed |
429 | RATE_LIMITED | Too many calls: 10 per second, 300 per minute, 60 writes and 20 deletes per minute.not billed |
GET /bilans/{id}
One bilan. The medical block needs the bilans.medical:read scope.
- Scope bilans:read
- Scope bilans.medical:read
- 1 credit
- Read
- Stable
Parameters
| Name | Type | Description |
|---|---|---|
id requiredpath | 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
| Name | Type | Description |
|---|---|---|
id required | integer | |
student_id required | integer | |
coach_id required | integer | |
status required | stringone of PENDING, DONE | PENDING: submitted by the student, waiting for the coach. DONE: the coach has treated it. |
is_initial required | boolean | The first bilan of the student. |
created_by required | stringone of student, coach | |
submitted_at required | date-time | Creation of the bilan. |
treated_at required | date-time | null | When the coach marked the bilan DONE. Null when PENDING, and for bilans treated before this field existed. |
goal required | string | nullone of performance, loose_fat, bulk, health, maintain, other | |
measurements required | object | Null when the bilan has no value for a measurement. |
comments_count required | integer | Comments on the bilan, replies included, deleted ones excluded. |
updated_at required | 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. |
Errors
| Status | Code | When |
|---|---|---|
400 | VALIDATION | Invalid parameters or body.billed |
401 | UNAUTHORIZED | Key missing, unknown or revoked.not billed |
402 | CREDITS_EXHAUSTED | No credits left this month and no reserve.not billed |
403 | SCOPE_MISSING | The key doesn't have the required scope.not billed |
403 | PLAN_NOT_ELIGIBLE | Your plan doesn't include the API.not billed |
404 | NOT_FOUND | Nothing at this address.billed |
429 | RATE_LIMITED | Too many calls: 10 per second, 300 per minute, 60 writes and 20 deletes per minute.not billed |