← 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.

POST https://a.feedstick.app/feedback OpenAPI spec
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

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.