Skip to content

Project Organization ​

LISA's chat session Project Organization feature allows customers to group related chat sessions into named folders for better organization.

Activating Chat Session Projects ​

Project Organization is deactivated by default. To activate:

  1. Navigate to Configuration in the LISA UI
  2. Go to the Advanced section
  3. Toggle Project Organization to activate
  4. Click Save

Once activated, users will see a History / Projects toggle in the chat sidebar.

Configuration Options ​

SettingDefaultDescription
projectOrganizationfalseActivate or deactivate the Projects feature
maxProjectsPerUser50Maximum number of Projects a user can create

The maxProjectsPerUser limit can be adjusted based on your organization's needs. The limit is enforced server-side.

User Guide ​

Switching Between Views ​

When the Projects feature is activated, a toggle appears in the chat sidebar with two options:

  • History — The default chronological view of all sessions
  • Projects — A folder-based view showing Projects and their assigned sessions

The selected view persists across browser sessions.

Creating Project folders ​

  1. Switch to the Projects view
  2. Click the New dropdown button
  3. Select New Project
  4. Enter a project name (1–100 characters)
  5. Click Create

Assigning Sessions to Projects folders ​

From the History view:

  1. Find the session you want to assign
  2. Click the actions menu (three-dot icon) on the session row
  3. Hover over Add to Project
  4. Select the target Project

Once assigned, sessions display a blue badge with the Project's name in the users's chat session history. The Project will also appear in the Projects view.

TIP

A session can only belong to one Project at a time.

Removing Sessions from Project folder ​

  • From History: Click the session's actions menu and select Remove from Project
  • From Projects: Click the close button (X) on the session row

The session remains in History and can be reassigned to another Project.

Managing Projects ​

Each Project has an actions menu with:

  • Rename — Change the project name
  • Delete — Two options:
    • Delete Project only — Sessions return to History (unassigned)
    • Delete Project and sessions — Project and all sessions are permanently deleted

Data Retention ​

  • Disabling the Projects feature preserves all Project assignments in the database
  • Re-enabling the feature restores sessions to their previously assigned Projects
  • Project metadata (projectId) is stored separately from encrypted session content

API Reference ​

The Projects API allows programmatic management of Projects and session assignments. All endpoints are scoped to the authenticated user.

Base URL: https://<your-lisa-domain>/project

List Projects ​

Retrieve all Projects for the current user.

bash
GET /project
Authorization: Bearer <your-token>

Response (200 OK):

json
[
  {
    "userId": "user-123",
    "projectId": "proj-abc123",
    "name": "Research Notes",
    "createTime": "2024-01-15T10:30:00Z",
    "lastUpdated": "2024-01-20T14:22:00Z"
  }
]

Create Project ​

Create a new Project.

bash
POST /project
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "name": "My New Project"
}

Request Parameters:

ParameterTypeRequiredDescription
namestringYesProject name (1–100 characters)

Response (200 OK):

json
{
  "userId": "user-123",
  "projectId": "proj-def456",
  "name": "My New Project",
  "createTime": "2024-01-21T09:00:00Z",
  "lastUpdated": "2024-01-21T09:00:00Z"
}

Error Responses:

  • 400 Bad Request: Project limit reached (maxProjectsPerUser)
  • 400 Bad Request: Invalid Project name (empty or exceeds 100 characters)

Rename Project ​

Update a Project's name.

bash
PUT /project/{projectId}
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "name": "Updated Project Name"
}

Response (200 OK):

json
{
  "message": "Project renamed successfully"
}

Error Responses:

  • 404 Not Found: Project does not exist or belongs to another user

Delete Project ​

Delete a Project with options for handling assigned sessions.

bash
DELETE /project/{projectId}
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "deleteSessions": false
}

Request Parameters:

ParameterTypeDefaultDescription
deleteSessionsbooleanfalseIf true, permanently delete all sessions assigned to the Project. If false, sessions are unassigned and remain in History.

Response (200 OK):

json
{
  "deleted": true
}

Error Responses:

  • 404 Not Found: Project does not exist or belongs to another user

Assign Session to Project ​

Assign or remove a session to a Project.

bash
PUT /project/{projectId}/session/{sessionId}
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "unassign": false
}

Request Parameters:

ParameterTypeDefaultDescription
unassignbooleanfalseIf true, removes the session from the Project. If false, assigns the session to the Project.

Response (200 OK):

json
{
  "message": "Session assignment updated successfully"
}

Error Responses:

  • 404 Not Found: Session or Project does not exist or belongs to another user
  • 409 Conflict: Project is being deleted