The AMS-integration job: your AMS (Hudl, Catapult, Kitman, custom) already has player IDs. You want to link a 1st sensor to a specific player so the readings from that sensor are tagged correctly in your analytics. 1st doesn’t model players directly. Instead, every sensor has a free-form metadata field you populate from your side. Store your AMS’s player ID (or room ID, or whatever identifier matters to you) in there, then filter sensors by metadata when pulling data.Documentation Index
Fetch the complete documentation index at: https://dev.1st.app/llms.txt
Use this file to discover all available pages before exploring further.
Three steps
Tag a sensor with your AMS player ID
You’ll need a Read and write key for this. Mint one under
Integrations → API access if you don’t already have one —
read-only keys can’t PATCH.Limits: 20 keys per metadata object, 500 chars per value, key max
64 chars. Stringify integer IDs client-side — metadata values are
always strings.
Look up by your AMS ID
Once tagged, filter Returns only sensors whose metadata contains the exact match.
Repeat the parameter to AND multiple conditions:The query uses the metadata GIN index, so it stays fast as your
fleet grows.
/v1/sensors by any metadata key:Patterns that work well
- One metadata key per AMS: if you sync to multiple systems, use
distinct keys (
hudl_player_id,catapult_athlete_id,kitman_athlete_id) so each integration can filter without collision. - Tag rooms, not athletes: sensors live in rooms, not on people. When an athlete changes rooms, retag the new sensor — don’t try to follow the person.
- Use a single read_write key per AMS: name keys after the system they’re for (“Hudl sync”) so the audit log is readable.
Concurrency caveat
Two clients PATCHing different metadata keys on the same sensor at the same time will clobber each other — last write wins, no merge. For V1 this matches Stripe’s PATCH-as-replace contract. If your team runs multiple AMS integrations against the same sensor, gate writes behind a single owner per sensor or use the sameIdempotency-Key
on retries.