Yes. Userorbit has a public API for working with feedback, announcements, roadmap topics, help center articles, subscribers, projects, tags, and related resources.

How authentication works

Create an API key from Settings > API Keys. API requests use both your API key and Team ID:

Authorization: Bearer YOUR_API_KEY
x-team-id: YOUR_TEAM_ID
Content-Type: application/jsonTypeScript

How requests are structured

All public API operations are sent as POST requests to action endpoints:

POST https://api.userorbit.com/api/v1/feedbacks.listTypeScript

Send any parameters as a JSON request body. For example, to list feedback:

curl -X POST https://api.userorbit.com/api/v1/feedbacks.list   -H "Authorization: Bearer YOUR_API_KEY"   -H "x-team-id: YOUR_TEAM_ID"   -H "Content-Type: application/json"   -d '{}'TypeScript

Common resources

  • Feedback: feedbacks.list, feedbacks.create, feedbacks.update

  • Announcements: announcements.list, announcements.create, announcements.update

  • Roadmaps: roadmaps.list, topics.list, topics.create

  • Help Center: articles.list, articles.create, articles.update

If you need help choosing the right endpoint, contact support with the workflow you want to automate.

Keep browser identifiers and API credentials separate

The Account ID used to initialize the browser SDK is not an administrative API key. Keep the API key in your server or automation's secret store, and send the Team ID for the workspace you intend to access. Do not put the Bearer credential in client-side JavaScript, public examples or shared request logs.

Use a read-only key for read-only automation. A write operation requires an appropriate read/write key and the permissions required by the endpoint. See API key management.

Paginate list responses

For list endpoints that return a pagination object, send limit and offset in the JSON body. For example:

{ "limit": 100, "offset": 0 }
JSON

Read data, then increase the offset by the returned pagination.limit. Stop when a page contains fewer results than that limit; if it contains exactly the limit, request another page. Keep filters and sorting consistent between requests. A nextPath value indicates the next offset but does not by itself prove another non-empty page exists. Requests remain POST operations.

Endpoint-specific limits and required filters still apply. Concurrent additions or removals can affect an offset-based export; record when an export ran and reconcile it when a consistent snapshot matters.

Diagnose errors and uncertain writes

Response or symptom Next step
400 Read the error and correct missing fields, types or pagination values.
401 Check the credential, Team ID and access to that workspace.
403 Check key scope and the permission required by the operation.
404 Check the endpoint/resource ID and workspace context.
Timeout or server failure during a write Check whether the intended resource was created or changed before repeating the operation.

A timed-out create request may have completed. Blindly retrying can create duplicates. Store the returned resource ID after success; if the outcome is unknown, reconcile through an appropriate list or info operation. Use bounded retries with delay for transient read failures, and stop retrying unchanged authentication or validation failures.

When contacting support, include the action endpoint, timestamp/time zone, HTTP status and sanitized error. Exclude credentials and customer payloads.

Was this helpful?