---
title: "Save a memory."
method: POST
path: "/v1/memories"
---

# Save a memory.

`POST /v1/memories`

## Request

- Base URL: `https://api.cortexplus.io`
- URL: `https://api.cortexplus.io/v1/memories`
- Auth: HTTP bearer

Classify and save text from a note, task, or reminder, or ingest photos and videos by storage key. Binary audio is sent to storage and transcribed asynchronously; binary images are described and OCRed asynchronously.

## Query parameters

- `clientId` string
- `capturedAt` string, date-time
- `capturedAtSource` 'clock' | 'exif' | 'takeout' | 'file' | 'user'
- `auto` '0' | '1' | 'true' | 'false'
- `lat` number
- `lon` number
- `accuracy` number

## Headers

- `Idempotency-Key` string

## Request body

- union
  - object
    - `text` string, required: Text to classify and save.
    - `tags` string[]
    - `via` string
    - `location` object: Capture coordinates recorded in attributes.location. The backend discards the value when the account geolocation setting is off.
      - `lat` number, required
      - `lon` number, required
      - `accuracy` number
      - `capturedAt` string, date-time
    - `clientId` string
    - `capturedAt` string, date-time
    - `capturedAtSource` 'clock' | 'exif' | 'takeout' | 'file' | 'user'
    - `auto` boolean: Classify by content instead of mode: detects meals, tasks, reminders and notes and may create several linked memories.
  - object
    - `key` string, required: R2 object key from createUpload.
    - `sha256` string: Optional lowercase hex SHA-256 of the uploaded file; lets CortexPlus deduplicate repeated photos/videos per user.
    - `durationSeconds` number
    - `contentType` string: audio/*, image/* or video/* MIME type; video is ingested only by key, never as a binary body.
    - `note` string: Optional text explaining what a photo contains (used by the meal estimate).
    - `noteAudioKey` string: Optional R2 key of an audio (from createUpload) explaining the photo; it is transcribed and used with note.
    - `noteAudioSeconds` number: Duration of the noteAudioKey audio.
    - `name` string
    - `tags` string[]
    - `via` string
    - `location` object: Capture coordinates recorded in attributes.location. The backend discards the value when the account geolocation setting is off.
      - `lat` number, required
      - `lon` number, required
      - `accuracy` number
      - `capturedAt` string, date-time
    - `clientId` string
    - `capturedAt` string, date-time
    - `capturedAtSource` 'clock' | 'exif' | 'takeout' | 'file' | 'user'
    - `auto` boolean: Classify by content instead of mode: detects meals, tasks, reminders and notes and may create several linked memories.
  - object
    - `audioBase64` string, required: Base64-encoded audio file, up to 25 MB after decoding.
    - `contentType` string: Audio MIME type.
    - `name` string
    - `durationSeconds` number
    - `tags` string[]
    - `via` string
    - `location` object: Capture coordinates recorded in attributes.location. The backend discards the value when the account geolocation setting is off.
      - `lat` number, required
      - `lon` number, required
      - `accuracy` number
      - `capturedAt` string, date-time
    - `clientId` string
    - `capturedAt` string, date-time
    - `capturedAtSource` 'clock' | 'exif' | 'takeout' | 'file' | 'user'
    - `auto` boolean: Classify by content instead of mode: detects meals, tasks, reminders and notes and may create several linked memories.

## Response `201`

Successful response.

- object
  - `id` string, required
  - `clientId` string, nullable, required
  - `duplicate` boolean, required
  - `type` string, required
  - `title` string, required
  - `client` string, nullable, required
  - `status` string, nullable, required
  - `memory` string, nullable, required
  - `review` string, nullable, required
  - `resolved` boolean, nullable, required
  - `url` string, uri, required

## Other responses

- `default`: Request failed.

---

[API](https://skmtc.dev/cortexplus/apis/cortexplus-rest-api.md) · [All operations](https://skmtc.dev/cortexplus/apis/cortexplus-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cortexplus/apis/cortexplus-rest-api/revisions/2d04f1593663?raw)
