Skip to main content
These endpoints expose aggregate and recent 👍/👎 feedback collected when members react to AI responses. All endpoints require admin-level authentication. Base path: /api/v1/guilds/:id/ai-feedback Authentication: API key or JWT Bearer token required.

GET /guilds/:id/ai-feedback/stats

Returns aggregate feedback counts and a daily trend for the guild.

Path parameters

id
string
required
The Discord guild ID.

Query parameters

days
integer
default:"30"
Number of days for the trend window. Minimum 1, maximum 90.

Response

positive
integer
Total thumbs-up reactions received.
negative
integer
Total thumbs-down reactions received.
total
integer
Total feedback entries.
ratio
integer | null
Positive feedback percentage (0–100), or null if no feedback has been recorded.
trend
array
Daily breakdown for the requested window.

Example

curl -H "x-api-secret: YOUR_SECRET" \
  "https://volvox.bot/api/v1/guilds/987654321/ai-feedback/stats?days=7"
{
  "positive": 142,
  "negative": 18,
  "total": 160,
  "ratio": 89,
  "trend": [
    { "date": "2026-03-15", "positive": 22, "negative": 3 },
    { "date": "2026-03-16", "positive": 19, "negative": 2 }
  ]
}

GET /guilds/:id/ai-feedback/recent

Returns the most recent feedback entries for the guild, newest first.

Path parameters

id
string
required
The Discord guild ID.

Query parameters

limit
integer
default:"25"
Maximum number of entries to return. Maximum 100.

Response

feedback
array
List of feedback entries, ordered newest first.

Example

curl -H "x-api-secret: YOUR_SECRET" \
  "https://volvox.bot/api/v1/guilds/987654321/ai-feedback/recent?limit=5"
{
  "feedback": [
    {
      "id": 482,
      "messageId": "1234567890123456789",
      "channelId": "111222333",
      "userId": "444555666",
      "feedbackType": "positive",
      "createdAt": "2026-03-21T10:32:00.000Z"
    }
  ]
}

Error responses

StatusCause
401Missing authentication
403Authenticated user is not a guild admin
503Database unavailable

Build docs developers (and LLMs) love