Docs/API Reference

API Reference

The Munera REST API lets you build custom integrations, automate workflows, and pull data into external dashboards. All endpoints are under https://munera.cloud/api/v1 (cloud) or https://your-domain.com/api/v1 (self-hosted).

ℹ️
Authentication required
Every endpoint (except webhooks and SSO flows) requires either an X-API-Key header or a valid session cookie. See the Authentication guide for details on creating and using API keys.

Endpoint groups

Authentication

Full details in the Authentication guide →

MethodEndpointAuthDescription
POST/auth/registerNoneRegister a new user
POST/auth/loginNoneLogin and receive access + refresh tokens
POST/auth/logoutUserInvalidate session and clear cookies
POST/auth/refreshRefresh tokenRefresh access token
GET/auth/meUserGet current authenticated user
PUT/auth/meUserUpdate profile (name, email)
POST/auth/change-passwordUserChange password

API Keys

Programmatic API access uses long-lived API keys scoped to your organisation. Each user can hold up to 10 active keys. Keys are hashed with Argon2 and never stored in plain text.

MethodEndpointAuthDescription
POST/api-keys/UserCreate API key — raw value returned once only
GET/api-keys/UserList user's API keys (prefix + metadata)
DELETE/api-keys/{id}UserRevoke API key immediately

Tasks

Full details in the Tasks API guide →

MethodEndpointAuthDescription
GET/tasksUserList tasks with filtering and pagination
POST/tasksUserCreate a new task
GET/tasks/{id}UserGet a single task by ID
PATCH/tasks/{id}UserUpdate task fields
DELETE/tasks/{id}AdminDelete a task
POST/tasks/{id}/assignUserTrigger AI assignment
POST/tasks/{id}/analyzeUserRe-run AI skill analysis
POST/tasks/{id}/statusUserTransition task status
POST/tasks/{id}/dependenciesUserAdd task dependency
DELETE/tasks/{id}/dependencies/{dep_id}UserRemove dependency

Projects

MethodEndpointAuthDescription
GET/projectsUserList projects with filters
POST/projectsManager+Create project
GET/projects/myUserList the current user's projects
GET/projects/statsUserGet project statistics
GET/projects/{id}UserGet project details
PUT/projects/{id}Manager+Update project
DELETE/projects/{id}AdminDelete project
GET/projects/{id}/statsUserGet project task stats
GET/projects/{id}/membersUserList project members
POST/projects/{id}/membersManager+Add member to project
PUT/projects/{id}/members/{user_id}Manager+Update member role
DELETE/projects/{id}/members/{user_id}Manager+Remove member

Sprints

MethodEndpointAuthDescription
GET/projects/{id}/sprintsUserList sprints for a project
POST/projects/{id}/sprintsManager+Create sprint
GET/projects/{id}/sprints/{sid}UserGet sprint detail
PUT/projects/{id}/sprints/{sid}Manager+Update sprint
DELETE/projects/{id}/sprints/{sid}Manager+Delete planned sprint
POST/projects/{id}/sprints/{sid}/startManager+Start sprint
POST/projects/{id}/sprints/{sid}/completeManager+Complete sprint
POST/projects/{id}/sprints/{sid}/tasksManager+Add tasks to sprint
DELETE/projects/{id}/sprints/{sid}/tasks/{tid}Manager+Remove task from sprint
GET/projects/{id}/sprints/{sid}/burndownUserBurndown chart data
GET/projects/{id}/velocityUserVelocity chart data

Engineers & Teams

Full details in the Teams API guide →

MethodEndpointAuthDescription
GET/engineersUserList all engineers in the organisation
GET/engineers/{id}UserGet engineer profile and workload
PATCH/engineers/{id}/skillsUserUpdate engineer skill profile
PATCH/engineers/{id}/capacityUserUpdate weekly capacity hours
GET/teamsview_teamsList org teams
POST/teamsmanage_teamsCreate team
GET/teams/{id}view_teamsGet team details
PUT/teams/{id}manage_teamsUpdate team
DELETE/teams/{id}manage_teamsDelete team
GET/teams/{id}/membersview_teamsList team members
POST/teams/{id}/membersmanage_teamsAdd team member
PUT/teams/{id}/members/{user_id}manage_teamsUpdate member role
DELETE/teams/{id}/members/{user_id}manage_teamsRemove team member

Analytics

MethodEndpointAuthDescription
GET/analytics/team-metricsUserVelocity, throughput, cycle time
GET/analytics/workloadUserCurrent utilisation per engineer
GET/analytics/skill-coverageUserSkill heatmap and gap analysis

Predictive AI

ML-powered predictions — requires analytics:read permission.

MethodEndpointAuthDescription
GET/predictive/tasks/{task_id}/completionanalytics:readPredict task completion time
GET/predictive/teams/{team_id}/capacityanalytics:readForecast team capacity
GET/predictive/users/{user_id}/burnoutanalytics:readIndividual burnout risk score
GET/predictive/teams/{team_id}/burnoutanalytics:readTeam burnout summary
GET/predictive/tasks/{task_id}/recommendationsanalytics:readSmart assignment recommendations
GET/predictive/predictionsanalytics:readList stored predictions
GET/predictive/users/{user_id}/skillsanalytics:readSkill proficiency data

