MemoService · MemoService_CreateMemo
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.
Create a private test memo
The JSON body is the Memo itself. The server assigns ownership and, unless memoId is supplied, a new UID. Omitted visibility defaults to PRIVATE. Tags and computed properties are derived from Markdown. Save the returned name for later reads and edits; retrying a POST with a generated ID can create a second memo.
curl --fail-with-body -X POST \
-H "Authorization: Bearer $MEMOS_TOKEN" \
-H "Content-Type: application/json" \
--data '{"content":"API test memo","visibility":"PRIVATE","state":"NORMAL"}' \
"$MEMOS_URL/api/v1/memos"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
CreateMemo creates a memo. The request body is a Memo; set its content (Markdown) and visibility (PRIVATE | PROTECTED | PUBLIC | SPACE, default PRIVATE). The memo is owned by the authenticated user; requires authentication.
/api/v1/memosParameters
| Name / location | Type / requirement | Description |
|---|---|---|
memoIdquery | string Not marked required in OpenAPI | Optional. The memo ID to use for this memo. If empty, a unique ID will be generated. Format: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,34}[a-zA-Z0-9])?$ |
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": "CreateMemo creates a memo. The request body is a Memo; set its content\n (Markdown) and visibility (PRIVATE | PROTECTED | PUBLIC | SPACE,\n default PRIVATE).\n The memo is owned by the authenticated user; requires authentication.",
"operationId": "MemoService_CreateMemo",
"parameters": [
{
"name": "memoId",
"in": "query",
"description": "Optional. The memo ID to use for this memo.\n If empty, a unique ID will be generated.\n Format: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,34}[a-zA-Z0-9])?$",
"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"
}
}
}
}
}
}