GET
cURL

Authorizations

Authorization
string
header
required

JWT bearer token. App-user tokens are issued by POST /auth/token (the partner backend calls it as its platform service account); admin and dashboard tokens are issued via OIDC login.

Path Parameters

user_id
string
required

User ID

Response

User found

created_at
string
required

User creation timestamp.

Example:

"2026-01-15T12:34:56"

last_modified_at
string
required

Last user update timestamp.

Example:

"2026-01-15T12:34:56"

phone_country_code
string
required
phone_number
string
required
status
enum<string>
required

User lifecycle status.

Available options:
ONBOARDING,
ACTIVE,
DEACTIVATED
user_id
string
required

A validated 12-digit numeric user identifier.

Every external entry point validates:

  • JSON Deserialize runs [UserId::parse] (outer whitespace trimmed, length and digit-only enforced) via #[serde(try_from = "String")].
  • DB FromSql runs [UserId::parse] on every row read.

Display / Deref<Target = str> / AsRef<str> / Into<String> are derived via derive_more — the inner String is pass-through for every read-only borrow, display, and move-out.

Example:

"012345678901"

address

A user-submitted address as captured: either the structured form, a single free-text string, or both (the original text plus whatever was structured from it). #[serde(untagged)] keeps the wire shape natural — a bare object or a bare string — so existing structured clients are unaffected.

raw is Secret because a free-text address is PII (it embeds the same data masked elsewhere as line1 / pincode).

dob
string | null

Date of birth as "YYYY-MM-DD".

Example:

"2000-01-15"

email
string | null
first_name
string | null
gender
null | enum<string>

User gender.

Available options:
MALE,
FEMALE,
OTHER
last_name
string | null