# OneStar developer docs

Put a OneStar Feedback form on your site or in your app, read its answers through the REST API and webhooks, and connect an AI assistant through the [MCP server](https://onestar.sh/mcp). Every page is Markdown at its address plus `.md`.

## Feedback: start

- [OneStar Feedback](https://onestar.sh/docs/feedback.md): Forms, polls and NPS questions on your own site or app, with every answer counted by code next to your store reviews.
- [Quickstart](https://onestar.sh/docs/feedback/quickstart.md): Put a form on a page in a few minutes: create it, allow your site, paste two lines, send a test answer.
- [Testing](https://onestar.sh/docs/feedback/testing.md): Try a form on localhost, use test mode, and read the test answers that never count.
- [With a coding agent](https://onestar.sh/docs/feedback/agents.md): Let Claude Code, Codex, Cursor or another assistant add a form through OneStar's MCP server: scopes, tools, the prompt and an AGENTS.md snippet.

## Feedback: install

- [Frameworks](https://onestar.sh/docs/feedback/frameworks.md): The element in plain HTML, React, Next.js, Vue, Svelte and Astro, with types for JSX.
- [Native apps](https://onestar.sh/docs/feedback/native-apps.md): Show a form in an iOS, Android, React Native or Flutter app through a web view, and close it when the form is answered.
- [Modes and triggers](https://onestar.sh/docs/feedback/modes-and-triggers.md): Inline, popover, slide-in, modal and page modes, your own button, and timed, scroll and exit triggers.
- [Feature boards](https://onestar.sh/docs/feedback/boards.md): Ideas with votes, statuses and comments on your own site with mode="board": who may post, what readers see and the board's events.
- [Allowed sites and security](https://onestar.sh/docs/feedback/security.md): Allowed sites, Content Security Policy lines, what the widget stores and what OneStar keeps.

## Feedback: build on it

- [JavaScript API](https://onestar.sh/docs/feedback/javascript-api.md): window.onestar: open, close, identify, set, submit, threads and reply, with the queue that works before the loader.
- [Events and errors](https://onestar.sh/docs/feedback/events.md): The DOM events the element fires and the error codes onestar:error carries.
- [Your own UI](https://onestar.sh/docs/feedback/headless.md): Send answers from a form you draw yourself, with question and option ids from the builder or the API.
- [Signed in users](https://onestar.sh/docs/feedback/identify-users.md): Sign a short lived token on your server so answers carry a verified user and traits, with Node and Python examples.
- [Context and placements](https://onestar.sh/docs/feedback/context-and-placements.md): Tell OneStar the app version, platform, plan and cohort, name each placement, and read loads, starts and finishes per place.
- [Theming](https://onestar.sh/docs/feedback/theming.md): Match your site with the form's tokens, CSS variables and parts.

## Feedback: server

- [REST API](https://onestar.sh/docs/feedback/rest-api.md): Secret keys and the /v1/owner/ routes: forms, results with filters, answers and import.
- [Webhooks](https://onestar.sh/docs/feedback/webhooks.md): Signed webhook events for new answers, replies and limits, and how to check the signature.
- [Importing answers](https://onestar.sh/docs/feedback/import.md): Bring older answers in by CSV or through the API, checked like answers from the widget.

## Feedback: reference

- [Troubleshooting](https://onestar.sh/docs/feedback/troubleshooting.md): What to check when a form does not load, an answer is refused or a token is ignored.
- [Versions and changes](https://onestar.sh/docs/feedback/versioning.md): How the loader, the element and the API are versioned, and where changes are announced.
