---
title: "memories.save"
method: POST
path: "/capabilities/memories.save"
tags: ["Capabilities"]
---

# memories.save

`POST /capabilities/memories.save`

Save a long-term memory, preference, canonical mapping, workflow hint, or deterministic document policy.

## Request body

- object
  - `title` string, required
  - `summary` string, required
  - `text` string
  - `kind` 'preference' | 'canonical_mapping' | 'workflow_hint' | 'document_policy'
  - `scope` 'user' | 'org' | 'document'
  - `documentId` string
  - `mappingType` 'merchant_canonicalization' | 'category_preference' | 'label_preference'
  - `from` string
  - `to` string
  - `merchant` string
  - `labels` string[]
  - `chartOfAccountsId` string
  - `chartAccountId` string
  - `policyDomain` 'recurring' — Document policy domain. Use recurring for subscription or repeat-charge decisions.
  - `policyAction` 'not_recurring' | 'stopped' | 'set_recurring_schedule' — Deterministic action to apply when the document policy matcher applies.
  - `amount` integer, nullable — Optional amount in the currency's minor units.
  - `currency` string, nullable — Optional ISO currency code for amount matching.
  - `amountTolerance` integer, nullable — Optional amount tolerance in minor currency units.
  - `recurringType` 'subscription' | 'retainer' | 'membership' | 'license' | 'lease' | 'installment', nullable — Optional recurring type matcher.
  - `recurringFrequency` 'weekly' | 'bi-weekly' | 'monthly' | 'quarterly' | 'semi-annual' | 'annual', nullable — Optional recurring frequency matcher.
  - `setRecurringType` 'subscription' | 'retainer' | 'membership' | 'license' | 'lease' | 'installment', nullable — Recurring type to set when policyAction is set_recurring_schedule.
  - `setRecurringFrequency` 'weekly' | 'bi-weekly' | 'monthly' | 'quarterly' | 'semi-annual' | 'annual', nullable — Recurring frequency to set when policyAction is set_recurring_schedule.
  - `sourceDocumentId` string, nullable — Optional source document ID.
  - `note` string, nullable — Optional user note explaining the policy.

## Response `200`

Successful response

- object
  - `success` boolean
  - `code` integer
  - `data` object
    - `result` object — Capability-specific result

## Other responses

- `400` — Invalid input
- `401` — Authentication required
- `404` — Resource not found

---

[API](https://skmtc.net/receiptor/apis/receiptor-ai-api.md) · [All operations](https://skmtc.net/receiptor/apis/receiptor-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/receiptor/receiptor-ai-api/versions/da17f0eb65a2/schema)