Integrations (Jira & Linear)

MethodEndpointAuthDescription
GET/integrationsUserList org integrations
POST/integrationsManager+Create integration
GET/integrations/{id}UserGet integration details
PUT/integrations/{id}Manager+Update integration
DELETE/integrations/{id}Manager+Remove integration
POST/integrations/{id}/testUserTest connection
POST/integrations/{id}/syncManager+Trigger full sync
GET/integrations/{id}/sync/statusUserCheck sync status
POST/integrations/{id}/sync/task/{task_id}UserSync single task
GET/integrations/{id}/mappingsUserList task mappings
POST/integrations/{id}/mappingsUserCreate manual mapping
DELETE/integrations/{id}/mappings/{mid}UserRemove mapping
POST/integrations/webhooks/jiraSignatureJira webhook receiver
POST/integrations/webhooks/linearSignatureLinear webhook receiver

Reports & Exports

MethodEndpointAuthDescription
POST/reports/exportUserQuick export — returns file (CSV / Excel / PDF / JSON)
GET/reports/UserList saved report configurations
POST/reports/UserCreate saved report
GET/reports/{id}UserGet saved report
PUT/reports/{id}UserUpdate saved report
DELETE/reports/{id}UserDelete saved report
POST/reports/{id}/runUserExecute saved report and download
GET/reports/{id}/executionsUserList execution history

Slack Integration

MethodEndpointAuthDescription
GET/slack/oauth/installUserGenerate Slack OAuth URL
GET/slack/oauth/callbackUserHandle OAuth callback
GET/slack/integrationUserGet integration status
DELETE/slack/integrationAdminDisconnect Slack
POST/slack/commandsSignatureHandle slash commands
POST/slack/interactiveSignatureHandle button interactions
POST/slack/linkUserLink personal Slack account
DELETE/slack/linkUserUnlink personal Slack account
GET/slack/preferencesUserGet notification preferences
PUT/slack/preferencesUserUpdate notification preferences
GET/slack/channelsUserList channel subscriptions
POST/slack/channelsManager+Subscribe a channel
DELETE/slack/channels/{id}Manager+Unsubscribe channel
POST/slack/test-messageAdminSend test message

Email Notifications

MethodEndpointAuthDescription
GET/email/preferencesUserGet email notification preferences
PUT/email/preferencesUserUpdate email notification preferences
POST/email/unsubscribeTokenUnsubscribe via token link
POST/email/webhookSignatureSendGrid delivery event webhook
GET/email/queue/statsAdminGet email queue statistics
POST/email/testAdminSend test email
POST/email/queue/processAdminManually trigger queue processing

Push Notifications

MethodEndpointAuthDescription
GET/push/vapid-public-keyUserGet VAPID public key for browser subscription
POST/push/subscribeUserRegister push subscription
POST/push/unsubscribeUserRemove push subscription
POST/push/testUserSend test push notification

SSO (SAML 2.0)

Supports Okta, Azure AD, Google Workspace, and OneLogin.

MethodEndpointAuthDescription
GET/sso/check/{org_slug}NoneCheck if SSO is enabled for the org
GET/sso/initiate/{org_slug}NoneRedirect to Identity Provider
POST/sso/callback/{org_id}NoneHandle SAML assertion from IdP
GET/sso/metadata/{org_id}NoneSP metadata XML for IdP configuration
GET/sso/configAdminGet SSO configuration
POST/sso/configAdminCreate SSO configuration
PUT/sso/configAdminUpdate SSO configuration
DELETE/sso/configAdminDelete SSO configuration

Two-Factor Authentication

MethodEndpointAuthDescription
POST/2fa/setupUserInitiate 2FA setup — returns QR code
POST/2fa/verifyUserVerify TOTP code and enable 2FA
GET/2fa/statusUserGet 2FA status for current user
POST/2fa/disableUserDisable 2FA
POST/2fa/backup-codes/regenerateUserRegenerate backup codes
POST/2fa/login/verifyPending tokenComplete login with TOTP code

Roles & Permissions

MethodEndpointAuthDescription
GET/rolesview_usersList org roles
POST/rolesmanage_rolesCreate custom role
GET/roles/{id}manage_rolesGet role details
PUT/roles/{id}manage_rolesUpdate role
DELETE/roles/{id}manage_rolesDelete role
GET/roles/{id}/usersview_usersList users with this role
GET/roles/users/{id}/rolesview_usersGet user's assigned roles
POST/roles/users/{id}/rolesassign_rolesAssign role to user

Audit Logs

MethodEndpointAuthDescription
GET/audit/logsAdminQuery audit log (filterable by event type, user, date range)

Health & Monitoring

MethodEndpointAuthDescription
GET/healthNoneBasic health check + WebSocket count
GET/health/detailedNoneDB, Redis, Celery, disk, WebSocket checks
GET/health/readyNoneReadiness probe (DB + Redis)
GET/health/liveNoneLiveness probe — always 200
GET/monitoring/metrics/summaryAdminJSON Prometheus metrics summary
GET/monitoring/alertsAdminRecent alert records
GET/monitoring/alerts/rulesAdminAlert rule configuration
PUT/monitoring/alerts/rulesAdminUpdate alert thresholds