Projects
Overview
Projects is the control plane for tenants: CRUD projects, list/enable services per environment, configure providers, and manage API keys.
API
| Method | Path | Notes |
|---|---|---|
| GET | /projects/health | Anonymous |
| GET | /projects/catalog | Bearer — available services |
| GET/POST | /projects/ | Bearer |
| GET/PATCH/DELETE | /projects/{projectId} | Bearer |
| GET/PUT | /projects/{projectId}/environments/{environmentId}/services | Bearer |
| GET/PUT | /projects/{projectId}/environments/{environmentId}/providers | Bearer |
| GET/POST | /projects/{projectId}/api-keys | Bearer |
| DELETE | /projects/{projectId}/api-keys/{apiKeyId} | Bearer |
Clients
No dedicated Projects SDK. Use Console UI or authenticated HTTP (Bearer) against the Gateway. SDK packages assume you already have projectId, environmentId, and credentials.
Implementation
- Create a project via Console or
POST /projects/. - Enable services on the target environment (
PUT …/services). - Configure providers (
PUT …/providers) with secrets as required. - Create API keys (
POST …/api-keys) — store the secret once; it is not shown again. - Pass project/environment ids into product SDKs.
Constraints
- Project administration requires owner/user JWT — not anonymous.
- API keys are project-scoped; still include the correct environment id in product paths.
- Deleting a project is destructive for dependent environment config — confirm in Console before calling DELETE.