Prerequisites
Before you make the request, confirm that you have:- An Owner or Admin role in the workspace, which is required to create an API key.
- A key created under Settings → API Tokens with the
feedback:readscope. - The production base URL:
https://app.gleanfeed.com/api/v1.
List recent feedback
1
Copy your API key
Create the key in Settings → API Tokens, select
feedback:read, and copy the value when it
appears. Glean Feed shows the full key once.Save it in your current terminal session:2
Send the request
Request the most recent feedback item:The key determines which workspace the API reads. You do not pass a workspace ID or slug.
3
Check the response
A workspace with feedback returns a A workspace with no requests returns
data array and pagination details:"data": []. That is also a successful response.You are connected when the request returns HTTP
200, a data array, and a pagination object.
Any items in data come only from the workspace attached to your key.How access is limited
Every credential is attached to one workspace and a set of scopes. This request needsfeedback:read; a key without that scope receives 403 forbidden. A resource ID from another workspace returns 404, just like an ID that does not exist, so the API does not reveal data across workspaces.
Grant only the scopes your integration needs. See Authentication for key storage, OAuth, rotation, and revocation, and Scopes for the complete catalog.
Continue building
Try more requests
Filter feedback, follow pagination, and create a request from your server.
Browse endpoints
Find supported feedback, roadmap, changelog, tag, and workspace operations.
Choose scopes
Grant the least access required for each operation.
Connect over MCP
Give an AI assistant approved access to supported workspace operations.
Reference essentials
Base URL
All REST paths start with:Versioning
The version is part of the path. The machine-readable OpenAPI 3.1 contract is available athttps://app.gleanfeed.com/api/v1/openapi.json.
Response envelope
Successful requests return their result indata. List requests also return a pagination object. Create requests return the new resource in data and use HTTP 201.
Pagination
List endpoints acceptlimit (default 25, maximum 100) and an opaque cursor. When pagination.hasMore is true, send the previous response’s pagination.nextCursor as the next request’s cursor. Do not parse or modify the cursor.
Errors
Errors include an HTTP status and a stableerror.code. Branch on the code rather than the human-readable message.
Limits
REST requests are limited to 120 requests per minute for each API key and 600 requests per minute across all keys in a workspace. The API returns429 rate_limited with a Retry-After header when either limit is reached.
Write request bodies are limited to 1 MB. Individual fields have narrower limits; for example, feedback titles allow 1–200 characters, descriptions allow up to 10,000 characters, source URLs allow up to 2,048 characters, and metadata allows up to 10 keys. The endpoint catalog and OpenAPI contract define the fields for each operation.
Idempotency
Create operations accept anIdempotency-Key header. Reusing the same key for the same operation returns the original result instead of creating a duplicate. If the original request is still running, the API returns 409 in_progress with a Retry-After header; retry the same key after that delay. See the server-side creation example.