Introduction
ProductBridge's public API lets external systems read and modify feedback, roadmap, comments, votes, and changelog data.
ProductBridge exposes a public REST API that lets your servers, integrations, and automations read and modify the same data your team uses inside the dashboard. Use it to:
- Pull feedback posts into a CRM or analytics warehouse
- Sync changelog entries into your customer-facing newsletter pipeline
- Programmatically tag, categorize, or merge posts based on signals from your own systems
- Vote on posts and post comments on behalf of your end-users
Pair the API with webhooks to receive push notifications when posts, comments, or votes change — instead of polling.
Base URL
https://api.productbridge.io/api/external/v1/
Every endpoint lives under this prefix. All traffic is HTTPS only; HTTP requests are rejected.
Conventions
POST for everything
Every endpoint uses the POST method, including reads. The request body is JSON; query strings and path parameters are not used for input.
JSON in, JSON out
Always send Content-Type: application/json. Responses are always JSON — even error envelopes.
Authenticated by api_key in body
Pass api_key as a JSON body field on every request. There is no Authorization header, no query-string apiKey.
Cursor pagination on list endpoints
Paginated lists return { items, has_next_page, cursor }. Pass the cursor back in the next request to fetch the next page.
Quickstart
Verify your API key works by calling the /ping endpoint — it returns the authenticated organization's id and slug.
curl -X POST https://api.productbridge.io/api/external/v1/ping \
-H 'Content-Type: application/json' \
-d '{"api_key": "pb_YOUR_PUBLIC_API_KEY"}'
A successful response:
{
"organization_id": "f5b9b8aa-1b1a-4f1e-9a45-12d8a4a55555",
"organization_slug": "acme",
"timestamp": "2026-05-09T12:34:56.789Z"
}
If you get a 401 with {"detail": {"error": "invalid api_key"}}, double-check the key in your dashboard's Settings → API → Public API key page.
What's next
Authenticate
Mint a public API key from the dashboard and learn how to pass it on every request.
Authentication
Where to get your key, how to send it, and how to rotate it.
Understand pagination
List endpoints use a cursor pattern; some return unpaginated arrays. Know which is which before you build.
Pagination
Cursor pattern, has_next_page, and which endpoints don't paginate.
Handle errors
The error envelope is consistent across every endpoint — implement it once, use it everywhere.
Errors
Status codes, the error envelope shape, and a recommended client-side handler.
Pick a resource
Start with Categories for a complete CRUD walkthrough, or jump straight to a resource group in the sidebar.
Want push notifications instead of polling? Pair the API with webhooks so ProductBridge calls your server when posts, comments, or votes change.
Last updated 1 week ago
Built with Documentation.AI