Projects
What a project owns, and what it isolates.
A project is one bot. It owns its documents, its widget configuration, its origin and IP allowlists, its keys, and its conversations. A workspace holds many projects; nothing crosses between them.
| A project owns | Meaning |
|---|---|
| Documents | Only these are searched when this project answers. |
| Keys | Issued per project. A key for one project cannot address another — see keys. |
| Allowed origins | Which browser origins may use its embed keys. |
| IP allowlist | Optional. When set, everything else is rejected with 403. |
| Widget configuration | Theme, welcome message, lead capture, escalation. |
| Conversations and leads | Everything captured through this project's chat. |
Isolation
Retrieval is scoped by workspace and project on every query — the attributes are tenant_id and project_id. A question asked of one project cannot surface another project's documents, which is what makes one workspace safe to use for several customers.
Deploying
Configuration changes take effect when you deploy the project. GET /v1/projects/{projectId}/deploy-readiness reports what is still missing, and POST /v1/projects/{projectId}/deploy publishes — both in the projects reference.
How many you get
| Plan | Projects | Seats | Messages / month | Storage |
|---|---|---|---|---|
| Free | 1 | 2 | 500 | 0.5 GB |
| Growth | 2 | 3 | 3,000 | 2 GB |
| Pro | 5 | 5 | 20,000 | 5 GB |
| Enterprise | 100 | 100 | 100,000 | 100 GB |
Ready to ship?
Get started free