Real Time Search (ZeroClick)
Real-time search against a Dappier AI model, authenticated by verifying the
zc-signature HMAC over the raw request bytes. The same orchestration as
POST /app/aimodel/{ai_model_id} runs behind it.
Only marketplace-enabled models are reachable — ZeroClick traffic carries no
Dappier tenant, so a private model resolves to 404.
On success, usage is settled with ZeroClick and reported via the zc-usage
response header. The request is not charged on the Dappier platform.
Authorizations
HMAC signature minted by ZeroClick over the raw request bytes, of the form
t=<unix-seconds>,kid=<key-id>,v1=<hex-hmac>. The canonical string signed is
t \n METHOD \n path+query \n sha256hex(body) \n zc-request-id \n zc-agent-id,
and v1 = hex(HMAC_SHA256(secret, canonical)). Verified against the seller's
signing secret keyed by kid, with a ±300s timestamp skew bound.
A missing or invalid signature is rejected with 401
invalid_zeroclick_signature; this is never failed open.
Headers
ZeroClick request id, set by ZeroClick when it proxies the request. It is part of the signed canonical string, so a request without it cannot verify.
"zcreq_1"
Identifier of the buying agent. Used to partition logs/analytics by agent; becomes the synthesized caller identity (zeroclick:<agent-id>). Treated as an empty string when absent, which the signer must match.
"agt_1"
Path Parameters
The ID of the AI model to query (e.g., am_01j06ytn18ejftedz6dyhz2b15). Must start with am_. Browse and find AI models in the Dappier Marketplace.
Body
The query text to be passed to the AI model. Cannot be empty.
Response
The AI model response. Includes the zc-usage header settling usage with ZeroClick.
The AI model response. Models that return a structured payload rather than a message emit that payload directly in place of this envelope.
The response of the query sent, generated by the AI model.

