---
title: "The daemon uploads one signals note, in order with the contexts"
method: POST
path: "/v1/device/signals"
tags: ["pipeline"]
---

# The daemon uploads one signals note, in order with the contexts

`POST /v1/device/signals`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/device/signals`
- Auth: HTTP bearer

A device route, as the context upload. The anchor signals Tier 0 changed for observations a context already carried (`ContextSignals`, version 2), placed among the device's contexts at `t_at`. Its identity is the device and `note_seq`: 202 stores it sealed under the tenant key; 200 is a repeat of the same body; 409 `context-conflict` is another body for the same `note_seq`; 410 `context-expired` is past the firm's retention; a note sent more than an hour after the service's clock is 425 `context-early`.

## Request body

- object
  - `schema_version` 2, required
  - `note_seq` integer, required
  - `t_at` string, date-time, nullable, required
  - `sent_at` string, date-time, required
  - `observations` object[], required
    - `id` string, required
    - `signals` object, required
      - `emails` string[], required
      - `urls` string[], required
      - `paths` string[], required

## Response `200`

A repeat of a stored note; nothing changed.

- object
  - `accepted` integer, required
  - `run_id` string
  - `recording_id` string

## Other responses

- `202`: Stored.
- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.
- `409`: The id or the email already belongs to something else.
- `410`: The route is gone and changes nothing; the `type` says which.
- `422`: The request is well-formed but cannot be carried out as it stands.
- `425`: Too early: send the same request again later.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
