Skip to content
skcal
Esc
↑↓navigate↵open⌘Jpreview

Ingest a scale reading

Machine endpoint for the Bluetooth scale listener. Authenticated with the ingest bearer token and attributed to a configured owner rather than the Access identity.

POST/api/ingest/weight
Authorization
AuthorizationBearer token · headerrequired

Shared secret carried as Authorization: Bearer <token>, used only by the scale-ingest route.

Request body
requiredapplication/json

The scale reading to ingest.

weightKgnumberrequired

Scale-reported body weight in kilograms.

min 9 · max 320
bodyFatPctnumber | null

Optional scale-reported body-fat percentage.

userEmailstring<email>

Owner to attribute the reading to; falls back to the configured ingest user.

rawobject

Opaque raw payload from the scale, stored for debugging.

Responses
200

The scale reading was ingested and stored.

okbooleanrequired

Always true.

400

The request body or parameters failed validation.

errorstringrequired

Human-readable failure reason.

detailstring

Optional extra context, present on upstream failures.

401

Missing or incorrect ingest bearer token.

errorstringrequired

Human-readable failure reason.

detailstring

Optional extra context, present on upstream failures.

503

A required secret (model key or ingest token) is not configured.

errorstringrequired

Human-readable failure reason.

detailstring

Optional extra context, present on upstream failures.

Try it
Server
Authorization
Bodyapplication/json
Request
curl -X POST 'https://app.skcal.fit/api/ingest/weight' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "weightKg": 72.6,
  "bodyFatPct": 17.4,
  "userEmail": "nick@mintlify.com",
  "raw": {
    "device": "withings-body+",
    "battery": 82
  }
}'
Response
{
  "ok": true
}

Was this page helpful?