Two ingress paths, one pipeline.
JSON body: text, optional customer name and email, source tag. One row per call.
Idempotent via a 24-hour dedup hash. Five thousand requests per hour per account.
MCP ingress for AI agents — submit feedback or transcripts via Cursor or Claude Code, same auth path.
Over-limit rows enter the feedback queue and release FIFO on the next billing cycle or top-up.
The same pipeline, however it arrives.
Direct API or MCP ingress — both land in the same clustering, ranking and attribution flow.
A 24-hour dedup hash means accidental re-sends don’t double-count.
Over-limit feedback queues. Upgrade or top-up releases it FIFO.
Direct API: 5,000 requests per hour per account. Batch: idempotent via generate_idempotency_hash() with 24-hour dedup window. MCP: same OAuth as Cursor and Claude Code. Over-limit rows held in feedback_queue and released by the background sweep_feedback_queue task.
Asked and answered.
When you have a custom source — your own help desk, a homegrown survey, a niche tool with no native integration. The API gives you the same pipeline without the wait.
When an AI agent is collecting feedback or transcribing a call on a user’s behalf, and you want it to land directly in Circuit. circuit.act has submit and transcript actions for exactly this.
Five thousand requests per hour per account. Beyond that, requests are rejected with a clear error — not silently dropped.
Rows enter a feedback queue and stay there. The next billing cycle or a top-up releases them FIFO. Voice is never the thing you lose to billing.
Part of Circuit’s autonomous product intelligence stack — see the full picture.