Create a Grill Project
Grill is project-scoped. Every ingested document, every embedding, every search result lives inside one project namespace. You create that namespace through the POMA Console — there's no curl required, no JWT bootstrap, no separate API setup step.
What a project is
| Field | Meaning |
|---|---|
id | Internal UUID, used in /projects/{projectId} admin paths. |
project_id | Client-facing slug (alphanumeric + underscores, ≤64 chars). Server-assigned at creation. |
name | Human-readable display name. You choose it. |
product | grill for context-engine projects, primecut for raw-chunk projects. Cannot be changed later. |
account_id | Owning account. Defaults to the authenticated account. |
orga_id | If set, the project belongs to an organisation and is governed by its quota and member roles. |
storage_base | Internal storage prefix. Read-only. |
The crucial bit is product: a project is bound to one product for life. Grill projects can call /grill/*; PrimeCut projects can call /primeCut/*. There is no cross-product migration today.
Create a Grill project — Console workflow
- Open the POMA Console and sign in.
- In the left rail, open Grill → Context Engine.
- Under Grill Projects, type a project name into New project name.
- Optionally pick an Organisation from the dropdown — leave it as — none — for a personal project.
- Click Create.

The Console hands back a poma_prod_gr_… API key in the confirmation dialog. Copy it immediately — it's shown once. Treat it like a database password and put it straight in your secret manager. If you lose it, you have to delete and recreate the project (see below).
Need to provision projects programmatically (CI, multi-tenant onboarding, customer-spawned namespaces)? The raw
POST /projectsflow lives in the POMA API v3 reference. These docs intentionally don't duplicate the HTTP calls — the Console is the supported path for human-operated setup.
Personal vs. organisation-scoped projects
The same view above handles both shapes. The choice is the Organisation dropdown:
- — none — → the project is owned by your account. Its quota counts against your personal plan.
- A named org → the project is owned by that organisation. The caller (you) must be
owneroradminin that org;memberis rejected. The project's quota counts against the org's plan, and other admins can manage it.
Create or browse organisations under Organisations in the same Console (the "poma" entry in your sidebar is an example). Filter by name, create new ones, or remove ones you no longer need.
Inspect, rotate, delete
All three lifecycle actions live in the Projects view (left rail → Projects):

| Action | How to do it |
|---|---|
| List | Open Projects. The table shows every project you can see — your personal ones and any in orgs where you're a member. Filter by account_id, project_id, orga_id, or product from the search row. |
| Inspect | Click the chevron at the right of a row to expand details (project UUID, slug, storage base, etc.). |
| Rotate | Click the circular-arrow icon on the row. The dialog confirms, then hands back a fresh poma_prod_gr_… API key. Old key stops working immediately. |
| Delete | Click the trash-can icon on the row. Destructive — see warning below. |
The same actions are exposed by GET /projects, GET /projects/{id}, and DELETE /projects/{id} in the API reference for scripted lifecycle management.
What "delete" really means
Deleting a project in the Console (or via DELETE /projects/{id}) is destructive:
- The project API key stops working immediately.
- The Grill backend's namespace is dropped — vectors and stored documents go away.
- You cannot recover the project. There is no soft-delete.
If you only want to remove a single document, use the Ingest pane on the Grill → Context Engine view, or call DELETE /grill/docs/{docId} (Document management) — both keep the project intact.
Next
- Quickstart — first ingest + search round-trip.
- Ingestion — how
/grill/ingestdiffers from/primeCut/ingest.