---
title: "Report Whereabouts From Device"
method: POST
path: "/v1/teams/{team_id}/push/whereabouts/device"
tags: ["push"]
---

# Report Whereabouts From Device

`POST /v1/teams/{team_id}/push/whereabouts/device`

A fix from a background wake, on the phone's own DEVICE KEY.

iOS relaunches the app cold for a significant location change and there is
no session in that process — the web hands this container its Supabase
session over `postMessage` and nothing persists it. So the phone carries a
key minted when it reported its permissions, and this is the only route
that key opens: append a fix to that one phone's row, in a team it is
already registered in. It is never a bearer for the team, and the grant is
re-checked server-side (`Devices.whereabouts`) so revoking location stops
the writes even if a stale bundle keeps sending them.

## Path parameters

- `team_id` string, uuid, required

## Request body

- FixReport — One reading and the phone it came from. The same body on both roads — the person's session while the app is open, the device key while it is closed — so one client function serves both and they cannot drift.
  - `installation_id` string, required
  - `fix` Fix, required — One reading, as the phone sends it. The PLACE is the payload — it is reverse-geocoded on the device, so what the desk stores and repeats is a street, not a coordinate somebody has to look up.
    - `lat` number, required
    - `lng` number, required
    - `accuracy` integer
    - `at` string, required
    - `place` string
    - `source` 'open' | 'background'

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

## Changes

> 33 revisions in range; 1 not diffed.

- **2026-09-11** `79b0c0f35170` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/push/whereabouts/device/post.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/52151384d62a?raw)
