JamJet
Cloud

Projects & API Keys

The data boundary in JamJet Cloud, the one-time API key, and how to separate environments.

Projects & API Keys

A project is the data boundary in JamJet Cloud. Every span, policy decision, budget limit, memory fact, and audit event belongs to exactly one project. Each project carries exactly one API key, and that key is the only credential the SDK needs to send governed telemetry. Get the boundary right up front and everything else (filtering, retention, cost roll-up) stays clean.

Create a project

You create projects on the Settings surface at /dashboard/settings. Enter a project name and click Create Project. The new project appears in the projects list with its name, key prefix, tier, and creation date.

The full API key is shown once, at the moment you create the project. It carries the jj_ prefix. Copy it immediately and store it somewhere safe (a secrets manager or your deployment's environment configuration). Afterward only the prefix is shown in the projects list, and the full key cannot be retrieved again.

There is exactly one key per project, and no list, rotate, or revoke flow for keys in the dashboard. If you lose the full key, the way forward is to create a new project. To separate environments or teams, create a separate project per environment so each one has its own key.

Separate environments with separate projects

Because a project owns one key and one data boundary, the way to keep development traffic out of production data is to create a dedicated project per environment:

  • my-app-dev
  • my-app-staging
  • my-app-prod

Each project has its own jj_ key. Set the matching key as an environment variable in each deployment target, and the SDK reads it at init() (TypeScript) or configure() (Python). Spans, policies, budgets, and audit logs stay isolated per project, which gives you clean filtering and per-project retention.

The Settings surface

The Settings surface has four pages.

Settings home

/dashboard/settings is where you:

  • Create a project and see the one-time API key display.
  • Browse the projects list (name, key prefix, tier, created date).
  • Configure a Slack incoming webhook so block and approval alerts post to a channel.
  • Reach the Memory, Billing, and Privacy pages.

A Danger Zone exists, but project deletion is not self-serve today. Contact support to delete a project.

Billing

/dashboard/settings/billing shows your current plan and tier, usage against your limit, and the retention period (read-only, set by your tier). Upgrade and manage-subscription actions are Stripe-backed.

Memory

/dashboard/settings/memory is where you configure the embedding-provider key and enable or disable memory for the project. See Memory for the full setup walkthrough.

Privacy

/dashboard/settings/privacy controls server-side PII redaction. You can:

  • Toggle redaction on or off.
  • Choose which PII types to redact: Email, Credit card, US SSN, Phone, IP, IBAN.
  • Set the replacement format.
  • View a redaction audit table.

API

Projects and the Slack webhook are also reachable over the REST API:

MethodPathPurpose
GET/v1/projectsList your projects.
POST/v1/projectsCreate a project (returns the full key once).
PATCH/v1/projects/slack-webhookSet the Slack incoming-webhook URL for block and approval alerts.

Next steps

On this page