Start generation of the member's initial plan
Async entrypoint for first-time plan generation. Returns `202 Accepted` with a `job_id`; partners poll `GET /v1/users/{user_id}/jobs/{job_id}` for completion. Partner-queue events also fire on completion — partners can use either or both.
Authorization
MemberBearer Member-scoped JWT minted by POST /v1/auth/token. Required on every /v1/users/{user_id}/... route; the token's sub claim must match the path user_id.
In: header
Path Parameters
uuidHeader Parameters
Response Body
application/json
application/json
curl -X POST "https://loading/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/jobs/initial-plan"{
"data": {
"job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
"status": "accepted"
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Historical biological age scores
Paginated history over a `start_date`/`end_date` window for trend visualization. Each row carries the date, biological age, and delta vs chronological age. The window is inclusive on both ends; the lower bound is interpreted as UTC midnight and the upper bound as end-of-day UTC.
Get the status of an async job
States: `accepted` (enqueued, not picked up — only emitted from the start-job response, not from this endpoint), `running` (in flight), `completed` (success — `result` populated), `failed` (`result` carries `error` and `reason`). Shape of `result` on completion depends on the originating endpoint (e.g. labs uploads return the analysis shape). `404` is returned when the workflow id is not known to the orchestrator — typically because the job hasn't started yet, has been deleted from history, or was never scheduled.