---
title: "POST /api/v1/memos"
method: POST
path: "/api/v1/memos"
tags: ["MemoService"]
---

# POST /api/v1/memos

`POST /api/v1/memos`

CreateMemo creates a memo.

## Query parameters

- `memoId` string

## Request body

- Memo
  - `name` string — The resource name of the memo. Format: memos/{memo}, memo is the user defined id or uuid.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required — The state of the memo.
  - `creator` string — The name of the creator. Format: users/{user}
  - `createTime` string, date-time — Output only. The creation timestamp.
  - `updateTime` string, date-time — Output only. The last update timestamp.
  - `displayTime` string, date-time — The display timestamp of the memo.
  - `content` string, required — Required. The content of the memo in Markdown format.
  - `visibility` 'VISIBILITY_UNSPECIFIED' | 'PRIVATE' | 'PROTECTED' | 'PUBLIC', enum, required — The visibility of the memo.
  - `tags` string[] — Output only. The tags extracted from the content.
  - `pinned` boolean — Whether the memo is pinned.
  - `attachments` Attachment[] — Optional. The attachments of the memo.
    - `name` string — The name of the attachment. Format: attachments/{attachment}
    - `createTime` string, date-time — Output only. The creation timestamp.
    - `filename` string, required — The filename of the attachment.
    - `content` string, bytes — Input only. The content of the attachment.
    - `externalLink` string — Optional. The external link of the attachment.
    - `type` string, required — The MIME type of the attachment.
    - `size` string — Output only. The size of the attachment in bytes.
    - `memo` string — Optional. The related memo. Refer to `Memo.name`. Format: memos/{memo}
  - `relations` MemoRelation[] — Optional. The relations of the memo.
    - `memo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `relatedMemo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `type` 'TYPE_UNSPECIFIED' | 'REFERENCE' | 'COMMENT', enum, required
  - `reactions` Reaction[] — Output only. The reactions to the memo.
    - `name` string — The resource name of the reaction. Format: reactions/{reaction}
    - `creator` string — The resource name of the creator. Format: users/{user}
    - `contentId` string, required — The resource name of the content. For memo reactions, this should be the memo's resource name. Format: memos/{memo}
    - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
    - `createTime` string, date-time — Output only. The creation timestamp.
  - `property` MemoProperty — Computed properties of a memo.
    - `hasLink` boolean
    - `hasTaskList` boolean
    - `hasCode` boolean
    - `hasIncompleteTasks` boolean
  - `parent` string — Output only. The name of the parent memo. Format: memos/{memo}
  - `snippet` string — Output only. The snippet of the memo content. Plain text only.
  - `location` Location
    - `placeholder` string — A placeholder text for the location.
    - `latitude` number, double — The latitude of the location.
    - `longitude` number, double — The longitude of the location.

## Response `200`

OK

- Memo
  - `name` string — The resource name of the memo. Format: memos/{memo}, memo is the user defined id or uuid.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required — The state of the memo.
  - `creator` string — The name of the creator. Format: users/{user}
  - `createTime` string, date-time — Output only. The creation timestamp.
  - `updateTime` string, date-time — Output only. The last update timestamp.
  - `displayTime` string, date-time — The display timestamp of the memo.
  - `content` string, required — Required. The content of the memo in Markdown format.
  - `visibility` 'VISIBILITY_UNSPECIFIED' | 'PRIVATE' | 'PROTECTED' | 'PUBLIC', enum, required — The visibility of the memo.
  - `tags` string[] — Output only. The tags extracted from the content.
  - `pinned` boolean — Whether the memo is pinned.
  - `attachments` Attachment[] — Optional. The attachments of the memo.
    - `name` string — The name of the attachment. Format: attachments/{attachment}
    - `createTime` string, date-time — Output only. The creation timestamp.
    - `filename` string, required — The filename of the attachment.
    - `content` string, bytes — Input only. The content of the attachment.
    - `externalLink` string — Optional. The external link of the attachment.
    - `type` string, required — The MIME type of the attachment.
    - `size` string — Output only. The size of the attachment in bytes.
    - `memo` string — Optional. The related memo. Refer to `Memo.name`. Format: memos/{memo}
  - `relations` MemoRelation[] — Optional. The relations of the memo.
    - `memo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `relatedMemo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `type` 'TYPE_UNSPECIFIED' | 'REFERENCE' | 'COMMENT', enum, required
  - `reactions` Reaction[] — Output only. The reactions to the memo.
    - `name` string — The resource name of the reaction. Format: reactions/{reaction}
    - `creator` string — The resource name of the creator. Format: users/{user}
    - `contentId` string, required — The resource name of the content. For memo reactions, this should be the memo's resource name. Format: memos/{memo}
    - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
    - `createTime` string, date-time — Output only. The creation timestamp.
  - `property` MemoProperty — Computed properties of a memo.
    - `hasLink` boolean
    - `hasTaskList` boolean
    - `hasCode` boolean
    - `hasIncompleteTasks` boolean
  - `parent` string — Output only. The name of the parent memo. Format: memos/{memo}
  - `snippet` string — Output only. The snippet of the memo content. Plain text only.
  - `location` Location
    - `placeholder` string — A placeholder text for the location.
    - `latitude` number, double — The latitude of the location.
    - `longitude` number, double — The longitude of the location.

## Other responses

- `default` — Default error response

## Changes

- **2025-12-15** `d740073f088f` — 4 warning, 6 info
  - removed the request property `attachments/items/motionMedia`
  - removed the request property `property/allOf[#/components/schemas/Memo_Property]/title`
  - removed the optional property `attachments/items/motionMedia` from the response with the `200` status
  - removed the optional property `property/allOf[#/components/schemas/Memo_Property]/title` from the response with the `200` status
  - …6 more

[Change history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/memos/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/d740073f088f/schema)
