Register a persistent subscription and open an SSE match stream
Compiles the SemQL query, registers a persistent subscription, and returns a Server-Sent Events stream of match notifications.
The stream begins with a subscribed event whose data is a
SubscribedEvent JSON object. Subsequent match events carry a
MatchEvent JSON object. The subscription is removed automatically
when the client disconnects.
Example SSE frames:
event: subscribed
data: {"subscription_id":"sub_8f2c..."}
event: match
data: {"message_id":"msg_7a21de40f1b2c493","score":0.82}
Requires Content-Type: application/json.
Authorizations
API key bearer token. Obtain from the Noetive dashboard.
Pass as: Authorization: Bearer <api-key>.
Body
SemQL query text for subscription matching. Subject to the SemQL query limits — see the "SemQL query limits" section in the API description.
Two clause shapes are rejected here that /v1/search accepts:
a query with no DISTANCE, DIRECTION or CONTRAST clause
(it would deliver the namespace's entire stream), and any use of
TOP (it ranks within a result set, and a stream has none — use
WITHIN instead). Both return 400 invalid_request.
Target namespace alias — a registered name (e.g. articles) or
the well-known global alias. Required; there is no default.
Every request is validated against the namespace's configured
model and dimensions; a mismatch returns 400 invalid_request.
Pass the alias, not the ns_... identifier shown in the
dashboard — a raw identifier is rejected with
400 invalid_request.
64^[A-Za-z0-9_-]+$Embedding model name. Required; there is no default. Must match
the model configured on the namespace, or the request fails with
400 model_not_provisioned.
Embedding vector dimensionality. Required; there is no default.
Must match the dimensionality configured on the namespace for
model, or the request fails with 400 model_not_provisioned.
1 <= x <= 4096Response
SSE stream of match events. Content-Type: text/event-stream.
- First event:
event: subscribed, data is aSubscribedEvent. - Subsequent events:
event: match, data is aMatchEvent.
Raw SSE stream. Payload schemas for each event type are
SubscribedEvent and MatchEvent.

