curl --request GET \
--url http://localhost:8080/benefits \
--header 'Authorization: Bearer <token>'{
"data": [
{
"benefit_details": {
"benefit_type": "consultation",
"description": "<string>"
},
"benefit_type": "consultation",
"created_at": "<string>",
"id": "<string>",
"last_modified_at": "<string>",
"name": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"status": "active"
}
],
"limit": 123,
"offset": 123,
"total": 123
}curl --request GET \
--url http://localhost:8080/benefits \
--header 'Authorization: Bearer <token>'{
"data": [
{
"benefit_details": {
"benefit_type": "consultation",
"description": "<string>"
},
"benefit_type": "consultation",
"created_at": "<string>",
"id": "<string>",
"last_modified_at": "<string>",
"name": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"status": "active"
}
],
"limit": 123,
"offset": 123,
"total": 123
}JWT access token. Obtain from /auth/otp/verify endpoint.
Benefit lifecycle status.
active, inactive Kind of benefit offered by a provider.
consultation, insurance_policy A half-open time range, with a mandatory start and an optional end.
Designed to be embedded in list/filter query params via #[serde(flatten)].
Deserialize runs [TimeRange::validate] as part of deserialization, so
callers never receive a [TimeRange] that violates start_time <= end_time.
Show child attributes