Skip to content

Append a signal event

POST
/api/signals/{id}/events

Owner only (session or operator key). Appends an event; never edits the canonical signal (first-call lock) and never accepts resolved — only the resolver writes that.

id
required
string format: uuid

Signal id (signal_predictions.id).

object
type
required

resolved is resolver-only and rejected here.

string
Allowed values: take reaffirm confidence note share
payload

Shape depends on type: take{ mediaAssetId? (≤200), url? (http(s), ≤500), text? (≤500) } (at least one) · confidence{ confidence: 1–100 } · note{ text (≤500) } · share{ channel? (≤40) } · reaffirm → none.

object
mediaAssetId
string
<= 200 characters
url
string format: uri
<= 500 characters
text
string
<= 500 characters
confidence
integer
>= 1 <= 100
channel
string
<= 40 characters
key
additional properties
any

Appended

object
ok
required
boolean
event
required
One of:
object
id
required
string format: uuid
type
required
string
Allowed values: take reaffirm confidence note share resolved
payload
required
object
key
additional properties
any
actor
required

owner for operator events; the resolver source for resolved.

string | null
createdAt
required
string format: date-time

Validation error. error names the missing or malformed field.

object
error
required

Stable machine-readable code (snake_case) or a short reason.

string
message
string
key
additional properties
any

auth_required

object
error
required

Stable machine-readable code (snake_case) or a short reason.

string
message
string
key
additional properties
any

not_your_signal

object
error
required

Stable machine-readable code (snake_case) or a short reason.

string
message
string
key
additional properties
any

not_found

object
error
required

Stable machine-readable code (snake_case) or a short reason.

string
message
string
key
additional properties
any