A script, form or internal tool sends feedback with POST https://api.annsa.ai/surface/submit and your survey API key. A coding agent uses the MCP server at https://app.annsa.ai/mcp. Annsa has no general-purpose REST key.
01 Which door to use
02 Send one item
Take your survey API key from Settings, then Surveys, and send it in the JSON body as api_key, not as a header.
{
"api_key": "YOUR_SURVEY_KEY",
"text": "The export keeps timing out on large boards",
"email": "sam@acme.com"
}
text is the feedback. email lets Annsa draft a note when you ship. feedback_type (bug, feature, question or other) is optional. Annsa also reads the intent from the text. To set name and revenue, import a CSV. See Importing feedback.
03 Duplicates and limits
The same text twice is one item. A new item returns { "id": "..." }. A duplicate returns its id and "duplicate": true. Survey submissions are limited to 5,000 an hour. Past your plan's monthly limit, items are held, not dropped. See Held feedback.
04 Send a transcript
POST https://api.annsa.ai/transcripts/upload with text (50 to 500,000 characters) and title (1 to 500 characters). Without a title you get a 422. customer_email lets Annsa draft a note when you ship. Annsa recognizes a repeat upload and doesn't add it again. An agent credential is refused for transcript upload.
05 The full spec
Every endpoint is in an OpenAPI 3.1 document at annsa.ai/openapi.json, including which credential each accepts.