FalconryScale
DevelopersAPI reference

Log a weigh-in

Records a new weigh-in for a raptor, in grams. This is how an AI assistant logs a scale reading on the caller's behalf.

POST
/raptors/{raptorId}/weights

Authorization

bearerAuth
headerAuthorizationBearer <token>

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

Path Parameters

raptorId*string

Opaque Convex document id.

Lengthlength <= 64

Request Body

application/json
  1. body
weightGrams*number
Range0 < value
measuredAt?string

ISO 8601 datetime. Defaults to now.

Lengthlength <= 40
stomachState?string

Defaults to 'empty'.

Value in"empty""fed"
preyTypeId?string

Only meaningful when stomachState is 'fed'.

Lengthlength <= 64
preyAmountGrams?number
Range0 < value
notes?string
Lengthlength <= 2000

Response Body

Log a weigh-in

application/json
  1. response
id*string

Opaque Convex document id.

Lengthlength <= 64
weightGrams*number
measuredAt*string

ISO 8601 datetime this weigh-in was measured at.

stomachState*string
Value in"empty""fed"
avgGph*|

Average grams-per-hour of weight change since the previous empty-stomach weigh-in, when computable.

notes*string|null
preyTypeId*|null
raptorId*string

Opaque Convex document id.

Lengthlength <= 64
preyAmountGrams*number|null
loggedByName*string|null
Example Request
curl -X POST 'https://app.falconryscale.com/api/v1/raptors/string/weights' \
  -H 'Content-Type: application/json' \
  -d '{
  "weightGrams": 1
}'
Example Response
{
  "id": "string",
  "weightGrams": 0,
  "measuredAt": "string",
  "stomachState": "empty",
  "avgGph": 0,
  "notes": "string",
  "preyTypeId": "string",
  "raptorId": "string",
  "preyAmountGrams": 0,
  "loggedByName": "string"
}