search
Search items by meaning, location, and/or structured filters
POST
/v1/search
const url = 'https://search.example.com/v1/search';const options = { method: 'POST', headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'}, body: '{"context":{"version":"1.0.0","messageId":"example","timestamp":"example","networkId":"example","domain":"example","itemType":"example"},"message":{"intent":{"textSearch":"example","item":{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"},"spatial":[{"op":"s_dwithin","geometry":{"type":"Point","coordinates":[1]},"distanceMeters":1}],"filters":[{"op":"eq","target":"example","value":"example"}],"sort":"relevance","orderingCenter":{"type":"Point","coordinates":[1]}},"pagination":{"limit":20,"offset":0}}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://search.example.com/v1/search \ --header 'Content-Type: application/json' \ --header 'x-api-key: <x-api-key>' \ --data '{ "context": { "version": "1.0.0", "messageId": "example", "timestamp": "example", "networkId": "example", "domain": "example", "itemType": "example" }, "message": { "intent": { "textSearch": "example", "item": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "spatial": [ { "op": "s_dwithin", "geometry": { "type": "Point", "coordinates": [ 1 ] }, "distanceMeters": 1 } ], "filters": [ { "op": "eq", "target": "example", "value": "example" } ], "sort": "relevance", "orderingCenter": { "type": "Point", "coordinates": [ 1 ] } }, "pagination": { "limit": 20, "offset": 0 } } }'Beckn-aligned envelope. Provide any combination of textSearch, an anchor item.id, spatial, orderingCenter, sort, and filters. Ordering: pass intent.sort (relevance | newest | nearest); when omitted, ordering is inferred as cosine → distance → recency for backward compatibility. intent.spatial FILTERS (s_dwithin); intent.orderingCenter only ORDERS and never filters. meta.sort_applied always reports the order actually used — an order whose precondition is unmet degrades to newest rather than erroring. textSearch narrows results even when an anchor supplies the ranking vector.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
context
required
object
version
string
messageId
required
string
timestamp
string
networkId
required
string
domain
required
string
itemType
required
string
message
required
object
intent
required
object
textSearch
string
item
object
id
required
string format: uuid
spatial
filters
Array<object>
object
op
required
string
target
required
string
value
required
sort
string
orderingCenter
object
type
required
string
coordinates
required
Array
pagination
object
limit
integer
offset
integer
Responses
Section titled “Responses”Default Response
Media typeapplication/json
object
context
required
object
version
required
string
messageId
required
string
timestamp
string
networkId
required
string
domain
required
string
itemType
required
string
message
required
object
items
required
Array<object>
object
item_network
required
string
item_domain
required
string
item_type
required
string
item_id
required
string
item_state
required
object
key
additional properties
item_locations
required
Array<object>
object
lat
required
number
lng
required
number
label
string
item_instance_url
required
string
item_schema_url
required
string
created_at
required
string
updated_at
required
string
created_by
required
string
lifecycle_status
required
string
score
number
distanceMeters
number
meta
required
object
total
required
number
limit
required
number
offset
required
number
sort_applied
required
string
Example
{ "context": { "version": "1.0.0" }, "message": { "meta": { "sort_applied": "relevance" } }}Default Response
Media typeapplication/json
object
error
required
string
message
required
string
Examplegenerated
{ "error": "example", "message": "example"}Default Response
Media typeapplication/json
object
error
required
string
message
required
string
Examplegenerated
{ "error": "example", "message": "example"}Default Response
Media typeapplication/json
object
error
required
string
message
required
string
Examplegenerated
{ "error": "example", "message": "example"}Default Response
Media typeapplication/json
object
error
required
string
message
required
string
Examplegenerated
{ "error": "example", "message": "example"}Default Response
Media typeapplication/json
object
error
required
string
message
required
string
Examplegenerated
{ "error": "example", "message": "example"}
