The sheet uses the thread endpoint. A one-shot report can still POST to /api/v1/feedback. Metadata is a JSON object the app passes in, for example { "userId": "user_123", "plan": "pro" }.
POST https://www.tryfeedflow.com/api/v1/conversations
Content-Type: application/json
X-Thread-Token: stored on the device after the first reply
{
"publicKey": "ff_pk_…",
"message": "Login overlaps the home indicator",
"type": "bug",
"platform": "web" | "expo" | "ios",
"metadata": { "userId": "user_123", "plan": "pro" }
}
POST https://www.tryfeedflow.com/api/v1/feedback
Content-Type: application/json
{
"publicKey": "ff_pk_…",
"type": "bug" | "feature" | "general",
"message": "Login overlaps the home indicator",
"platform": "web" | "expo" | "ios",
"reporterEmail": "optional@user.dev",
"screen": "Login",
"appVersion": "1.4.2",
"screenshotBase64": "data:image/png;base64,…"
}