Skip to content

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/v1

Available 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 token
  • POST /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 monitors
  • POST /api/v1/network_monitors - Create a new monitor
  • GET /api/v1/network_monitors/:uuid - Get monitor details
  • PUT /api/v1/network_monitors/:uuid - Update a monitor
  • DELETE /api/v1/network_monitors/:uuid - Delete a monitor
  • POST /api/v1/network_monitors/:uuid/pause - Pause a monitor
  • POST /api/v1/network_monitors/:uuid/resume - Resume a monitor

Incidents (Project API Token Required)

  • GET /api/v1/incidents - List all incidents
  • GET /api/v1/incidents/:uuid - Get incident details
  • POST /api/v1/incidents/:uuid/resolve - Resolve an incident
  • POST /api/v1/incidents/:uuid/snooze - Snooze an incident
  • POST /api/v1/incidents/:uuid/unsnooze - Unsnooze an incident

Reports (Project API Token Required)

  • GET /api/v1/reports - List all reports
  • GET /api/v1/reports/:uuid - Get report details
  • POST /api/v1/reports - Create a new report
  • PATCH /api/v1/reports/:uuid - Update a report
  • DELETE /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 server
  • POST /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 server
  • DELETE /api/v1/servers/:uuid - Delete a server
  • GET /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 integrations
  • POST /api/v1/integrations - Create integration
  • DELETE /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 project
  • GET /api/v1/billing/plans - List all available plans
  • POST /api/v1/projects/:project_uuid/billing/checkout - Create checkout session for upgrade/subscription
  • POST /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 user
  • POST /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 project
  • DELETE /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