Skip to main content
POST
Find analyzed deals using structured filters. This endpoint returns lean rows for triage; use Get Deal with the returned deal_id values when you need summaries and competitor positioning.

Request Body

All fields are optional. query, semantic_query, and segment_id have compatibility constraints described below.

Response

Each response contains a results array and paging metadata. A row is intentionally lean and includes identifiers and common deal attributes, not the full summary or competitor positioning.
When has_more is true, call the endpoint again with page set to next_page. Use deal_id from a result as input to Get Deal.

Limits and Errors

Organization-wide and per-API-key limits apply. See Rate limits for returned headers and retry guidance. Invalid input returns 400; unauthorized or disallowed calls return 401 or 403.

Authorizations

Authorization
string
header
required

API key from Hindsight Settings → API keys. Use Authorization: Bearer YOUR_API_KEY. Newly created keys begin with hs_; existing keys remain supported until rotated or expired.

Body

application/json
query
string | null

Fuzzy deal or client-name match. Cannot be used with semantic_query or segment_id.

semantic_query
string | null

Conceptual search over deal content. Cannot be used with query or segment_id.

segment_id
string | null

Segment ID. Cannot be used with query.

competitor_id
string | null
deal_stage

One or more deal-stage names.

amount
object | null
close_date
object | null
type
string | null
region
string | null
owner_name
string | null

Owner name, email, or me, my, or mine.

limit
integer
default:20
Required range: 1 <= x <= 50
page
integer
default:1
Required range: x >= 1

Response

Matching deal rows

total_returned
integer
limit_applied
integer | null
page
integer
page_size
integer
has_more
boolean
next_page
integer | null
results
object[]