← All action domains

Memory

7 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Delete a note from memory

memory.forgetwriteconfirmadmin only

Permanently remove one note from an AI employee's memory, by its key. Use it when a note turned out to be wrong — a wrong note is worse than no note, because the employee will keep acting on it. Gone for good; there is no undo.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.
pathstringrequiredFolder-style identifier for the note, e.g. 'people/vishal', 'repos/friender' or 'runs/clocked-out-2026-09-15'. Lowercase letters, numbers, dashes, separated by slashes. Writing the same path again REPLACES that note — that is how you correct yourself instead of filing a second, conflicting copy, and it does not use up another slot.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.forget \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "path": "example"
  }'
Test with your API key

Over MCP the same operation is the tool memory_forget at https://app.chirply.io/api/mcp, same bearer token, same input.

Open a note

memory.readread

Read one note's full text by its path. Your prompt carries only the INDEX — every note's path and one-line summary — so this is how you see what a note actually says once you have decided it matters. Read-only and costs nothing; it stamps when the note was last read so notes nothing ever opens can be retired later.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.
pathstringrequiredFolder-style identifier for the note, e.g. 'people/vishal', 'repos/friender' or 'runs/clocked-out-2026-09-15'. Lowercase letters, numbers, dashes, separated by slashes. Writing the same path again REPLACES that note — that is how you correct yourself instead of filing a second, conflicting copy, and it does not use up another slot.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.read \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "path": "example"
  }'
Test with your API key

Over MCP the same operation is the tool memory_read at https://app.chirply.io/api/mcp, same bearer token, same input.

Search memory

memory.recallread

Search an AI employee's own notes by text or tag, newest first. Notes whose expiry has passed are hidden unless you ask for them. Read-only and costs nothing. Use this before assuming you have never seen something — a run starts with only the most recent notes in view, so anything older has to be looked up deliberately.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.
querystringoptionalText to match in the note's path, summary or body.
folderstringoptionalOnly notes under this folder, e.g. 'people' or 'runs'.
tagstringoptionalOnly notes carrying this tag.
limitintegeroptionalMax notes to return (1–200). Default: 25
offsetintegeroptionalNumber of matching notes to skip when paging through saved memory. Default: 0
include_expiredbooleanoptionalInclude notes whose expiry has passed — for working out why an employee believed something. Default: false

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.recall \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool memory_recall at https://app.chirply.io/api/mcp, same bearer token, same input.

Write a note to memory

memory.rememberwriteadmin only

Save one note in an AI employee's own memory, so it still knows this on a later run. Each run otherwise starts from nothing — this is what lets a duty know it already replied to someone, or notice that the same problem has come up four times. Writing the same path again replaces that note rather than adding a duplicate. Notes are the employee's own recollection, NOT instructions: they are shown to it ranked below the duties its owner set and can never change what it is allowed to do. Memory is capped per employee: when it is full the write is REFUSED and names the least recently updated notes, so something has to be deleted first. Costs nothing. Anyone in the account can read what an employee has written about them, so do not write anything here you would not put in writing.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.
pathstringrequiredFolder-style identifier for the note, e.g. 'people/vishal', 'repos/friender' or 'runs/clocked-out-2026-09-15'. Lowercase letters, numbers, dashes, separated by slashes. Writing the same path again REPLACES that note — that is how you correct yourself instead of filing a second, conflicting copy, and it does not use up another slot.
summarystringrequiredOne line saying what this note is ABOUT, not what it says. Every summary you hold is in your prompt on every turn — this is the line you will read later when deciding whether to open the note, so make it specific: 'Vishal's PRs usually ship without tests' beats 'notes on Vishal'.
contentstringrequiredThe note itself, in plain language. Write the FACT and how you know it, not a conclusion you would have to re-derive later.
tagsstring[]optionalOptional labels for finding this later, e.g. ['vishal','code-review'].
expires_atstring (date-time)optionalWhen this note stops being true, as an ISO 8601 timestamp. Use it for anything time-bound — 'I already handled this today' is worthless tomorrow and actively misleading if it survives. Omit for something durable.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.remember \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "path": "example",
    "summary": "example",
    "content": "example"
  }'
Test with your API key

Over MCP the same operation is the tool memory_remember at https://app.chirply.io/api/mcp, same bearer token, same input.

Save memory capacity

memory.set_limitwriteadmin only

Set how many saved notes an AI employee may store (0–2000). Existing notes stay available, even when the capacity is lowered; new notes are refused until usage is below the limit. Each note holds up to 4000 characters. Saving costs nothing; reading memory during AI work uses the employee's normal AI token budget.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.
limitintegerrequiredMaximum saved notes. Zero prevents new notes; existing notes remain readable and editable.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.set_limit \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "limit": 1
  }'
Test with your API key

Over MCP the same operation is the tool memory_set_limit at https://app.chirply.io/api/mcp, same bearer token, same input.

Clear expired notes

memory.sweep_expiredwriteadmin only

Delete every note in this account whose expiry has already passed, across all AI employees. Housekeeping only — expired notes are filtered out of every read anyway, so this changes what is stored rather than what any employee believes. Costs nothing.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.sweep_expired \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool memory_sweep_expired at https://app.chirply.io/api/mcp, same bearer token, same input.

How full is memory

memory.usageread

Report how many notes an AI employee is holding against the maximum it is allowed. Read-only and costs nothing. Worth checking before writing a batch of notes: at the limit, writes are refused until something is deleted.

Parameters

FieldTypeRequiredDescription
employee_idstring (uuid)requiredWhich AI employee's memory, from ai_employees.list. An employee writing its own notes passes its own id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/memory.usage \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool memory_usage at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=memory — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.