Thrive AI Health
Api reference

List meals (with embedded log when present)

Paginated list of meals for the member, plan-associated and ad-hoc. Each entry carries an embedded `log` when the member has logged the meal so partners can render scheduled-vs-eaten without an extra fetch. Filter by log presence (`logged=true` or `false`) or by `scheduled_time` window (`start_date` / `end_date`, inclusive); `start_date` defaults to today when omitted, `end_date` is open-ended.

GET
/v1/users/{user_id}/meals

Authorization

MemberBearer
AuthorizationBearer <token>

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

user_id*User Id
Formatuuid

Query Parameters

logged?|

When true, only meals with a log; when false, only meals without a log.

start_date?|

Inclusive lower bound on scheduled_time (calendar date). Defaults to today.

end_date?|

Inclusive upper bound on scheduled_time (calendar date). Open-ended when omitted.

limit?Limit
Default25
Range1 <= value <= 100
offset?Offset
Default0
Range0 <= value

Header Parameters

org-id?string|null
x-user-id?string|null
x-request-id?string|null
traceparent?string|null
Idempotency-Key?|null

Response Body

application/json

application/json

curl -X GET "https://loading/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/meals"
{
  "data": [
    {
      "meal_id": "e8f91bba-a1fd-4250-b513-e8e22cf6d4ad",
      "nutrition_plan_id": "4aad14a6-572f-4d4e-b565-85a0adb6117b",
      "meal_type": "breakfast",
      "scheduled_time": "2019-08-24T14:15:22Z",
      "title": "string",
      "calories": 0,
      "log": {}
    }
  ],
  "pagination": {
    "limit": 25,
    "offset": 0,
    "total": 0
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}