GET
/
users
/
{user_id}
/
consultations
/
{consultation_id}
cURL
curl --request GET \
  --url http://localhost:8080/users/{user_id}/consultations/{consultation_id}
{
  "benefit_id": "<string>",
  "benefit_provider_id": "<string>",
  "created_at": "<string>",
  "dependant_id": "<string>",
  "id": "<string>",
  "last_modified_at": "<string>",
  "primary_user_id": "012345678901",
  "external_reference_id": "<string>",
  "unread_count": 123
}

Path Parameters

user_id
string
required

User ID

consultation_id
string
required

Consultation UUID

Response

Consultation found

benefit_id
string
required
benefit_provider_id
string
required
created_at
string
required
dependant_id
string
required
id
string
required
last_modified_at
string
required
primary_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"

status
enum<string>
required

Consultation lifecycle status. INITIATED = row inserted, upstream thread not yet created (transient or stuck). ACTIVE = upstream thread open (mirrors chatStatusCategory OPEN). COMPLETED = doctor marked done (mirrors DONE). CLOSED = archived (mirrors CLOSED). FAILED = upstream create_thread errored after our INSERT; not visible to FE.

Available options:
INITIATED,
ACTIVE,
COMPLETED,
CLOSED,
FAILED
external_reference_id
string | null
unread_count
integer<int32> | null