API Reference
API Reference.
Integrate Grova into your stack with the REST API.
Authentication
The Grova API supports two authentication methods:
- JWT Bearer Token — Pass your session token in the Authorization header:
Authorization: Bearer <token> - API Key — Use a per-project API key via the
x-grova-keyheader. Keys are prefixed withgv_and can be generated in your project settings.
API keys are scoped to a single project and can only access resources within that project. JWT tokens have access to all projects the authenticated user belongs to.
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /feedback | Submit new feedback. Triggers AI triage automatically. |
GET | /feedback | List feedback for a project. Supports filtering and pagination. |
POST | /feedback/:id/approve | Approve a feedback item and mark it as reviewed. |
POST | /actions/send | Send a smart action email for a feedback item. |
POST | /actions/send-suggested | Send the AI-suggested action without modification. |
GET | /billing/status | Check current plan, usage, and billing status. |
Example: Submit Feedback
Send a POST request to create a new feedback item. The AI triage pipeline runs automatically after submission.
Request
POST /feedback HTTP/1.1
Host: api.grova.dev
Content-Type: application/json
x-grova-key: gv_your_project_key
{
"content": "The checkout page crashes on Safari when I click pay.",
"source": "your-app",
"email": "user@example.com",
"metadata": {
"browser": "Safari 17.2",
"os": "macOS 14.3",
"url": "/checkout"
}
}Response
{
"id": "fb_abc123",
"status": "triaging",
"score": null,
"message": "Feedback received. Triage in progress."
}Rate Limiting
Public endpoints (feedback submission via widget or API key) are rate limited to 10 requests per minute per source IP. Authenticated endpoints using JWT tokens have higher limits based on your plan tier. Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.