DocumentationAPI reference

Rust · 0.1.0

Update Memo

PATCH /api/v1/memos/{memo}

MemoService · MemoService_UpdateMemo

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.
Before changing data

When updateMask includes attachments, the provided list replaces the complete attachment set. Omitted attachments are deleted, including storage cleanup. Retaining only one member of an existing APPLE_LIVE_PHOTO pair can remove both members, including the one explicitly retained, if the update passes content-reference validation; keep the full pair or intentionally remove both. Content changes must remain consistent with managed image references. Review the attachment replacement operation before updating these fields.

Access

Requires the memo creator or an instance administrator. Updates and share management also check applicable space placement. Space membership by itself does not grant ownership of another member's memo.

Patch only the intended fields

Send a Memo-shaped JSON body and an explicit updateMask. Supported paths include content, visibility, space, pinned, state, create_time, update_time, location, attachments and relations. The server does not automatically refresh updateTime for every edit; include update_time in the mask when you want it updated. Changing a SPACE memo's placement requires an explicit visibility decision. Active share grants must be removed before changing visibility to SPACE. The example changes only content; MEMO_ID is the final segment of a name you already own.

curl --fail-with-body -X PATCH \
  -H "Authorization: Bearer $MEMOS_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"content":"Updated API test memo"}' \
  "$MEMOS_URL/api/v1/memos/$MEMO_ID?updateMask=content"

Keep existing Live Photo pairs complete

When replacing attachments, submitting only one member of an existing APPLE_LIVE_PHOTO pair removes the entire pair from the requested set, including the submitted member. If content-reference validation passes and the update proceeds, both members are deleted. Keep both attachment resource names or intentionally remove both. This differs from DeleteAttachment and BatchDeleteAttachments, which reject a partial group. Check the current set before retrying a write whose response was lost.

Request

UpdateMemo updates a memo.

PATCH/api/v1/memos/{memo}

Parameters

Name / locationType / requirementDescription
memo
path
string
Required
The memo id.
updateMask
query
string (field-mask)
Required (contract description)
Required. The list of fields to update.

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": "UpdateMemo updates a memo.",
  "operationId": "MemoService_UpdateMemo",
  "parameters": [
    {
      "name": "memo",
      "in": "path",
      "description": "The memo id.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "updateMask",
      "in": "query",
      "description": "Required. The list of fields to update.",
      "schema": {
        "type": "string",
        "format": "field-mask"
      }
    }
  ],
  "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"
          }
        }
      }
    }
  }
}