API Reference

v1

The Feedbaxster REST API lets you programmatically access suggestions, issues, comments, and export data. Authenticate with API keys created in your integrations settings.


Authentication

All API requests require an API key. Create keys from the Integrations page in your dashboard. Keys are prefixed with fbx_ and support two scopes:

  • read — list and retrieve resources (default)
  • write — create and update resources

Pass the key via the X-API-Key header or Authorization: Bearer header:

X-API-Key header
curl https://api.feedbaxster.com/api/v1/suggestions \
  -H "X-API-Key: fbx_your_api_key"
Authorization header
curl https://api.feedbaxster.com/api/v1/suggestions \
  -H "Authorization: Bearer fbx_your_api_key"

Base URL

All API endpoints are relative to:

https://api.feedbaxster.com/api/v1

Rate Limiting

API requests are rate limited to 60 requests per minute per API key. If you exceed the limit, you will receive a 429 response:

429 Too Many Requests
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded",
    "retryAfter": 42
  }
}

The retryAfter field indicates seconds until the limit resets.


Pagination

List endpoints return paginated results. Use page and limit query parameters to navigate.

ParameterTypeRequiredDescription
pagenumberoptionalPage number (starts at 1)(default: 1)
limitnumberoptionalResults per page (max 100)(default: 50)
Paginated response shape
{
  "data": [...],
  "total": 142,
  "page": 1,
  "limit": 50
}

Error Handling

Errors return a consistent JSON shape with an HTTP status code:

Error response
{
  "statusCode": 400,
  "message": "Query failed: ...",
  "error": "Bad Request"
}
StatusMeaning
400Bad request — invalid parameters or query
401Unauthorized — missing or invalid API key
403Forbidden — insufficient scope for this action
404Not found — resource does not exist
429Rate limited — too many requests
500Server error — something went wrong on our end

List Suggestions

GET/suggestions

Retrieve a paginated list of suggestions for your business. Supports filtering by status, priority, sentiment, and date.

ParameterTypeRequiredDescription
statusstringoptionalFilter by status (pending, reviewing, in_progress, completed, rejected)
prioritystringoptionalFilter by priority (low, medium, high, critical)
sentimentstringoptionalFilter by sentiment (positive, neutral, negative)
sincestringoptionalISO 8601 date — only return suggestions created after this time
sortstringoptionalSort field(default: created_at)
orderstringoptionalSort direction(default: desc)
pagenumberoptionalPage number(default: 1)
limitnumberoptionalResults per page (max 100)(default: 50)
Example request
curl https://api.feedbaxster.com/api/v1/suggestions?status=pending&limit=10 \
  -H "X-API-Key: fbx_your_api_key"
Example response
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "content": "It would be great to have a mobile app",
      "status": "pending",
      "priority": "medium",
      "sentiment": "positive",
      "sentiment_score": 0.85,
      "customer_name": "Jane Doe",
      "customer_email": "jane@example.com",
      "upvote_count": 3,
      "created_at": "2026-03-15T10:30:00.000Z",
      "updated_at": "2026-03-15T10:30:00.000Z"
    }
  ],
  "total": 42,
  "page": 1,
  "limit": 10
}

Get Suggestion

GET/suggestions/:id

Retrieve a single suggestion by its ID.

Example request
curl https://api.feedbaxster.com/api/v1/suggestions/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: fbx_your_api_key"
Example response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "content": "It would be great to have a mobile app",
  "status": "pending",
  "priority": "medium",
  "sentiment": "positive",
  "sentiment_score": 0.85,
  "customer_name": "Jane Doe",
  "customer_email": "jane@example.com",
  "upvote_count": 3,
  "is_anonymous": false,
  "created_at": "2026-03-15T10:30:00.000Z",
  "updated_at": "2026-03-15T10:30:00.000Z"
}

Update Suggestion

PATCH/suggestions/:idwrite scope

Update a suggestion's status or priority. Requires an API key with write scope.

ParameterTypeRequiredDescription
statusstringoptionalNew status (pending, reviewing, in_progress, completed, rejected)
prioritystringoptionalNew priority (low, medium, high, critical)
Example request
curl -X PATCH https://api.feedbaxster.com/api/v1/suggestions/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: fbx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"status": "reviewing", "priority": "high"}'

List Issues

GET/issues

Retrieve a paginated list of issues for your business. Supports filtering by status, priority, and date.

