Skip to content

Projects

A project is the top-level organisational unit in PromptGate. It owns the endpoints, the API tokens, the guardrail rules, the rate-limit configs, the OAuth connections, the MCP servers, and the audit trail for one application or one team.

Pick a project_type at create time (see Project Types) and the rest of the gateway adapts:

  • The sidebar shows the items relevant to that type.
  • The public API surface is wired according to the type.
  • The playground and logs scope to the project.
FieldMeaning
nameHuman-readable name. Shown everywhere.
slugURL-safe identifier. Auto-generated from the name.
uuidStable opaque identifier. Used in every public URL/api/{uuid}/....
project_typeOne of ai_gateway, ai_wrapper, api_gateway, mcp_gateway. Stable for life.
envdev / staging / prod. Tagged on logs and tokens.
is_activeDisabled projects refuse all traffic.
metadataFree-form JSON for your own use.

The UUID is the only project identifier that goes over the wire. The slug is for the UI’s URL, not for the public API.

Sidebar → Projects+ New project.

In the modal:

  • Name — descriptive (e.g. Customer Support AI, GitHub Proxy).
  • Type — pick the right one. You can’t change this later.
  • Environmentdev / staging / prod.

After save you land on the project, and the sidebar swaps into project-scoped mode.

The project switcher at the top of the sidebar shows your currently active project. Click it to pick another. The session remembers your last selection.

If you have many projects, you can also navigate to Sidebar → Manage projects for the full searchable list.

Inside a project: Sidebar → Project Settings (bottom of sidebar).

You can edit:

  • Name
  • Environment
  • Metadata JSON

You can’t edit:

  • Type — pick a new project of the right type and migrate.
  • UUID — it’s woven into all the URLs and tokens.
  • Slug — it’s woven into endpoint URLs (for AI Gateway).

The same page has a Danger Zone for project deletion. Deleting a project cascades to everything that belongs to it: endpoints, tokens, logs, audit, guardrail configs, OAuth connections, MCP servers. Take a backup first if you might want any of that data later.

PromptGate has a deliberate split between per-project and global resources:

ResourceScopeWhy
credentialsGlobal (admin)A single API key for OpenAI is reusable across projects.
provider_templatesGlobal (admin)Reusable provider+model+settings bundles.
provider_settings (enable/disable)Global (admin)Disabling a provider should disable it everywhere.
usersGlobal (admin)Single-user in Community Edition.
Endpoints (endpoints, api_gateway_endpoints)Per-projectEndpoints are the project’s product surface.
API tokensPer-projectEach project has its own clients.
Guardrail configs3-level — global → project → endpointInherits down the chain.
Rate limits / budgetsPer-endpointConfigured on the endpoint itself.
OAuth connectionsPer-project (api_gateway only)Different proxies need different OAuth clients.
MCP serversPer-project (mcp_gateway only)Each gateway aggregates a different set.
WebhooksPer-projectEach project notifies its own destinations.
SessionsPer-endpoint (ai_gateway)Conversation state attaches to the endpoint that owns it.

The Admin area in the user dropdown (top-right) is where the global resources live: Credentials, AI Providers, Provider Templates, Global Guardrails, Audit Log, Backup / Export.

Brief recap of what each type unlocks. Full details on each linked page.

  • AI endpoints with prompts, schemas, sessions, streaming, failover
  • MCP Bridge (every endpoint can be exposed as an MCP tool)
  • Guardrails / rate limits / budgets
  • OpenAI-compatible /v1/chat/completions and /v1/models
  • Per-project provider→credential assignment
  • Model aliases (fastopenai:gpt-4o-mini)
  • HTTP proxy endpoints with method allowlist + header policies
  • OAuth Service Connections (encrypted, auto-refresh)
  • SSRF guard, rate limits
  • Aggregates registered upstream MCP servers under one URL
  • Tool-name namespacing (<prefix>__<tool>)
  • Encrypted upstream Bearer tokens

Every project’s public API lives under /api/{project_uuid}/…. The exact paths depend on the type — see API Reference → Overview for the full inventory.

For introspection (admin scope):

GET /api/{uuid}/info — type, env, name, counts
GET /api/{uuid}/endpoints — list endpoints (AI or API)
GET /api/{uuid}/tokens — list issued tokens (no plaintext)

Every state-change on a project — create, update, deactivate, delete — writes to audit_logs. Filter by project on the Audit Log page (admin) to see the full history.


Next: AI Endpoints.


© Akyros Labs LLC. All rights reserved.