> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memmachine.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Project API

> Reference for managing isolated memory namespaces

The `client.projects` namespace allows you to manage the lifecycle of projects. A Project serves as a strict security and data boundary; memories from one project cannot be accessed by another.

## Project Lifecycle

### `create`

Initializes a new project within an organization. If the project already exists, it returns the existing project details.

```python theme={null}
project = client.projects.create(
    org_id="my_org",
    project_id="my_project",
    description="Main memory store for our customer support agent",
    metadata={"environment": "production"}
)
```

| **Parameter** | **Type** | **Description** |
| - | - | - |
| `org_id` | `str` | Organization identifier. |
| `project_id` | `str` | Unique project identifier within the org. |
| `description` | `str` | Optional text describing the project. |
| `metadata` | `dict` | Optional key-value pairs for organizational labeling. |

### `get`

Retrieves the details of an existing project.

```python theme={null}
project = client.projects.get(org_id="my_org", project_id="my_project")
```

| **Parameter** | **Type** | **Description** |
| - | - | - |
| `org_id` | `str` | Organization identifier. |
| `project_id` | `str` | Project identifier. |

### `delete`

Permanently removes a project and all associated episodic and semantic data.

<Warning>
  This action is irreversible. All vector embeddings, relational tags, and chat history associated with this project will be destroyed.
</Warning>

| **Parameter** | **Type** | **Description** |
| - | - | - |
| `org_id` | `str` | Organization identifier. |
| `project_id` | `str` | Project identifier. |

***

## Project Inspection

### `get_episode_count`

Returns the total number of episodic memory entries stored in the project.

```python theme={null}
count = client.projects.get_episode_count("my_org", "my_project")
print(f"Project has {count} memories.")
```

### `list_all`

Lists all project IDs belonging to a specific organization.

```python theme={null}
projects = client.projects.list_all(org_id="my_org")
```

***

## The Project Object

When you use `client.projects.get()` or `create()`, you receive a `Project` instance. This object contains the following attributes:

| **Attribute** | **Type** | **Description** |
| - | - | - |
| `org_id` | `str` | The organization ID this project belongs to. |
| `project_id` | `str` | The unique ID for this project. |
| `description` | `str` | The project's description. |
| `configuration` | `dict` | The specific LLM/Embedder config used by this project. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.