FalconryScale
DevelopersAPI reference

Log a medication dose

Records whether one day's dose was taken, missed or skipped. Logging the same date again replaces that day's entry. Returns the course with its updated dose log.

POST
/medications/{medicationId}/doses

Authorization

bearerAuth
headerAuthorizationBearer <token>

A Clerk user API key or OAuth access token carrying the falconry:read and/or falconry:write scope.

Path Parameters

medicationId*string

A medication course's id, from list_medications.

Lengthlength <= 64

Request Body

application/json
  1. body
date*string

The day the dose was due, ISO 8601 (yyyy-mm-dd).

Match^\d{4}-\d{2}-\d{2}$
status*string

'taken', 'missed' or 'skipped'.

Value in"taken""missed""skipped"

Response Body

Log a medication dose

application/json
  1. response
id*string

Opaque Convex document id.

Lengthlength <= 64
raptorId*string

Opaque Convex document id.

Lengthlength <= 64
name*string
dosage*string
frequency*string
startDate*string

ISO 8601 date (yyyy-mm-dd).

endDate*|

ISO 8601 date, or null for an open-ended course.

reminderEnabled*boolean
reminderTime*|

Daily reminder time, HH:MM (24-hour).

linkedHealthRecordId*|null
notes*string|null
doseLog*array<>

Logged doses, one per day, newest first (at most the last 60).

loggedByName*string|null
Example Request
curl -X POST 'https://app.falconryscale.com/api/v1/medications/string/doses' \
  -H 'Content-Type: application/json' \
  -d '{
  "date": "string",
  "status": "taken"
}'
Example Response
{
  "id": "string",
  "raptorId": "string",
  "name": "string",
  "dosage": "string",
  "frequency": "string",
  "startDate": "string",
  "endDate": "string",
  "reminderEnabled": true,
  "reminderTime": "string",
  "linkedHealthRecordId": "string",
  "notes": "string",
  "doseLog": [
    {
      "date": "string",
      "status": "taken",
      "loggedAt": "string"
    }
  ],
  "loggedByName": "string"
}