Skip to main content
POST
Send a symptom log

Authorizations

Authorization
string
header
default:Bearer sandbox_any_token_works
required

A brand's server, one OAuth client per brand and environment. Get a token with the client_credentials grant and send it as Authorization: Bearer <token>. Tokens last 1 hour. A brand server reads status and ids only; it never reads clinical content. A platform partner holds one client for all its brands and gets one token per brand, naming it with tenant_id.

Headers

Idempotency-Key
string
required

A unique key per logical request, for example a UUID. Retrying with the same key and the same body within 24 hours returns the first response (with Idempotent-Replayed: true) instead of creating a duplicate. The same key with a different body is refused with 422 idempotency_key_reused.

Required string length: 8 - 255

Path Parameters

enrollment_id
string<uuid>
required

Body

application/json
occurred_at
string<date-time>
required

ISO 8601 in UTC.

Example:

"2026-10-26T14:05:00Z"

symptom
string
required

A symptom code, for example nausea, vomiting, diarrhea, constipation, reflux, fatigue, abdominal_pain. These codes are red flags at any severity: chest_pain, difficulty_breathing, fainting, severe_abdominal_pain, persistent_vomiting, blood_in_vomit, blood_in_stool, yellow_skin_or_eyes, severe_dehydration, allergic_reaction, swelling_face_or_throat, vision_changes, suicidal_thoughts, self_harm. Any symptom at severity 5 is one too. A brand's own alert rules can add codes.

Pattern: ^[a-z][a-z0-9_]*$
Example:

"nausea"

severity
integer
required
Required range: 1 <= x <= 5
Example:

2

external_id
string
required

Your own identifier, printable ASCII without spaces.

Required string length: 1 - 128
Pattern: ^[\x21-\x7E]+$
Example:

"sym-20931"

note
string

The patient's own words. Read by the care team and, on a clinical flag, the prescriber.

Maximum string length: 1000
Example:

"Mild, after dinner"

Response

Already received; the first receipt.

What a brand server gets back for a log. The values stay with the care team.

id
string<uuid>
required
Example:

"0190f5c9-5d6e-7f70-8a92-1b2c3d4e5f60"

external_id
string
required

Your own identifier, printable ASCII without spaces.

Required string length: 1 - 128
Pattern: ^[\x21-\x7E]+$
Example:

"meal-77120"

log_date
string<date>
required

A calendar date in the patient's time zone.

Example:

"2026-10-26"

created_at
string<date-time>
required

ISO 8601 in UTC.

Example:

"2026-10-26T14:05:00Z"

updated_at
string<date-time>
required

When the log was last corrected; the same as created_at until then.

Example:

"2026-10-26T14:05:00Z"