← Back to Feedstick API Reference
Submit feedback
Send user feedback to Feedstick from anywhere — a browser widget, your
backend, or a one-off script. A single authenticated POST
carrying the feedback text is all it takes.
curl -X POST https://a.feedstick.app/feedback \
-H "X-Feedstick-Key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"content":"Love the new dashboard, but export is slow."}' import requests
requests.post(
"https://a.feedstick.app/feedback",
headers={"X-Feedstick-Key": "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={"content":"Love the new dashboard, but export is slow."},
) await fetch("https://a.feedstick.app/feedback", {
method: "POST",
headers: {
"X-Feedstick-Key": "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({"content":"Love the new dashboard, but export is slow."}),
}); package main
import (
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://a.feedstick.app/feedback",
strings.NewReader(`{"content":"Love the new dashboard, but export is slow."}`))
req.Header.Set("X-Feedstick-Key", "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx")
req.Header.Set("Content-Type", "application/json")
http.DefaultClient.Do(req)
} using System.Net.Http;
using System.Text;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Feedstick-Key", "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx");
await client.PostAsync("https://a.feedstick.app/feedback",
new StringContent(@"{""content"":""Love the new dashboard, but export is slow.""}", Encoding.UTF8, "application/json")); Request body
content req Feedback text (1–10,000 characters).
context Arbitrary JSON — page, app version, user agent, anything useful.
type feature · bug · feedback · support — omit to auto-classify.
source_label Free-text label for where the feedback came from (app name, marketing site, CLI, …).
submitter_email Reporter's email, if you collect it.
Responses
- 201 Created. Returns { id }.
- 400 Bad Request. Missing or oversized content (>10,000 chars), or an unrecognized type.
- 401 Unauthorized. Missing, unknown, or disabled X-Feedstick-Key.
- 413 Payload Too Large. Request body exceeds 64 KB.
- 429 Rate Limited. Too many requests for this app — back off using the Retry-After header.
Need a key? Every app has a public
pk_live_…
ingest key. Owners and admins copy it from the
dashboard; rotate or revoke it anytime. It only
grants write access to this one endpoint, so it's safe to ship in client
code.