DocumentationAPI reference

Rust · 0.1.0

Upsert Memo Reaction

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

MemoService · MemoService_UpsertMemoReaction

Protocol-derived reference. Authorization and instance policy still apply. Schema descriptions are inherited from the MIT-licensed application contract; examples here are not executed against a live server.

Access

Requires an authenticated account. Creating in a space or participating on an existing memo applies additional placement/read checks; authentication alone is not permission to modify someone else's memo.

Reaction input and retry caution

Provide the reaction object containing reactionType; the caller and parent memo are determined by authentication and the URL. The Rust handler inserts a reaction record. Do not assume that repeating an identical POST is a harmless update solely because the operation is called Upsert; inspect the existing reactions before retrying an ambiguous result.

Request

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

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

Parameters

Name / locationType / requirementDescription
memo
path
string
Required
The memo id.

Request body

Required

application/json · UpsertMemoReactionRequest

Responses

200 · OK

application/json · Reaction

default · Default error response

application/json · Status

Complete operation definition

All declared constraints, media types and response details are retained below. Schema references link to their complete definitions.

Open JSON definition
{
  "tags": [
    "MemoService"
  ],
  "description": "UpsertMemoReaction adds or updates the authenticated user's reaction on a memo.",
  "operationId": "MemoService_UpsertMemoReaction",
  "parameters": [
    {
      "name": "memo",
      "in": "path",
      "description": "The memo id.",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpsertMemoReactionRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Reaction"
          }
        }
      }
    },
    "default": {
      "description": "Default error response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Status"
          }
        }
      }
    }
  }
}