Create project
Requires an owner or admin tenant role. The requested retention is checked against the active tenant plan by the service.
Authorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://api.monitoring.crahe-arthur.com/api/v1/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "Production API", "slug": "production-api" }'{
"allowedEnvironments": [
"dev",
"staging",
"prod"
],
"id": "018f7b9a-2fb6-48e4-bc02-2e5d9d9f1f9a",
"tenantId": "018f7b9a-6f8d-4c1d-8d72-1bbecdadc101",
"name": "Production API",
"slug": "production-api",
"retentionDays": 30,
"createdAt": "2026-04-28T19:00:00.000Z",
"updatedAt": "2026-04-28T20:00:00.000Z"
}List projects
Returns every project visible to the authenticated tenant member. Tenant scope is taken from the JWT context, never from the request body or query string.
Get my project role
Resolves the role with the same `org→admin` derivation as `RolesGuard`. Returns `{ role: null }` when the user is neither a project member nor an org owner/admin. Cross-tenant probes return 404 (existence-leak prevention).