---
title: "Save intent signals"
method: POST
path: "/v1/signals/save"
tags: ["signals"]
---

# Save intent signals

`POST /v1/signals/save`

## Request

- Base URL: `https://api.zevari.ai`
- URL: `https://api.zevari.ai/v1/signals/save`
- Auth: HTTP bearer

Transport: call this endpoint with HTTP POST and a JSON request body. Persist detected buying signals (hiring, funding, pain point, etc.) linked to a lead and/or post.

## Request body

- object
  - `signals` object[], required: Array of signals to save
    - `signal_type` 'funding' | 'hiring' | 'leadership' | 'exit_intent' | 'thought_leadership' | 'content_engagement' | 'competitor_complaint', required
    - `source_type` 'post' | 'comment' | 'profile_change' | 'job_posting' | 'reaction'
    - `source_id` string
    - `source_url` string
    - `confidence` number
    - `score` number
    - `priority` 'high' | 'medium' | 'low'
    - `persona_insight` string
    - `keyword_matched` string
    - `author_name` string
    - `author_headline` string
    - `author_provider_id` string
    - `snippet` string
    - `lead_id` string

## Response `200`

Successful Zevari API response.

- ZevariResponseEnvelope
  - `ok` boolean, required: False when the underlying tool reports an error or a partial failure.
  - `method` string, required: Public API method name.
  - `data` unknown, required
  - `request_id` string, required: Request correlation ID. Also returned in X-Zevari-Request-Id.

## Other responses

- `400`: Invalid arguments or method execution error.
- `401`: Missing, invalid, expired, revoked, or unauthorized API key.
- `404`: Unknown or non-public Zevari API method.
- `429`: API key rate limit exceeded.
- `500`: Unhandled server error.

---

[API](https://skmtc.dev/zevari/apis/zevari-public-api.md) · [All operations](https://skmtc.dev/zevari/apis/zevari-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zevari/apis/zevari-public-api/revisions/a0bc3afac227?raw)
