Appearance
API Overview
Welcome to the Uptinio API documentation. This guide will help you integrate with Uptinio's API.
Authentication
The Uptinio API supports two authentication methods:
- User Authentication Tokens - For frontend applications and user-specific operations (obtained via login)
- Project API Tokens - For infrastructure monitoring and project-based operations (generated in dashboard)
Most endpoints require authentication, but some endpoints (like registration and login) are public. Learn more about authentication.
Base URL
https://app.uptinio.com/api/v1Available Endpoints
Authentication (Public)
POST /api/v1/users- Register a new user (with name, email, and password)POST /api/v1/registrations- Quick user registration (with endpoint monitoring)POST /api/v1/auth/sign_in- Sign in and get authentication tokenPOST /api/v1/auth/google- Sign in with Google (exchange Google ID token for API token)DELETE /api/v1/auth/sign_out- Sign out (requires user token)GET /api/v1/auth/validate- Validate authentication token (requires user token)POST /api/v1/email_verifications/verify- Verify email address with code (requires user token)POST /api/v1/email_verifications/resend- Resend email verification code (requires user token)
Monitoring (Project API Token Required)
GET /api/v1/network_monitors- List all monitorsPOST /api/v1/network_monitors- Create a new monitorGET /api/v1/network_monitors/:uuid- Get monitor detailsPUT /api/v1/network_monitors/:uuid- Update a monitorDELETE /api/v1/network_monitors/:uuid- Delete a monitorPOST /api/v1/network_monitors/:uuid/pause- Pause a monitorPOST /api/v1/network_monitors/:uuid/resume- Resume a monitor
Incidents (Project API Token Required)
GET /api/v1/incidents- List all incidentsGET /api/v1/incidents/:uuid- Get incident detailsPOST /api/v1/incidents/:uuid/resolve- Resolve an incidentPOST /api/v1/incidents/:uuid/snooze- Snooze an incidentPOST /api/v1/incidents/:uuid/unsnooze- Unsnooze an incident
Reports (Project API Token Required)
GET /api/v1/reports- List all reportsGET /api/v1/reports/:uuid- Get report detailsPOST /api/v1/reports- Create a new reportPATCH /api/v1/reports/:uuid- Update a reportDELETE /api/v1/reports/:uuid- Delete a report
Servers (Project API Token Required)
GET /api/v1/servers- List all servers (includes last_metrics only; pagination supported)GET /api/v1/servers/:uuid- Get server details (includes last_metrics only)GET /api/v1/servers/:uuid/metrics- Get server time-series metrics for a time range (since/until optional; defaults to last hour)GET /api/v1/servers/:uuid/integrations- List integrations attached to a serverPOST /api/v1/servers/:uuid/integrations- Attach an integration to a server (body:integration_id)DELETE /api/v1/servers/:uuid/integrations/:id- Detach an integration from a serverDELETE /api/v1/servers/:uuid- Delete a serverGET /api/v1/servers/:uuid/update_chart- Get server chart data
Metrics (Project API Token Required)
POST /api/v1/server_metrics- Submit server metrics
Integrations (Project API Token Required)
GET /api/v1/integrations- List integrationsPOST /api/v1/integrations- Create integrationDELETE /api/v1/integrations/:id- Delete integration- Server integrations: List/attach/detach via
GET/POST/DELETE /api/v1/servers/:uuid/integrations
Dashboard (Project API Token Required)
GET /api/v1/dashboard/statistics- Get dashboard statistics (uptime, monitor counts, response time)
Billing (User Token Required, Owner Only)
GET /api/v1/projects/:project_uuid/billing- Get billing information for a projectGET /api/v1/billing/plans- List all available plansPOST /api/v1/projects/:project_uuid/billing/checkout- Create checkout session for upgrade/subscriptionPOST /api/v1/projects/:project_uuid/billing/downgrade- Downgrade subscription to a different plan
Accounts (Project API Token Required)
GET /api/v1/accounts/usage- Get usage statistics
Health (Project API Token Required)
GET /api/v1/general-status- Get general system status
Projects (User Token Required)
GET /api/v1/projects- List all projects for the authenticated userPOST /api/v1/projects/:uuid/switch- Switch the current project
Project Users (User Token Required, Admin/Owner Only)
GET /api/v1/projects/:project_uuid/project_users- List all project users (team members)POST /api/v1/projects/:project_uuid/project_users- Invite a user to join the projectDELETE /api/v1/projects/:project_uuid/project_users/:id- Remove a user from the project
Users (User Token or Project Token)
POST /api/v1/users- Create a new user (public)GET /api/v1/users/:id- Get user details (requires authentication)GET /api/v1/users/project_api_tokens- Get all projects with their API tokens, UUIDs, and names for the authenticated user (requires user token)GET /api/v1/users/current_project_api_token- Get the API token of the authenticated user's current project (requires user token)
Rate Limits
- 100 requests per minute for standard plans
- 1000 requests per minute for enterprise plans
Response Format
All responses are in JSON format:
json
{
"data": {
// Response data
},
"meta": {
"page": 1,
"per_page": 20,
"total": 100
}
}Error Handling
Errors are returned with appropriate HTTP status codes and a JSON response:
json
{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters"
}
}API Reference Documentation
- Authentication Guide - Learn how to authenticate with the API
- Projects API Reference - Manage projects and switch between them
- Project Users API Reference - Manage team members and permissions
- Billing API Reference - Manage subscriptions and billing
- Monitor API Reference - Manage network monitors
- Incident API Reference - View and manage incidents
- Report API Reference - Create and manage reports
- Servers API Reference - List servers, get server details (last_metrics), get time-series metrics by range, delete servers
- Server Metrics API Reference - Submit server metrics
- Dashboard API Reference - Get dashboard statistics
- Integration API Reference - Manage integrations
- Status Page API Reference - View status pages