Projects API
Create, manage, and configure projects and team members.
Overview
Projects are the top-level organizational unit in Apperio. Each project has its own API key, log data, team members, and configuration. All project endpoints require JWT authentication.
List Projects
GET
/api/v1/projectsGet all projects owned by or shared with the authenticated user
Bash
curl "https://apperioserver.onrender.com/api/v1/projects" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"JSON
// Response(200 OK)
{
"status": "success",
"data": [
{
"id": "proj_abc123",
"name": "My Web App",
"description": "Production web application",
"environment": "production",
"logCount": 15420,
"errorRate": 2.3,
"status": "active",
"createdAt": "2026-01-15T08:00:00Z"
}
]
}Create Project
POST
/api/v1/projectsCreate a new project
Bash
curl -X POST "https://apperioserver.onrender.com/api/v1/projects" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My New App",
"description": "Staging environment for my app",
"environment": "staging"
}'JSON
// Response(201 Created)
{
"status": "success",
"data": {
"id": "proj_xyz789",
"name": "My New App",
"description": "Staging environment for my app",
"apiKey": "mk_a1b2c3d4e5f6...",
"owner": "user_abc123",
"status": "active",
"createdAt": "2026-03-07T10:30:00Z"
}
}Info
The API key is returned only when the project is created. Store it securely. You can regenerate it later, but the old key will stop working immediately.
Get Project
GET
/api/v1/projects/:idGet project details by ID
Update Project
PUT
/api/v1/projects/:idUpdate project settings
Bash
curl -X PUT "https://apperioserver.onrender.com/api/v1/projects/PROJ_ID" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated App Name",
"description": "Updated description"
}'Delete Project
DELETE
/api/v1/projects/:idDelete a project and all its data
Danger
Deleting a project permanently removes all associated logs, alert rules, and configuration. This action cannot be undone.
API Key Management
POST
/api/v1/projects/:id/regenerate-api-keyGenerate a new API key (invalidates the old one)
Bash
curl -X POST "https://apperioserver.onrender.com/api/v1/projects/PROJ_ID/regenerate-api-key" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"JSON
// Response
{
"status": "success",
"data": {
"apiKey": "mk_new_key_here..."
}
}Warning
Regenerating an API key immediately invalidates the previous key. Update your SDK configuration with the new key to avoid log ingestion failures.
Team Management
Add Team Member
POST
/api/v1/projects/:projectId/team-membersInvite a user to the project
JSON
// Request body
{
"email": "teammate@example.com",
"role": "admin" // "admin" or "viewer"
}Update Member Role
PUT
/api/v1/projects/:projectId/team-members/roleChange a team member's role
Remove Team Member
DELETE
/api/v1/projects/:projectId/team-membersRemove a user from the project
| Role | Permissions |
|---|---|
| Owner | Full access: settings, team, data, deletion |
| Admin | Manage logs, alerts, and view settings |
| Viewer | Read-only access to logs and dashboards |
Project Statistics
GET
/api/v1/projects/:id/statsGet aggregated project metrics
JSON
// Response
{
"status": "success",
"data": {
"totalLogs": 15420,
"errorRate": 2.3,
"averageResponseTime": 245,
"logCountToday": 1230,
"errorCountToday": 28,
"topErrors": [
{ "message": "TypeError: Cannot read...", "count": 45 },
{ "message": "NetworkError: Failed...", "count": 23 }
]
}
}