---
title: "Write or update an agent memory"
method: POST
path: "/api/v1/write_agent_memory"
tags: ["Agents"]
---

# Write or update an agent memory

`POST /api/v1/write_agent_memory`

## Request

- Base URL: `https://api.pymaia.com`
- URL: `https://api.pymaia.com/api/v1/write_agent_memory`
- Auth: HTTP bearer

Write or update an agent memory. Use paths like "meta/campaigns/roas-pattern" to organize knowledge hierarchically.

## Request body

- object
  - `agent_slug` string, required: Agent slug that owns this memory
  - `path` string, required: Hierarchical path (e.g. "google/keywords/brand-terms")
  - `content` string, required: The memory content - insights, patterns, observations
  - `memory_type` 'insight' | 'fact' | 'preference' | 'pattern' | 'warning' | 'living_doc'
  - `importance` number: Importance level 1-10
  - `ttl_days` number: Days until this memory expires (null = permanent)

## Response `200`

Tool executed successfully

- object
  - `ok` boolean
  - `result` unknown
  - `duration_ms` number

## Other responses

- `400`: Invalid params or handler error
- `401`: Missing or invalid Bearer token
- `403`: Missing required scope(s) (`denied_scope`), or the tool's module is disabled for the organization (`module_disabled`, with `why`, `fix` and `module`)
- `404`: Tool not found, internal-only, or excluded for OAuth connectors
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/pymaia/apis/pymaia-api.md) · [All operations](https://skmtc.dev/pymaia/apis/pymaia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pymaia/apis/pymaia-api/revisions/705a6973177b?raw)
