Skip to main content

API Reference

Upmetr exposes a RESTful API for managing cloud accounts, monitors, incidents, costs, and more. All endpoints are available under /api/v1.

Base URL

https://app.upmetr.com/api/v1

Authentication

All API requests require a Bearer token in the Authorization header:
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  https://app.upmetr.com/api/v1/resources

Getting a Token

Authenticate via the login endpoint:
curl -X POST https://app.upmetr.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "your-password"}'
Response:
{
  "access_token": "eyJhbGciOiJIUzI1...",
  "refresh_token": "eyJhbGciOiJIUzI1...",
  "token_type": "bearer"
}

Refreshing Tokens

Access tokens expire after 30 minutes. Use the refresh endpoint:
curl -X POST https://app.upmetr.com/api/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "eyJhbGciOiJIUzI1..."}'

Rate Limits

ScopeLimit
Per user60 requests/minute
Per IP (unauthenticated)20 requests/minute
When rate limited, the API returns 429 Too Many Requests with a Retry-After header.

Error Format

All errors follow a consistent format:
{
  "detail": "Error description"
}

HTTP Status Codes

CodeMeaning
200Success
201Created
400Bad request (validation error)
401Unauthorized (invalid or expired token)
403Forbidden (insufficient permissions)
404Not found
429Rate limited
500Internal server error

Organization Context

All API calls are scoped to the current organization of the authenticated user. The organization is determined by the JWT token — you don’t need to pass an org_id parameter. If a user belongs to multiple organizations, they select the active org during login via the select-org endpoint.

Interactive Documentation

Upmetr also provides interactive API documentation:
  • Swagger UIhttps://app.upmetr.com/docs
  • ReDochttps://app.upmetr.com/redoc
  • OpenAPI Spechttps://app.upmetr.com/openapi.json

Endpoint Categories

CategoryDescriptionEndpoints
AuthLogin, register, refresh, MFA, magic link15+
UsersUser management, invitations, avatars10+
Cloud AccountsCRUD, test connection, discover resources7
ResourcesList, filter, actions (start/stop/reboot)8
Uptime MonitorsCRUD, metrics, daily uptime, maintenance9
IncidentsList, acknowledge, resolve, bulk actions8
CostsSummary, by-service, by-account, forecast, sync7
BudgetsCRUD, status6
Alert RulesCRUD, toggle, overrides7
NotificationsChannels, rules, preferences, in-app15+
Infra AgentsCRUD, token regeneration, install script7
Infra MetricsSummary, per-agent metrics, containers6
Status PagesGlobal and client status pages10+
BillingPlans, checkout, portal, invoices10+
Audit LogsSecurity event trail4
Platform AdminOrganization and plan management7
Browse the full endpoint reference in the sidebar.