POST per question. There is no handshake, no discovery call, and no batching.
Method and headers
The auth header name must be a valid HTTP token. Anagram refuses names it owns or that would change transport behavior:
Host, Content-Length, Content-Type, Accept, Connection, Transfer-Encoding, TE, Trailer, Upgrade, Keep-Alive, Expect, Cookie, and Set-Cookie. The value may not contain line breaks or NUL bytes.
Anagram sends no cookies and does not follow redirects. Requests originate from Anagram’s servers, not from the shopper’s browser, so there is no CORS involved.
Body
Unknown fields will never appear. If you want to be strict, reject bodies with extra keys.
What the question looks like
The agent writes the question, not the shopper. It folds in the context the shopper has given so far (conditions, use case, experience level, location, constraints) into one self-contained sentence or two. You do not receive the conversation transcript, the shopper’s identity, the cart, or the page they are on. Some real examples of what arrives:no_answer rather than guessing.
When and how often
- The agent decides per turn whether your source is relevant. Many turns produce zero requests.
- At most 2 requests are sent per shopper turn. If the agent asks the same question twice in one turn, only one request goes out.
- Requests can arrive concurrently across different shoppers. Plan capacity for your shopper traffic, not for a fixed rate.
- There are no retries. A failed request is a failed turn, not a queued one.