---
title: "POST /api/v1/memos/{memo}/reactions"
method: POST
path: "/api/v1/memos/{memo}/reactions"
tags: ["MemoService"]
---

# POST /api/v1/memos/{memo}/reactions

`POST /api/v1/memos/{memo}/reactions`

UpsertMemoReaction adds or updates the authenticated user's reaction on a memo.

## Path parameters

- `memo` string, required

## Request body

- UpsertMemoReactionRequest
  - `name` string, required — Required. The resource name of the memo. Format: memos/{memo}
  - `reaction` Reaction, required — Reaction is a reaction attached to a memo.
    - `name` string — The resource name of the reaction. Format: memos/{memo}/reactions/{reaction}
    - `creator` string — The resource name of the creator. Format: users/{user}
    - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
    - `createTime` string, date-time — Output only. The creation timestamp.

## Response `200`

OK

- Reaction — Reaction is a reaction attached to a memo.
  - `name` string — The resource name of the reaction. Format: memos/{memo}/reactions/{reaction}
  - `creator` string — The resource name of the creator. Format: users/{user}
  - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
  - `createTime` string, date-time — Output only. The creation timestamp.

## Other responses

- `default` — Default error response

## Changes

- **2026-08-21** `2f6093dc8600` — 1 breaking, 1 warning
  - removed the required property `contentId` from the response with the `200` status
  - removed the request property `reaction/allOf[#/components/schemas/Reaction]/contentId`

[Change history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/memos/:memo/reactions/post.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) · [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usememos/untitled-api/revisions/9f2688df7c2e/schema)
