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.
bearerAuthAuthorizationBearer <token>A Clerk user API key or OAuth access token carrying the falconry:read and/or falconry:write scope.
medicationId*stringA medication course's id, from list_medications.
length <= 64application/json- body
date*stringThe day the dose was due, ISO 8601 (yyyy-mm-dd).
^\d{4}-\d{2}-\d{2}$status*string'taken', 'missed' or 'skipped'.
"taken""missed""skipped"Log a medication dose
application/json- response
id*stringOpaque Convex document id.
length <= 64raptorId*stringOpaque Convex document id.
length <= 64name*stringdosage*stringfrequency*stringstartDate*stringISO 8601 date (yyyy-mm-dd).
endDate*|ISO 8601 date, or null for an open-ended course.
reminderEnabled*booleanreminderTime*|Daily reminder time, HH:MM (24-hour).
linkedHealthRecordId*|nullnotes*string|nulldoseLog*array<>Logged doses, one per day, newest first (at most the last 60).
loggedByName*string|nullcurl -X POST 'https://app.falconryscale.com/api/v1/medications/string/doses' \
-H 'Content-Type: application/json' \
-d '{
"date": "string",
"status": "taken"
}'{
"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"
}Delete a medication course
Permanently deletes a medication course and its whole dose log. This cannot be undone. To simply finish a course, set its endDate with update_medication instead. Before deleting, confirm the course (name, raptor, dates) with the user.
List documents
Lists the caller's documents (permits, CITES papers, vet records, insurance, ...) as metadata: title, type, dates, issuing authority and file name/size, newest first. No file contents or download links. Pass `expiringWithinDays` for the renewals view, soonest expiry first.