---
title: "Get Reactions"
method: GET
path: "/v1/reactions"
---

# Get Reactions

`GET /v1/reactions`

Batched per-viewer state for the ids on screen: one call per feed page.

Returns an entry for EVERY requested id (deduplicated, canonical lowercase
UUID) so the overlay can seed each cell without a second lookup; an id that
is unknown, deleted, or belongs to another org simply reads ``liked: false``.

Joined to ``content`` so a like on since-deleted (or erased) content reads
false: the reaction row itself is kept — content is never hard-deleted and
nothing sweeps this table yet — but it is never served. That keeps the
promise above true for a custom-feed overlay still holding a stale id.

## Query parameters

- `contentIds` string, nullable — Comma-separated content IDs (max 50)
- `kind` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-18** `4ae6831e1d29` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/shortkit/apis/shortkit-api/changes/v1/reactions/get.md)

---

[API](https://skmtc.dev/shortkit/apis/shortkit-api.md) · [All operations](https://skmtc.dev/shortkit/apis/shortkit-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shortkit/apis/shortkit-api/revisions/0ff8f106dc2e?raw)
