Create, import, retrieve, filter, update, and delete ChangeCrab feedback using the authenticated Suggestions API.
Use the authenticated Suggestions API to bring feedback from support, forms, or another feedback tool into ChangeCrab. The same endpoints can retrieve, filter, moderate, update, and delete feedback without exposing ChangeCrab's internal database fields.
GET /api/changelogs.X-API-Key request header.X-API-Key: your_api_key_here
Content-Type: application/json
Create a feature request, bug, idea, or improvement with POST /api/changelogs/{id}/suggestions. The title, description, and type are required. If status_id is omitted, ChangeCrab uses the changelog's initial feedback status.
curl https://changecrab.com/api/changelogs/abc123def4/suggestions \
--request POST \
--header "X-API-Key: your_api_key_here" \
--header "Content-Type: application/json" \
--data '{
"title": "Export roadmap votes",
"description": "Let admins export visible vote totals for planning.",
"type": "feature_request",
"visibility": "public",
"context": {
"customer_segment": "Workspace admins",
"business_impact": "Needed for quarterly planning",
"workaround": "Copy totals into a spreadsheet"
}
}'
API-created feedback is approved by default because API keys are an admin integration surface. Send "is_approved": false when imported feedback should enter moderation first.
Bug reports can include severity and structured context. Bug reports require the Premium feedback workflow and must be enabled for the changelog.
{
"title": "CSV export stalls in Chrome",
"description": "The export never finishes for workspaces with large roadmaps.",
"type": "bug",
"severity": "high",
"visibility": "private",
"context": {
"expected_behavior": "The CSV downloads within a few seconds.",
"actual_behavior": "The progress indicator runs indefinitely.",
"steps_to_reproduce": "Open Roadmap, choose Export, then select CSV.",
"environment": "Chrome 126 on macOS",
"page_url": "https://app.example.com/roadmap"
}
}
GET /api/changelogs/{id}/suggestions returns newest items first with a maximum of 100 items per page. It is an authenticated admin view, so it can return public, private, internal, unapproved, and approved feedback.
GET /api/changelogs/abc123def4/suggestions
?type=bug
&visibility=private
&is_approved=true
&updated_after=2026-08-01T00:00:00Z
&per_page=50
Available filters are:
typestatus_idvisibilityis_approvedsearch, which searches the title and descriptionupdated_after, which is useful for incremental synchronizationpage and per_page
Send one or more supported fields to PATCH /api/changelogs/{id}/suggestions/{suggestionId}. Sending a context object replaces the existing public context object.
curl https://changecrab.com/api/changelogs/abc123def4/suggestions/482 \
--request PATCH \
--header "X-API-Key: your_api_key_here" \
--header "Content-Type: application/json" \
--data '{
"is_approved": true,
"visibility": "public",
"title": "Export feedback and roadmap votes"
}'
The API does not return creator identifiers, email addresses, IP-derived identities, individual voters, arbitrary metadata, internal notes, revenue signals, assignee database IDs, subscriptions, lifecycle records, or internal scoring inputs. Unknown request fields are rejected with a validation error rather than silently stored.
DELETE /api/changelogs/{id}/suggestions/{suggestionId} permanently removes the item and its votes, comments, official responses, followers, view records, and lifecycle history. Existing suggestions marked as duplicates of it are detached. Use deletion only when the feedback should no longer exist; use approval or visibility for moderation.