Try the device-side read flow

A reference client that posts a signature image to /api/identify and surfaces the matched pet, confidence, and call timestamp — the same loop any real partner feeder exercises at feed time.

← Back to home

Documented sample integration token

The dev-mode secret below unlocks POST /api/identify only — we keep its SHA-256 digest on file, never the plaintext.

X-API-Key: critterkey-test-key-demo

Seeded by migration 1783000000000_seed_test_partner_api_key under partner name Test Partner. Only the SHA-256 digest is stored in partner_api_keys. Full request/response reference: /docs.

Run the flow

Pick a signature image previously enrolled at /pets (or one whose fingerprint matches an enrolled pet) and submit.

Any image you’ve enrolled as a biometric signature. The API hashes it server-side and compares against enrolled signatures — the raw bytes never leave the request.

How the enrolled pet → matched pet loop works

Three steps to exercise the full read path from your own data.

1
Owner registers a pet at /register — this creates the pets row that the read flow will match against.
2
Owner enrolls one or more biometric signatures at /pets?email=... — each upload writes a row in biometric_signatures with a deterministic SHA-256 fingerprint keyed by pet id.
3
Pick the same image file you enrolled (re-uploading the exact bytes produces the exact hash — the API at routes/api.js only compares hashes), upload it above, and watch the page render matched pet_id, confidence_score, and the call-time ISO timestamp.