## Parameters Reference Template

Parameter references document every input/output detail for one operation after the quickstart/onboarding journey. Keep them scannable: signature, tables, examples, exits.

---

### ❌ DO NOT COPY: Guidance & Constraints

- Frontmatter requires `title`, `description`, `icon`. Titles should mirror the operation (“Add Memories Parameters”).
- Place canonical Python and TypeScript signatures right under the heading using `<CodeGroup>`. Mention defaults or breaking changes in an `<Info>` or `<Warning>` immediately after.
- Parameter table must include columns: Name, Type, Required, Description, Notes. Add a Managed/OSS distinction either as a column or in Notes.
- When updating legacy parameter sheets, keep the authoritative field lists and notes. Reformat them into this structure rather than trimming details unless the schema changed.
- Response table must include Field, Type, Description, Example. For nested objects, add subtables or `<CodeGroup>` JSON snippets beneath the row.
- Examples section should show minimal Python and TypeScript calls with one-sentence explanations. If a language is missing, include a `<Note>` explaining why.
- Finish with related operations, troubleshooting tied to parameter misuse, and a two-card CTA (operation guide on the left, cookbook/integration on the right).

---

### ✅ COPY THIS: Content Skeleton

```bash
---
title: [Operation title] Parameters
description: Full reference for `[client.method]` inputs and responses.
icon: "table"
---

# [Operation title] Parameters

<CodeGroup>
```python Python
client.memories.add(
    user_id: str,
    memory: str,
    metadata: Optional[dict] = None,
    memory_type: Literal["session", "long_term"] = "session",
)
```

```ts TypeScript
await mem0.memories.add({
userId: string;
memory: string;
metadata?: Record<string, string>;
memoryType?: "session" | "long_term";
});
```
</CodeGroup>

<Info>
  Defaults to session memories. Override `memory_type` for long-term storage.
</Info>

<Warning>
  [Optional: call out deprecated fields or upcoming removals.]
</Warning>

### Parameters

| Name | Type | Required | Description | Notes |
| --- | --- | --- | --- | --- |
| `user_id` | string | Yes | Unique identifier for the end user. | Must match follow-up operations. |
| `memory` | string | Yes | Content to persist. | Managed & OSS. Markdown allowed. |
| `metadata` | object | No | Key-value pairs for filters. | OSS stores as JSONB; limit to 2KB. |
| `memory_type` | string | No | Retention bucket | Platform supports `shared`. |

<Tip>
  Set `ttl_seconds` when you need memories to expire automatically (OSS only).
</Tip>

### Response fields

| Field | Type | Description | Example |
| --- | --- | --- | --- |
| `memory_id` | string | Identifier used for updates/deletes. | `mem_123` |
| `created_at` | string (ISO 8601) | Timestamp when the memory was stored. | `2025-02-04T12:00:00Z` |
| `metadata` | object | Echoed metadata (if provided). | `{ "team": "support" }` |

```json
{
"memory_id": "mem_123",
"memory": "I am training for a marathon.",
"metadata": {
    "team": "support"
}
}
```

### Examples

<Tabs>
  <Tab title="Python">
<CodeGroup>
```python Python
response = client.memories.add(
    user_id="alex",
    memory="I am training for a marathon.",
)
print(response["memory_id"])
```
</CodeGroup>
  </Tab>
  <Tab title="TypeScript">
<CodeGroup>
```typescript TypeScript
const { memoryId } = await mem0.memories.add({
userId: "alex",
memory: "I am training for a marathon.",
});
console.log(memoryId);
```
</CodeGroup>
  </Tab>
</Tabs>

These snippets confirm the method returns the new `memory_id` for follow-up operations.

### Related operations

- [Operation guide](./[operation-guide-slug])
- [Complementary operation](./[secondary-operation-slug])

### Troubleshooting

- **`400 Missing user_id`**: Provide either `user_id` or `agent_id` in the payload.
- **`422 Metadata too large`**: Reduce metadata size below 2KB (OSS hard limit).

<CardGroup cols={2}>
  <Card
    title="[Operation guide title]"
    description="[Why to read the operation walkthrough next]"
    icon="book"
    href="/[operation-guide-link]"
  />
  <Card
    title="[Cookbook or integration]"
    description="[How these parameters power a real workflow]"
    icon="rocket"
    href="/[cookbook-link]"
  />
</CardGroup>

---

### ✅ Publish Checklist

- [ ]  Python and TypeScript signatures match the current SDKs (or a `<Note>` explains missing parity).
- [ ]  Parameter and response tables cover every field with clear Managed vs OSS notes.
- [ ]  Examples execute the minimal happy path and include one-line explanations.
- [ ]  Troubleshooting entries correspond to parameter misuse or validation errors.
- [ ]  CTA pair links to the operation guide (left) and an applied example (right).

---