ParameterTypeRequiredDescription
statusstringoptionalFilter by status (open, assigned, in_progress, resolved, closed)
prioritystringoptionalFilter by priority (low, medium, high, critical)
sincestringoptionalISO 8601 date — only return issues created after this time
sortstringoptionalSort field(default: created_at)
orderstringoptionalSort direction(default: desc)
pagenumberoptionalPage number(default: 1)
limitnumberoptionalResults per page (max 100)(default: 50)
Example request
curl https://api.feedbaxster.com/api/v1/issues?status=open&limit=10 \
  -H "X-API-Key: fbx_your_api_key"
Example response
{
  "data": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440000",
      "title": "Checkout page not loading on mobile",
      "description": "The checkout page shows a blank screen on iPhone Safari",
      "status": "open",
      "priority": "high",
      "assignee_id": null,
      "customer_name": "John Smith",
      "customer_email": "john@example.com",
      "resolved_at": null,
      "created_at": "2026-03-14T08:15:00.000Z",
      "updated_at": "2026-03-14T08:15:00.000Z"
    }
  ],
  "total": 18,
  "page": 1,
  "limit": 10
}

Get Issue

GET/issues/:id

Retrieve a single issue by its ID.

Example request
curl https://api.feedbaxster.com/api/v1/issues/660e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: fbx_your_api_key"
Example response
{
  "id": "660e8400-e29b-41d4-a716-446655440000",
  "title": "Checkout page not loading on mobile",
  "description": "The checkout page shows a blank screen on iPhone Safari",
  "status": "open",
  "priority": "high",
  "assignee_id": null,
  "customer_name": "John Smith",
  "customer_email": "john@example.com",
  "is_anonymous": false,
  "resolved_at": null,
  "created_at": "2026-03-14T08:15:00.000Z",
  "updated_at": "2026-03-14T08:15:00.000Z"
}

Add Suggestion Comment

POST/suggestions/:id/commentswrite scope

Add a comment to a suggestion. The comment is attributed to the API key. Requires write scope.

ParameterTypeRequiredDescription
contentstringrequiredThe comment text
Example request
curl -X POST https://api.feedbaxster.com/api/v1/suggestions/550e8400-e29b-41d4-a716-446655440000/comments \
  -H "X-API-Key: fbx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"content": "We are looking into this feature request."}'
Example response
{
  "id": "770e8400-e29b-41d4-a716-446655440000",
  "entity_type": "suggestion",
  "entity_id": "550e8400-e29b-41d4-a716-446655440000",
  "content": "[via API: My Key Name] We are looking into this feature request.",
  "author_id": "user-uuid",
  "created_at": "2026-03-15T12:00:00.000Z"
}

Add Issue Comment

POST/issues/:id/commentswrite scope

Add a comment to an issue. The comment is attributed to the API key. Requires write scope.

ParameterTypeRequiredDescription
contentstringrequiredThe comment text
Example request
curl -X POST https://api.feedbaxster.com/api/v1/issues/660e8400-e29b-41d4-a716-446655440000/comments \
  -H "X-API-Key: fbx_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"content": "We have identified the root cause."}'

Export Suggestions

GET/export/suggestions

Export all suggestions as JSON or CSV. Supports filtering by status, priority, sentiment, and date range. Maximum 10,000 records per export.

ParameterTypeRequiredDescription
formatstringoptionalExport format(default: json)
statusstringoptionalFilter by status
prioritystringoptionalFilter by priority
sentimentstringoptionalFilter by sentiment
sincestringoptionalISO 8601 start date
untilstringoptionalISO 8601 end date
Export as CSV
curl "https://api.feedbaxster.com/api/v1/export/suggestions?format=csv&since=2026-01-01" \
  -H "X-API-Key: fbx_your_api_key" \
  -o suggestions.csv
Export as JSON
curl "https://api.feedbaxster.com/api/v1/export/suggestions?format=json" \
  -H "X-API-Key: fbx_your_api_key"

Export Issues

GET/export/issues

Export all issues as JSON or CSV. Supports filtering by status, priority, and date range. Maximum 10,000 records per export.

ParameterTypeRequiredDescription
formatstringoptionalExport format(default: json)
statusstringoptionalFilter by status
prioritystringoptionalFilter by priority
sincestringoptionalISO 8601 start date
untilstringoptionalISO 8601 end date
Export as CSV
curl "https://api.feedbaxster.com/api/v1/export/issues?format=csv" \
  -H "X-API-Key: fbx_your_api_key" \
  -o issues.csv

Enums

Reference for all enum values used in API requests and responses.

SuggestionStatus

pendingreviewingin_progresscompletedrejected

IssueStatus

openassignedin_progressresolvedclosed

Priority

lowmediumhighcritical

Sentiment

positiveneutralnegative