---
title: "Push a surfaced Person-IX evaluated signal into the Signal Inbox"
method: POST
path: "/api/me/intelligence/person/{snapshotId}/signals/{signalId}/push"
tags: ["me", "intelligence"]
---

# Push a surfaced Person-IX evaluated signal into the Signal Inbox

`POST /api/me/intelligence/person/{snapshotId}/signals/{signalId}/push`

## Request

- Base URL: `https://api.signalraven.ai`
- URL: `https://api.signalraven.ai/api/me/intelligence/person/{snapshotId}/signals/{signalId}/push`
- Auth: none declared

§4.3 revised — 0 credits. Creates one signal_events row (source_event_type=intelligence_push_person) + enqueues destination fan-out. ON CONFLICT dedup returns the existing signal_events.id with deduped=true.

## Path parameters

- `snapshotId` string, uuid, required
- `signalId` string, required

## Response `201`

Signal pushed (or existing row returned)

- PushToInboxResponse
  - `signalEventId` string, uuid, required
  - `signalId` string
  - `deduped` boolean, required: true when this signal was already pushed to inbox (ON CONFLICT DO NOTHING branch — returns the existing signal_events.id).

## Other responses

- `404`: Snapshot / signal not found or cross-tenant

---

[API](https://skmtc.dev/signalraven/apis/zygnal-api.md) · [All operations](https://skmtc.dev/signalraven/apis/zygnal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signalraven/apis/zygnal-api/revisions/36e1d9b9d604?raw)
