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

# Projects

> Group sources, agents, and chats into separate workspaces inside one organization.

A **project** is a workspace inside your organization. Use projects to keep
unrelated work apart — for example a `Production` project with your ERP database
and finance agents, and a `Sales` project with HubSpot and the Jira connector —
without creating a second organization or a second bill.

Every organization starts with one **Default** project. You can add more at any
time and switch between them from the sidebar.

## What a project scopes

When a project is active, you only see and use that project's resources:

* **Data sources** — databases, REST/GraphQL APIs, SaaS connectors, and on-prem
  CoreMCP sources
* **Chats** — including conversation history
* **Unified Context** — schema annotations, the business glossary, and the
  knowledge an agent has ingested

An agent can only reach the sources in its own project. Switching projects swaps
the entire workspace — sources, agents, chat history, and context all change
together.

## What stays shared across the organization

Some things belong to the whole organization, not a single project, and are the
same in every project:

* **Billing & plan**
* **Members & roles**
* **LLM provider keys** (BYOK)
* **API tokens**
* **Audit & activity logs**

## Additional system prompt

Each project can carry an **additional system prompt** — extra instructions for
the assistant scoped to that project (tone, persona, domain rules, business
definitions like "active customer = ordered in the last 90 days"). Edit it under
**Settings → Projects** (the pencil on a project), as an Admin.

It's **added on top of** the assistant's built-in behavior — it does **not**
override the safety and anti-fabrication rules. Because it's per-project, it
applies everywhere that project drives the assistant: panel chat, the widget,
voice, and the Developer API.

## Switching projects

Use the project switcher at the top of the sidebar. The switch is instant — the
sidebar, dashboard, sources, agents, and chat all reload into the selected
project.

## Creating & managing projects

Open the switcher and choose **New project**, or manage them all under
**Settings → Projects**. From there you can rename a project or delete an empty
one. Creating and deleting projects requires an **Admin** role.

A project must be empty before it can be deleted — move or remove its sources,
agents, and chats first. The Default project can't be deleted.

## Projects and the API / widget

The [Developer API](/api-reference/introduction) operates in your organization's
**Default** project unless you say otherwise: list your workspaces with
`GET /api/v1/projects`, then pass a **`project_id`** — as a query parameter on
the sources endpoint, or in the chat completion body — to target
any project. Narrow further within a project with `source_ids` (see
[`GET /api/v1/sources`](/api-reference/endpoints/sources)).

The [embeddable widget](/platform/widget) is scoped per project by its **widget
key**, not by a JWT claim: each project has its own key, and whichever key's
`publicId` you embed fixes the whole session — chat, history, and voice —
inside that project. See
[Scoping the widget to a project](/platform/widget#scoping-the-widget-to-a-project).
