Skip to content

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

FieldMeaning
idInternal UUID, used in /projects/{projectId} admin paths.
project_idClient-facing slug (alphanumeric + underscores, ≤64 chars). Server-assigned at creation.
nameHuman-readable display name. You choose it.
productgrill for context-engine projects, primecut for raw-chunk projects. Cannot be changed later.
account_idOwning account. Defaults to the authenticated account.
orga_idIf set, the project belongs to an organisation and is governed by its quota and member roles.
storage_baseInternal 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

  1. Open the POMA Console and sign in.
  2. In the left rail, open Grill → Context Engine.
  3. Under Grill Projects, type a project name into New project name.
  4. Optionally pick an Organisation from the dropdown — leave it as — none — for a personal project.
  5. Click Create.

POMA Console — Grill Context Engine view, with the Grill Projects list and the New project form

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 /projects flow 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 owner or admin in that org; member is 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):

POMA Console — Projects view, with search filters, the project list, and a Create form

ActionHow to do it
ListOpen 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.
InspectClick the chevron at the right of a row to expand details (project UUID, slug, storage base, etc.).
RotateClick 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.
DeleteClick 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/ingest differs from /primeCut/ingest.