Projects
Generated from Secronna's own code: every route in this area, what it takes and how to call it.
List projects
GET /api/v1/projects
Example
curl -X GET "https://secronna.com/api/v1/projects" \
-H "Authorization: Bearer st_…"
RequireAuth is attached PER-ROUTE (not r.use) so unmatched paths fall through to the parent 404 handler instead of 401.
POST /api/v1/projects
requireAuth is attached PER-ROUTE (not r.use) so unmatched paths
fall through to the parent 404 handler instead of 401.
Body
| Field |
Type |
Required |
Notes |
name |
string |
yes |
min length 1; max length 120 |
Example
curl -X POST "https://secronna.com/api/v1/projects" \
-H "Authorization: Bearer st_…" \
-H "Content-Type: application/json" \
-d '{"name":"…"}'
List environments
GET /api/v1/projects/{projectId}/environments
Path parameters
| Name |
Type |
Required |
Notes |
projectId |
string |
yes |
|
Example
curl -X GET "https://secronna.com/api/v1/projects/:projectId/environments" \
-H "Authorization: Bearer st_…"
Environments a project
POST /api/v1/projects/{projectId}/environments
Path parameters
| Name |
Type |
Required |
Notes |
projectId |
string |
yes |
|
Body
| Field |
Type |
Required |
Notes |
name |
string |
yes |
min length 1; max length 120 |
Example
curl -X POST "https://secronna.com/api/v1/projects/:projectId/environments" \
-H "Authorization: Bearer st_…" \
-H "Content-Type: application/json" \
-d '{"name":"…"}'
Get a by slug
GET /api/v1/projects/by-slug/{projectSlug}
Path parameters
| Name |
Type |
Required |
Notes |
projectSlug |
string |
yes |
|
Example
curl -X GET "https://secronna.com/api/v1/projects/by-slug/:projectSlug" \
-H "Authorization: Bearer st_…"
Get an environment
GET /api/v1/projects/by-slug/{projectSlug}/environments/{envSlug}
Path parameters
| Name |
Type |
Required |
Notes |
projectSlug |
string |
yes |
|
envSlug |
string |
yes |
|
Example
curl -X GET "https://secronna.com/api/v1/projects/by-slug/:projectSlug/environments/:envSlug" \
-H "Authorization: Bearer st_…"