# Votes, Reactions, Bookmarks, Notes & Polls Lightweight engagement actions. The vote/reaction/bookmark POST endpoints here are **toggles** - sending the same action again removes it. They return JSON when called with `X-Requested-With: fetch` (sent automatically by the panels below); the [Conventions & Errors](/docs/conventions.html) page explains that header rule and the response envelope. Personal notes are private, per-user annotations attached to a piece of content - only you can ever see your own notes. Every endpoint follows the shared [Conventions & Errors](/docs/conventions.html) (auth, content negotiation, pagination, status codes); see [Authentication](/docs/authentication.html) for the four ways to sign requests.
POST /votes/{target_type}/{target_uid} Minimal role: Member

Cast or toggle a vote

Upvote or downvote a target. Re-sending the same value, or sending 0, removes the vote.

POST /reactions/{target_type}/{target_uid} Minimal role: Member

Toggle an emoji reaction

Add or remove an emoji reaction on a target.

POST /bookmarks/{target_type}/{target_uid} Minimal role: Member

Toggle a bookmark

Save or unsave a target to your bookmarks.

GET /bookmarks/saved Minimal role: Member

View saved bookmarks

Render your saved content. Returns an HTML page.

POST /notes/{target_type}/{target_uid} Minimal role: Member

Add or update a personal note

Save a private note on a target. Only you can ever see it.

POST /notes/{target_type}/{target_uid}/delete Minimal role: Member

Delete a personal note

Remove your private note from a target.

GET /notes/saved Minimal role: Member

View your personal notes

Render your saved notes. Returns an HTML page.

POST /polls/{poll_uid}/vote Minimal role: Member

Vote in a poll

Cast, change, or clear your vote on a poll option.