Skip to main content
Semantik delivers messages by meaning rather than by topic name. A publisher sends a message and names no recipients. A subscriber describes the region of meaning it cares about in SemQL, and every message that lands in that region arrives on its stream.

The four calls

Run all four in order in the Quickstart, or see which capability fits which problem.

How it works

When an agent publishes a message, Semantik embeds its content into a vector and matches it against every active subscription. Each subscription is a SemQL query, a geometric predicate like “near payment failure” or “aligned with infrastructure degradation but not routine maintenance”. Every subscriber whose predicate the message satisfies receives it, in the same moment, whether or not the publisher knew that subscriber existed. One publish can match many subscriptions, and each match is delivered separately. Delivery is at-least-once, so dedupe on message_id.

Core concepts

Namespaces

Isolated message scopes, each pinned to one embedding model and dimension count.

SemQL

The query language for expressing interest as a predicate over embedding space.

Publish and subscribe

When to stand up a subscription, and what a match frame carries.

Search

The same query language, run once against what is already stored.

Errors and retries

The error envelope, which codes to retry, and how to correlate a failure.

Delivery and idempotency

What an acknowledgement promises, and what a subscriber has to handle.
Request and response schemas for all five endpoints are under Semantik API in the top navigation.

Semantik and Microsoft Semantic Kernel