Feedback API
Submit and manage user feedback through our REST API. Collect bug reports, feature requests, and general feedback from your users.
Base URL
https://api.feedbackkit.ioAuthentication
All API requests require authentication using your API key. Include it in the request headers:
curl -X POST https://api.feedbackkit.io/feedback \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"type": "bug",
"priority": "high",
"title": "Login button not working",
"description": "Users cannot log in on mobile devices"
}'Submit Feedback
POST /feedback
Submit new feedback from your users. This endpoint accepts feedback with optional screenshots and metadata.
Request Body
Required Fields
Optional Fields
Feedback Types
Something isn't working
Suggest a new feature
App crashed or error occurred
General thoughts or suggestions
Priority Levels
Minor issue or suggestion
Moderate issue or feature
Important issue or feature
App is unusable or major issue
Example Request
{
"type": "bug",
"priority": "high",
"title": "Login button not working on mobile",
"description": "Users are unable to log in when using mobile devices. The login button appears but doesn't respond to taps.",
"email": "user@example.com",
"screenshot": {
"imageData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"pointerData": {
"x": 150,
"y": 200,
"annotation": "Login button here"
}
},
"metadata": {
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)",
"url": "https://example.com/login",
"screenSize": "375x667"
}
}Response
{
"id": "fb_123456789",
"status": "pending",
"createdAt": "2025-01-15T10:30:00Z"
}Error Handling
The API returns appropriate HTTP status codes and error messages for different scenarios.
Invalid request data or missing required fields
{
"error": "Invalid request data",
"details": [
{
"field": "type",
"message": "Invalid feedback type"
}
]
}Missing or invalid API key
{
"error": "Invalid API key"
}Rate limit exceeded
{
"error": "Rate limit exceeded"
}Rate Limiting
API requests are rate limited to prevent abuse. The current limits are:
SDK Examples
JavaScript
// Using fetch
const response = await fetch('https://api.feedbackkit.io/feedback', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
type: 'bug',
priority: 'high',
title: 'Login button not working',
description: 'Users cannot log in on mobile devices'
})
});
const result = await response.json();
console.log(result);React Component
import { FeedbackWidget } from 'feedbackkit';
function App() {
return (
<FeedbackWidget apiKey="YOUR_API_KEY" appName="My App" />
);
}