curl --request GET \
--url http://localhost:8080/users \
--header 'admin-api-key: <api-key>'{
"data": [
{
"phone_country_code": "<string>",
"phone_number": "<string>",
"status": "onboarding",
"user_id": "<string>",
"address": {
"city": "Bengaluru",
"country": "IN",
"line1": "123, MG Road",
"line2": "Flat 4B, Sunrise Apartments",
"pincode": "560001",
"state": "Karnataka"
},
"dob": "2000-01-15",
"email": "<string>",
"first_name": "<string>",
"gender": "male",
"last_name": "<string>"
}
],
"limit": 123,
"offset": 123,
"total": 123
}curl --request GET \
--url http://localhost:8080/users \
--header 'admin-api-key: <api-key>'{
"data": [
{
"phone_country_code": "<string>",
"phone_number": "<string>",
"status": "onboarding",
"user_id": "<string>",
"address": {
"city": "Bengaluru",
"country": "IN",
"line1": "123, MG Road",
"line2": "Flat 4B, Sunrise Apartments",
"pincode": "560001",
"state": "Karnataka"
},
"dob": "2000-01-15",
"email": "<string>",
"first_name": "<string>",
"gender": "male",
"last_name": "<string>"
}
],
"limit": 123,
"offset": 123,
"total": 123
}User lifecycle status.
onboarding, active, deactivated 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