Skip to content

Search across deals

POST
/api/search/deals
curl --request POST \
--url https://example.com/api/search/deals \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "query": "", "mode": "metadata", "filters": {}, "section_key": "example", "team_id": "example", "limit": 20, "offset": 0 }'

Search the user’s accessible deals by metadata, content, or semantic similarity. Metadata mode filters by name/type/sponsor. Content mode does full-text search across memo sections. Semantic mode uses vector similarity (enrolled deals only).

Media type application/json
DealSearchRequest

Search request body.

object
query
Query

Search text

string
"" <= 500 characters
mode
Mode

Search mode

string
default: metadata
Allowed values: metadata content semantic
filters
Any of:
object
key
additional properties
any
section_key
Any of:
string
<= 100 characters
team_id
Any of:
string
<= 200 characters
limit
Limit
integer
default: 20 >= 1 <= 50
offset
Offset
integer
0

Successful Response

Media type application/json
DealSearchResponseModel

Search response envelope.

object
hits
required
Hits
Array<object>
DealSearchHitResponse

A single search result.

object
deal_id
required
Deal Id
string
deal_name
required
Deal Name
string
deal_type
Any of:
string
asset_type
Any of:
string
sponsor_name
Any of:
string
status
Any of:
string
shared
Shared
boolean
match_context
Any of:
string
match_section
Any of:
string
relevance_score
Any of:
number
total
required
Total
integer
mode
required
Mode
string
query_time_ms
required
Query Time Ms
integer
Example
{
"hits": [
{
"shared": false
}
]
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}