Skip to main content
POST
Search for products
Search the tenant’s product catalogue using a natural-language request. The endpoint selects the product-search intent automatically, so you do not send an intent field.

When to use this endpoint

Use Search when the shopper describes the products they want, including attributes such as category, colour, size, price, use case, or style.

Request example

Important request fields

Streaming response

The response uses text/event-stream. Read every data: line as an independent JSON message:
Set operationHideAiMessage to true to omit chatStream messages. Set operationReturnFullProductInfo to true to return full product objects instead of ID-only objects in responsePayload.

Authorizations

Authorization
string
header
required

A short-lived HS256 operation token. Its tenantId claim must exactly match the Tenantid header. Mint this token on a trusted server; never expose the tenant signing credential in browser code.

Tenantid
string
header
required

The preezie tenant identifier. This value identifies the catalogue and is not a secret.

Body

application/json
content
string
required

Natural-language request that guides the selected operation.

Minimum string length: 1
Example:

"Show me lightweight black running shoes"

sessionId
string

Conversation session identifier. Reuse it for related requests.

Example:

"session-123"

visitorId
string

Stable identifier for the shopper or visitor.

Example:

"visitor-456"

websiteUrl
string<uri>
deprecated

Legacy top-level URL field. Use chatMetadata.websiteUrl for the current page context.

chatMetadata
object

Optional context from the current product or page.

requestOrigin
enum<string>
default:Operation

Source of the request. Use Operation for these endpoints.

Available options:
Operation
productIds
string[]

Explicit product identifiers consumed by operations such as comparison. For similarity and bundling, identify the base product with chatMetadata.productId instead.

pageSize
integer

Maximum number of product results requested. When omitted, the tenant's configured default is used.

Required range: x >= 1
operationHideAiMessage
boolean
default:false

When true, suppresses chatStream events and returns only non-chat stream events.

operationReturnFullProductInfo
boolean
default:false

When false, products in a conversation response payload are reduced to {"id": "..."} objects. When true, the full product objects are returned.

Response

A server-sent event stream. Each message is written as data: <JSON> followed by a blank line. The JSON payload contains one response key. operationHideAiMessage removes chatStream events; operationReturnFullProductInfo controls whether product payloads contain IDs only or full product objects.

A sequence of SSE messages whose data values follow the StreamEvent schema.