DocumentationAPI reference

Rust · 0.1.0

Create Memo Comment

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

MemoService · MemoService_CreateMemoComment

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.

Comments have their own lifecycle

The body is a Memo, without a comment wrapper. Creation adds an immutable COMMENT context relation to the URL's parent memo. Set the comment's visibility and optional space deliberately; it does not inherit the parent's placement or audience. The parent must be readable and participation permitted. The immediate creation response may omit parent; a subsequent GetMemo hydrates the relation.

Creation ignores state and pinned

The shared Memo schema includes state and pinned, but creation does not write either field. A new memo or comment starts in NORMAL state and is unpinned even if the request supplies ARCHIVED or pinned: true. Create the record first, then use UpdateMemo with the supported state or pinned updateMask paths if you need to change those values. Do not treat every field in the reusable schema as accepted on creation.

Request

CreateMemoComment atomically creates an independent memo plus one immutable COMMENT context relation to the named memo. The new memo keeps its own placement, visibility, authorship, and lifecycle.

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

Parameters

Name / locationType / requirementDescription
memo
path
string
Required
The memo id.
commentId
query
string
Not marked required in OpenAPI
Optional. The comment ID to use.

Request body

Required

application/json · Memo

Responses

200 · OK

application/json · Memo

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": "CreateMemoComment atomically creates an independent memo plus one immutable\n COMMENT context relation to the named memo. The new memo keeps its own\n placement, visibility, authorship, and lifecycle.",
  "operationId": "MemoService_CreateMemoComment",
  "parameters": [
    {
      "name": "memo",
      "in": "path",
      "description": "The memo id.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "commentId",
      "in": "query",
      "description": "Optional. The comment ID to use.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Memo"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Memo"
          }
        }
      }
    },
    "default": {
      "description": "Default error response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Status"
          }
        }
      }
    }
  }
}