### Troubleshooting: Install button not appearing Source: https://oneuptime.com/docs/en/mobile-desktop-apps/windows-installation Solutions to try if the install button for OneUptime is not visible in the browser. ```markdown Solutions: 1. Ensure you're using Edge or Chrome (recommended browsers) 2. Verify HTTPS connection to OneUptime instance 3. Clear browser cache and cookies 4. Update browser to latest version 5. Check if PWA requirements are met on server 6. Disable browser extensions temporarily ``` -------------------------------- ### Clone Repository and Start Development Server Source: https://oneuptime.com/docs/en/installation/local-development Clone the OneUptime repository, copy the environment configuration, and start the development server. ```Bash # Clone this repo and cd into it. git clone https://github.com/OneUptime/oneuptime.git cd oneuptime # Copy config.example.env to config.env cp config.example.env config.env # Since this is dev, you don't have to edit any of those values in config.env. You can, but that's optional. npm run dev ``` -------------------------------- ### Troubleshooting: App not in Start Menu Source: https://oneuptime.com/docs/en/mobile-desktop-apps/windows-installation Guidance for when the OneUptime application does not appear in the Windows Start Menu after installation. ```sql Solutions: 1. Search for "OneUptime" in Windows search 2. Check if installed under different name 3. Look in "Recently added" apps section 4. Reinstall and ensure "Add to Start Menu" is checked 5. Manually create shortcut if necessary ``` -------------------------------- ### Troubleshooting: Installation fails or crashes Source: https://oneuptime.com/docs/en/mobile-desktop-apps/windows-installation Steps to resolve issues where the OneUptime installation fails or the application crashes. ```markdown Solutions: 1. Run browser as administrator 2. Check Windows User Account Control (UAC) settings 3. Ensure sufficient disk space (minimum 100MB) 4. Temporarily disable antivirus software 5. Clear browser data completely 6. Restart Windows and try again ``` -------------------------------- ### Example Version Pinning for Self-Hosted Source: https://oneuptime.com/docs/en/terraform/complete-guide Example of pinning the Terraform provider version for a self-hosted OneUptime installation, specifically version 7.0.123. ```Bash # Example: If running OneUptime 7.0.123 terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "= 7.0.123" } } } ``` -------------------------------- ### Troubleshooting: PWA Installation Issues Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Steps to resolve issues where the PWA doesn't install or crashes. ```markdown Solutions: 1. Check macOS version compatibility 2. Ensure sufficient disk space (100MB+) 3. Update browser to latest version 4. Clear browser cache and cookies 5. Temporarily disable browser extensions 6. Restart Mac and try installation again ``` -------------------------------- ### Install OneUptime CLI Source: https://oneuptime.com/docs/en/cli/index Install the OneUptime CLI globally using npm. ```bash npm install -g @oneuptime/cli ``` -------------------------------- ### OneUptime CLI Configuration File Example Source: https://oneuptime.com/docs/en/cli/authentication An example of the OneUptime CLI configuration file, showing how contexts, current context, and default settings are stored. Permissions are restricted to 0600. ```JSON { "currentContext": "production", "contexts": { "production": { "name": "production", "apiUrl": "https://oneuptime.com", "apiKey": "sk-..." }, "staging": { "name": "staging", "apiUrl": "https://staging.oneuptime.com", "apiKey": "sk-..." } }, "defaults": { "output": "table", "limit": 10 } } ``` -------------------------------- ### Edge: Install Site as App Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Install OneUptime as a standalone application using Microsoft Edge. ```text three-dot menu → Apps → Install this site as an app ``` -------------------------------- ### Get General Help Source: https://oneuptime.com/docs/en/cli/index Display general help information for the OneUptime CLI. ```bash # General help oneuptime --help ``` -------------------------------- ### Get Command-Specific Help Source: https://oneuptime.com/docs/en/cli/index Show help details for a specific command, such as 'monitor' or 'monitor list'. ```bash # Help for a specific command oneuptime monitor --help oneuptime monitor list --help ``` -------------------------------- ### Create a Basic Monitor Source: https://oneuptime.com/docs/en/terraform/examples Define a manual monitor resource for tracking a service. This example creates a monitor for a website's homepage. ```HCL resource "oneuptime_monitor" "manual_monitor" { name = "Homepage Monitor" description = "Monitor for the main website homepage" monitor_type = "Manual" } ``` -------------------------------- ### Copilot Chat: Monitor Management Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries for managing monitors in OneUptime. ```bash "Create a new website monitor for https://example.com that checks every 5 minutes" "Set up an API monitor for https://api.example.com/health with a 30-second timeout" "Change the monitoring interval for my website monitor to every 2 minutes" "Disable the monitor for staging.example.com while we're doing maintenance" ``` -------------------------------- ### Complete Monitoring Setup with OneUptime Terraform Source: https://oneuptime.com/docs/en/terraform/complete-guide This snippet demonstrates a full monitoring setup using the OneUptime Terraform provider. It includes variable definitions, provider configuration, and resources for teams, monitors, on-call policies, alert policies, and status pages. ```HCL # Variables variable "oneuptime_api_key" { description = "OneUptime API Key" type = string sensitive = true } variable "project_id" { description = "OneUptime project ID (create project manually in dashboard)" type = string } variable "oneuptime_url" { description = "OneUptime URL" type = string default = "https://oneuptime.com" } # Provider configuration terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "~> 7.0" } } } provider "oneuptime" { oneuptime_url = var.oneuptime_url api_key = var.oneuptime_api_key } # Team resource "oneuptime_team" "platform" { name = "Platform Team" description = "Platform engineering team" } # Monitors resource "oneuptime_monitor" "api" { name = "API Health Check" description = "Monitor for API health endpoint" data = jsonencode({ url = "https://api.mycompany.com/health" method = "GET" interval = "1m" timeout = "30s" }) } } resource "oneuptime_monitor" "database" { name = "Database Connection" project_id = oneuptime_project.production.id monitor_type = "port" hostname = "db.mycompany.com" port = 5432 interval = "2m" tags = { service = "database" environment = "production" criticality = "critical" } } # On-call policy resource "oneuptime_on_call_policy" "platform_oncall" { name = "Platform On-Call" project_id = oneuptime_project.production.id team_id = oneuptime_team.platform.id schedules { name = "Business Hours" timezone = "America/New_York" layers { name = "Primary" users = ["user1@mycompany.com", "user2@mycompany.com"] rotation_type = "weekly" start_time = "09:00" end_time = "17:00" days = ["monday", "tuesday", "wednesday", "thursday", "friday"] } } } # Alert policy resource "oneuptime_alert_policy" "critical_alerts" { name = "Critical System Alerts" project_id = oneuptime_project.production.id conditions { monitor_id = oneuptime_monitor.api.id threshold = "down" } conditions { monitor_id = oneuptime_monitor.database.id threshold = "down" } actions { type = "webhook" url = "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK" } actions { type = "oncall_escalation" oncall_policy_id = oneuptime_on_call_policy.platform_oncall.id } } # Status page resource "oneuptime_status_page" "public" { name = "MyCompany Status" project_id = oneuptime_project.production.id domain = "status.mycompany.com" components { name = "API" monitor_id = oneuptime_monitor.api.id } components { name = "Database" monitor_id = oneuptime_monitor.database.id } } ``` -------------------------------- ### Uptime Request Body Example Source: https://oneuptime.com/docs/en/status-pages/public-api This JSON object shows the optional request body for the Uptime API, allowing you to specify a start and end date for the uptime calculation. ```JSON { "startDate": "2021-09-01T00:00:00Z", "endDate": "2021-09-30T23:59:59Z" } ``` -------------------------------- ### GitHub Actions CI/CD Pipeline Source: https://oneuptime.com/docs/en/cli/scripting Example GitHub Actions workflow to install the OneUptime CLI and check for active incidents. It exits with an error code if any incidents are found. ```YAML name: Check Active Incidents on: schedule: - cron: '*/5 * * * *' jobs: health-check: runs-on: ubuntu-latest steps: - name: Install OneUptime CLI run: npm install -g @oneuptime/cli - name: Check for active incidents env: ONEUPTIME_API_KEY: ${{ secrets.ONEUPTIME_API_KEY }} ONEUPTIME_URL: https://oneuptime.com run: | INCIDENT_COUNT=$(oneuptime incident count) if [ "$INCIDENT_COUNT" -gt 0 ]; then echo "WARNING: $INCIDENT_COUNT incidents found" exit 1 fi ``` -------------------------------- ### Chrome: Create Shortcut Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Install OneUptime using Chrome's 'Create shortcut' option for a native app experience. ```text Chrome menu → More tools → Create shortcut ``` -------------------------------- ### Uptime API Response Example Source: https://oneuptime.com/docs/en/status-pages/public-api This is an example of the JSON response received from the Uptime API, detailing uptime percentages for individual resources and groups on the status page. ```JSON { "statusPageResourceUptimes": [ { "statusPageResourceId": { "_type": "ObjectID", "value": "cfffa3c3-fdf3-4cd7-9585-d6d408a14663" }, "uptimePercent": 99.98, "statusPageResourceName": "Status Page Resource Name", "currentStatus": { "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f", "isPermissionIf": {}, "name": "Operational", "color": { "_type": "Color", "value": "#2ab57d" }, "isOperationalState": true, "priority": 1 } } ], "groupUptimes": [ { "statusPageGroupId": { "_type": "ObjectID", "value": "df7632c4-c5c0-453c-88bf-9ee3d68d45f2" }, "uptimePercent": 99.98, "statusPageResourceUptimes": [ { "statusPageResourceId": { "_type": "ObjectID", "value": "8175534f-aa77-456c-ad5b-b8e7b85876aa" }, "uptimePercent": 99.98, "statusPageResourceName": "dfg", "currentStatus": { "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f", "isPermissionIf": {}, "name": "Operational", "color": { "_type": "Color", "value": "#2ab57d" }, "isOperationalState": true, "priority": 1 } } ], "statusPageGroupName": "Group Name", "currentStatus": { "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f", "isPermissionIf": {}, "name": "Operational", "color": { "_type": "Color", "value": "#2ab57d" }, "isOperationalState": true, "priority": 1 } } ], "startDate": "2021-09-01T00:00:00Z", "endDate": "2021-09-30T23:59:59Z" } ``` -------------------------------- ### Copilot Chat: Basic Information Queries Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries for basic information from OneUptime. ```bash "What's the current status of all my monitors?" "Show me incidents from the last 24 hours" ``` -------------------------------- ### SCIM User Schema Example Source: https://oneuptime.com/docs/en/identity/scim This is an example of the SCIM v2.0 User schema used by OneUptime. It includes basic user information like name, display name, and email. ```json { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "user@example.com", "name": { "givenName": "John", "familyName": "Doe", "formatted": "John Doe" }, "displayName": "John Doe", "emails": [ { "value": "user@example.com", "type": "work", "primary": true } ], "active": true } ``` -------------------------------- ### Quick Start: Create Project and Website Monitor Source: https://oneuptime.com/docs/en/terraform/registry A basic Terraform configuration to set up the OneUptime provider, create a new project, and then deploy a website monitor within that project. Ensure your API key is set in terraform.tfvars. ```HCL # Configure the provider terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "~> 7.0" } } } provider "oneuptime" { oneuptime_url = "https://oneuptime.com" api_key = var.oneuptime_api_key } # Create a project resource "oneuptime_project" "example" { name = "Terraform Example" description = "Created with Terraform" } # Create a website monitor resource "oneuptime_monitor" "website" { name = "Website Monitor" project_id = oneuptime_project.example.id monitor_type = "website" url = "https://example.com" interval = "5m" tags = { managed_by = "terraform" } } ``` -------------------------------- ### Authentication Failed Error Example Source: https://oneuptime.com/docs/en/terraform/quick-start Shows the error for an invalid API key. Verify the key, permissions, and OneUptime URL in your configuration. ```Vbnet Error: Invalid API key ``` -------------------------------- ### Copilot Chat: Incident Management Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries for managing incidents in OneUptime. ```bash "Create a high-priority incident for the database outage affecting user authentication" "Add a note to incident #123 saying 'Database connection restored, monitoring for stability'" "Mark incident #456 as resolved" "Assign the current payment gateway incident to the infrastructure team" ``` -------------------------------- ### Copilot Chat: Team and On-Call Queries Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries for team and on-call information in OneUptime. ```bash "Who are the members of the infrastructure team?" "Who's currently on call for the infrastructure team?" "Show me the on-call schedule for this week" ``` -------------------------------- ### Copilot Chat Queries for OneUptime MCP Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries to interact with the OneUptime MCP server via Copilot Chat. ```bash "What monitors do I have in OneUptime?" "Show me recent incidents" "Create a new monitor for https://example.com" ``` -------------------------------- ### Provider Not Found Error Example Source: https://oneuptime.com/docs/en/terraform/quick-start Illustrates the error message when the Terraform provider is not found. Running 'terraform init' typically resolves this. ```Vbnet Error: Failed to query available provider packages ``` -------------------------------- ### Run Docker Compose with Environment Variables Source: https://oneuptime.com/docs/en/installation/docker-compose Start OneUptime using Docker Compose, reading environment variables from config.env. Use sudo if permission issues arise. ```Bash (export $(grep -v '^#' config.env | xargs) && docker compose up --remove-orphans -d) ``` ```Bash sudo bash -c "(export $(grep -v '^#' config.env | xargs) && docker compose up --remove-orphans -d)" ``` -------------------------------- ### SCIM User Schema Source: https://oneuptime.com/docs/en/identity/scim Example of the SCIM User resource schema used for provisioning user data. ```APIDOC ## SCIM User Schema Example ```json { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "user@example.com", "name": { "givenName": "John", "familyName": "Doe", "formatted": "John Doe" }, "displayName": "John Doe", "emails": [ { "value": "user@example.com", "type": "work", "primary": true } ], "active": true } ``` ``` -------------------------------- ### Run Docker Compose Source: https://oneuptime.com/docs/en/ai/ai-agent Execute this command after creating the docker-compose.yml file to start the AI agent in detached mode. ```bash docker compose up -d ``` -------------------------------- ### Run OneUptime CLI from Docker Container Source: https://oneuptime.com/docs/en/cli/scripting Example command to run the OneUptime CLI from a Docker container, passing authentication details via environment variables. ```Bash docker run --rm \ -e ONEUPTIME_API_KEY=sk-abc123 \ -e ONEUPTIME_URL=https://oneuptime.com \ oneuptime-cli incident list ``` -------------------------------- ### Configure OneUptime Provider for Cloud Source: https://oneuptime.com/docs/en/terraform/index Use this configuration for OneUptime Cloud customers. Ensure the version constraint is appropriate for your setup. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = ">= 7.0" } } } provider "oneuptime" { oneuptime_url = "https://oneuptime.com" api_key = var.oneuptime_api_key } ``` -------------------------------- ### Run Self-Hosted AI Agent with Docker Source: https://oneuptime.com/docs/en/ai/ai-agent Deploy a self-hosted AI agent using Docker. Ensure Docker is installed and replace placeholders with your AI agent key, ID, and OneUptime URL. ```Bash docker run --name oneuptime-ai-agent --network host \ -e AI_AGENT_KEY= \ -e AI_AGENT_ID= \ -e ONEUPTIME_URL=https://oneuptime.com \ -d oneuptime/ai-agent:release ``` -------------------------------- ### Safari: Add to Dock (macOS Sonoma+) Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Use this method to install OneUptime as a native app on macOS Sonoma or later via Safari. ```text File → "Add to Dock" ``` -------------------------------- ### Create a Status Page Source: https://oneuptime.com/docs/en/terraform/examples Resource for creating a public status page to display service status to customers. This example sets up a page named 'Public Status Page'. ```HCL # Public status page resource "oneuptime_status_page" "public" { name = "Public Status Page" description = "Public status page for customer-facing services" } ``` -------------------------------- ### Version Mismatch Error Example Source: https://oneuptime.com/docs/en/terraform/quick-start Displays the error for API version incompatibility, common with self-hosted instances. Ensure the provider version matches your OneUptime version. ```JavaScript Error: API version incompatible ``` -------------------------------- ### Verify Terraform and Provider Versions Source: https://oneuptime.com/docs/en/terraform/complete-guide Check your installed Terraform version and the versions of configured providers. This helps ensure compatibility and identify potential issues. ```bash # Check Terraform version terraform version # Check provider version terraform providers # Validate configuration terraform validate ``` -------------------------------- ### Configure OneUptime Provider for Self-Hosted Source: https://oneuptime.com/docs/en/terraform/index For self-hosted OneUptime instances, precisely pin the provider version to match your OneUptime installation. Mismatched versions can lead to API compatibility issues. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "= 7.0.123" # Must match your OneUptime version } } } provider "oneuptime" { oneuptime_url = "https://oneuptime.yourcompany.com" api_key = var.oneuptime_api_key } ``` -------------------------------- ### List All Resources Source: https://oneuptime.com/docs/en/cli/index Display all available resources within your OneUptime instance. ```bash # See all available resources oneuptime resources ``` -------------------------------- ### Pin Exact Provider Version for Self-Hosted Customers Source: https://oneuptime.com/docs/en/terraform/complete-guide Self-hosted OneUptime customers must pin the Terraform provider version to an exact match with their OneUptime installation version to ensure API compatibility. This example shows pinning to version 7.0.123. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "= 7.0.123" # Exact version match } } } ``` -------------------------------- ### Clone Repository and Initialize Configuration Source: https://oneuptime.com/docs/en/installation/docker-compose Clone the OneUptime release repository and set up the initial configuration file. Ensure you replace default secrets in config.env. ```Bash git clone --depth 1 --single-branch --branch release https://github.com/OneUptime/oneuptime.git cd oneuptime cp config.example.env config.env # IMPORTANT: Edit config.env file. Please make sure you have random secrets. npm start ``` -------------------------------- ### Manage Chrome PWAs Source: https://oneuptime.com/docs/en/mobile-desktop-apps/linux-installation Access the Chrome Apps page to manage installed Progressive Web Apps. This command is used to view and manage PWA installations. ```Bash # Chrome PWA management google-chrome chrome://apps/ ``` -------------------------------- ### Terraform Initialization and Application Commands Source: https://oneuptime.com/docs/en/terraform/quick-start Commands to initialize Terraform, plan the deployment, and apply the configuration to create resources. ```Bash # Initialize Terraform terraform init # Plan the deployment terraform plan # Apply the configuration terraform apply ``` -------------------------------- ### Incidents API Response Example Source: https://oneuptime.com/docs/en/status-pages/public-api This is an example of the JSON response from the Incidents API, which includes an array of incident objects. Each object contains details about a specific incident. ```JSON { "incidents": [ // You can find more details on the incident here. // https://oneuptime.com/reference/incident { // Incident Object }, { // Incident Object } ] } ``` -------------------------------- ### Announcements API Response Example Source: https://oneuptime.com/docs/en/status-pages/public-api This is an example of the JSON response from the Announcements API, which lists announcement objects. Each object provides details about a specific announcement on the status page. ```JSON { "announcements": [ // You can find more details on the announcement here. // https://oneuptime.com/reference/status-page-announcement { // Announcement Object }, { // Announcement Object } ] } ``` -------------------------------- ### SCIM Group Schema Example Source: https://oneuptime.com/docs/en/identity/scim This is an example of the SCIM v2.0 Group schema used by OneUptime for managing teams. It includes the group's display name and members. ```json { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName": "Engineering Team", "members": [ { "value": "user-id-here", "display": "user@example.com" } ] } ``` -------------------------------- ### List Available Tools (Self-Hosted) Source: https://oneuptime.com/docs/en/ai/mcp-server Use curl to list available tools on a self-hosted OneUptime MCP server. ```bash # For Self-Hosted curl https://your-oneuptime-domain.com/mcp/tools ``` -------------------------------- ### Initialize, Plan, and Apply Terraform Configuration Source: https://oneuptime.com/docs/en/terraform/complete-guide Commands to initialize the Terraform working directory, plan the infrastructure changes, and apply the configuration to create or update OneUptime resources. ```Bash # Initialize Terraform terraform init # Plan the changes terraform plan # Apply the configuration terraform apply ``` -------------------------------- ### Scheduled Maintenance API Response Example Source: https://oneuptime.com/docs/en/status-pages/public-api This is an example of the JSON response from the Scheduled Maintenance API, containing an array of scheduled maintenance event objects. Refer to the provided link for detailed object structure. ```JSON { "scheduledMaintenanceEvents": [ // You can find more details on the scheduled maintenance event here. // https://oneuptime.com/reference/scheduled-maintenance { // Scheduled Maintenance Event Object }, { // Scheduled Maintenance Event Object } ] } ``` -------------------------------- ### Install OneUptime Provider for Self-Hosted Users Source: https://oneuptime.com/docs/en/terraform/registry Configure your Terraform project to use the OneUptime provider for self-hosted instances. It is critical to pin the provider version to match your OneUptime installation exactly to avoid API compatibility issues. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = "= 7.0.123" } } required_version = ">= 1.0" } provider "oneuptime" { oneuptime_url = "https://oneuptime.yourcompany.com" api_key = var.oneuptime_api_key } ``` -------------------------------- ### List Resources with Options Source: https://oneuptime.com/docs/en/cli/resource-operations Retrieve a list of resources. Supports filtering with JSON queries, pagination, sorting, and output formatting. ```bash oneuptime list [options] ``` ```bash # List the 10 most recent incidents oneuptime incident list ``` ```bash # Filter incidents by state ID oneuptime incident list --query '{"currentIncidentStateId":""}' ``` ```bash # List with pagination oneuptime incident list --limit 20 --skip 40 ``` ```bash # Sort by creation date (descending) oneuptime incident list --sort '{"createdAt":-1}' ``` ```bash # Output as JSON oneuptime incident list -o json ``` -------------------------------- ### List Monitors Source: https://oneuptime.com/docs/en/cli/index View a list of all configured monitors. ```bash # List your monitors oneuptime monitor list ``` -------------------------------- ### Create Monitor from JSON File Source: https://oneuptime.com/docs/en/cli/scripting Create resources like monitors using a JSON file, which is useful for managing infrastructure as code. Ensure the JSON file contains the necessary fields like 'name' and 'projectId'. ```Bash # monitor.json # { # "name": "API Health Check", # "projectId": "your-project-id" # } oneuptime monitor create --file monitor.json ``` -------------------------------- ### Get Specific Incident Source: https://oneuptime.com/docs/en/cli/index Retrieve details for a specific incident using its ID. ```bash # View a specific incident oneuptime incident get ``` -------------------------------- ### List Configured Contexts Source: https://oneuptime.com/docs/en/cli/authentication Displays all configured OneUptime contexts. The currently active context is indicated with an asterisk. ```Bash oneuptime context list ``` -------------------------------- ### Terraform Destroy Command Source: https://oneuptime.com/docs/en/terraform/quick-start Command to remove all resources created by the Terraform configuration during the quick start. ```Bash terraform destroy ``` -------------------------------- ### List Available Tools (Cloud) Source: https://oneuptime.com/docs/en/ai/mcp-server Use curl to list available tools on the OneUptime Cloud MCP server. ```bash # For OneUptime Cloud curl https://oneuptime.com/mcp/tools ``` -------------------------------- ### Claude Desktop Configuration for Public Access (No API Key) Source: https://oneuptime.com/docs/en/ai/mcp-server Connect Claude Desktop to the OneUptime MCP Server for public tools like status page information and help, without requiring an API key. ```json { "mcpServers": { "oneuptime": { "transport": "streamable-http", "url": "https://oneuptime.com/mcp" } } } ``` -------------------------------- ### Get a Specific Resource Source: https://oneuptime.com/docs/en/cli/resource-operations Retrieve a single resource by its unique ID. The output can be formatted as JSON. ```bash oneuptime get ``` ```bash # Get a specific incident oneuptime incident get 550e8400-e29b-41d4-a716-446655440000 ``` ```bash # Get a monitor as JSON oneuptime monitor get abc-123 -o json ``` -------------------------------- ### SCIM Group Schema Source: https://oneuptime.com/docs/en/identity/scim Example of the SCIM Group resource schema used for provisioning group data. ```APIDOC ## SCIM Group Schema Example ```json { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName": "Engineering Team", "members": [ { "value": "user-id-here", "display": "user@example.com" } ] } ``` ``` -------------------------------- ### List Available Resources Source: https://oneuptime.com/docs/en/cli/resource-operations View all resource types supported by the CLI. You can filter the list by resource type. ```bash oneuptime resources ``` ```bash # Show only database resources oneuptime resources --type database ``` ```bash # Show only analytics resources oneuptime resources --type analytics ``` -------------------------------- ### Create New Resource Source: https://oneuptime.com/docs/en/cli/command-reference Creates a new resource, accepting data either as a JSON string or from a file. Output format can be specified. ```Bash oneuptime create [--data | --file ] [-o ] ``` -------------------------------- ### Copilot Chat: Status Page Management Source: https://oneuptime.com/docs/en/ai/mcp-server Example natural language queries for updating status pages in OneUptime. ```bash "Update our status page to show 'Investigating Payment Issues' for the payment service" "Create a status page announcement about scheduled maintenance this weekend" ``` -------------------------------- ### Initialize Terraform with Provider Upgrade Source: https://oneuptime.com/docs/en/terraform/self-hosted Initializes the Terraform working directory and upgrades providers to the versions specified in the configuration. Run after updating provider versions. ```bash # Update provider terraform init -upgrade ``` -------------------------------- ### Batch Create Monitors from JSON Array Source: https://oneuptime.com/docs/en/cli/scripting Process multiple resources by reading a JSON array from a file and creating each resource in a loop using the CLI. ```Bash # Create multiple monitors from a JSON array file cat monitors.json | jq -r '.[] | @json' | while read monitor; do oneuptime monitor create --data "$monitor" done ``` -------------------------------- ### Get Single Resource by ID Source: https://oneuptime.com/docs/en/cli/command-reference Fetches a specific resource using its unique identifier (UUID). Output can be formatted. ```Bash oneuptime get [-o ] ``` -------------------------------- ### Create a New Resource Source: https://oneuptime.com/docs/en/cli/resource-operations Create a new resource using either inline JSON data or by specifying a JSON file. The output format can be specified. ```bash oneuptime create [options] ``` ```bash # Create an incident with inline JSON oneuptime incident create --data '{"title":"API Outage","currentIncidentStateId":"","incidentSeverityId":"","declaredAt":"2025-01-15T10:30:00Z"}' ``` ```bash # Create from a JSON file oneuptime incident create --file incident.json ``` ```bash # Create and output as JSON to capture the ID oneuptime monitor create --data '{"name":"API Health Check"}' -o json ``` -------------------------------- ### Claude Desktop Configuration for Self-Hosted OneUptime Source: https://oneuptime.com/docs/en/ai/mcp-server Configure Claude Desktop for a self-hosted OneUptime instance. Remember to replace 'your-oneuptime-domain.com' with your actual domain and 'your-api-key-here' with your API key. ```json { "mcpServers": { "oneuptime": { "transport": "streamable-http", "url": "https://your-oneuptime-domain.com/mcp", "headers": { "x-api-key": "your-api-key-here" } } } } ``` -------------------------------- ### Get Announcements Source: https://oneuptime.com/docs/en/status-pages/public-api Fetches all announcements published on a specific status page. This provides a list of recent announcements made to users. ```APIDOC ## POST /status-page-api/announcements/:statusPageId ### Description Fetches all announcements published on a specific status page. This provides a list of recent announcements made to users. ### Method POST ### Endpoint /status-page-api/announcements/:statusPageId ### Parameters #### Path Parameters - **statusPageId** (string) - Required - The ID of the status page. ### Response #### Success Response (200) - **announcements** (array) - An array of announcement objects. ### Response Example ```json { "announcements": [ { // Announcement Object }, { // Announcement Object } ] } ``` ``` -------------------------------- ### Get Incidents Source: https://oneuptime.com/docs/en/status-pages/public-api Fetches all incidents that have occurred on a specific status page. This endpoint provides a list of past and ongoing incidents. ```APIDOC ## POST /status-page-api/incidents/:statusPageId ### Description Fetches all incidents that have occurred on a specific status page. This endpoint provides a list of past and ongoing incidents. ### Method POST ### Endpoint /status-page-api/incidents/:statusPageId ### Parameters #### Path Parameters - **statusPageId** (string) - Required - The ID of the status page. ### Response #### Success Response (200) - **incidents** (array) - An array of incident objects. Each object contains details about an incident. ### Response Example ```json { "incidents": [ { // Incident Object }, { // Incident Object } ] } ``` ``` -------------------------------- ### Apply Kubernetes Configuration Source: https://oneuptime.com/docs/en/ai/ai-agent Use this command to apply the Kubernetes deployment configuration defined in the oneuptime-ai-agent.yaml file. ```bash kubectl apply -f oneuptime-ai-agent.yaml ``` -------------------------------- ### Troubleshooting Window Size or Position Problems Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Steps to fix issues with window size or position. Includes manual adjustments, using the Window menu, resetting the window state, and checking display scaling. ```text Solutions: 1. Manually resize and reposition window 2. Use Window menu → Zoom (Safari PWAs) 3. Reset window state by quitting and reopening 4. Check display scaling in System Preferences 5. Try different desktop space or full-screen mode ``` -------------------------------- ### Get Resource Status Source: https://oneuptime.com/docs/en/status-pages/public-api Retrieve the status of your resources by making a POST request to the Public Status Page API endpoint. ```APIDOC ## POST /resources/status ### Description Retrieves the status of resources configured on the Status Page. ### Method POST ### Endpoint /resources/status ### Request Body This endpoint does not explicitly define a request body schema in the provided documentation. However, it is implied that a request body might be necessary to specify which resources to query. ### Response #### Success Response (200) - **status** (string) - The current status of the resource (e.g., 'operational', 'degraded', 'down'). - **resource_id** (string) - The unique identifier of the resource. #### Response Example { "example": "{\"status\": \"operational\", \"resource_id\": \"your_resource_id\"}" } ``` -------------------------------- ### Basic Terraform Configuration with OneUptime Resources Source: https://oneuptime.com/docs/en/terraform/complete-guide A basic Terraform configuration file (`main.tf`) that sets up the OneUptime provider and defines resources for a monitor and a team. Ensure your OneUptime project ID is provided. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" version = ">= 7.0" } } } provider "oneuptime" { oneuptime_url = "https://oneuptime.com" # Use your instance URL api_key = var.oneuptime_api_key } # Note: Projects must be created manually in the OneUptime dashboard variable "project_id" { description = "OneUptime project ID" type = string } # Create a monitor resource "oneuptime_monitor" "website" { name = "Website Monitor" description = "Monitor for website uptime" data = jsonencode({ url = "https://example.com" interval = "5m" timeout = "30s" }) } # Create a team resource "oneuptime_team" "platform" { name = "Platform Team" description = "Platform engineering team" } value = "alerts@example.com" } } ``` -------------------------------- ### Authenticate Using CLI Flags Source: https://oneuptime.com/docs/en/cli/authentication Provide API key and instance URL directly as flags for authentication. This method is prioritized over environment variables and saved contexts. ```Bash oneuptime --api-key sk-abc123 --url https://oneuptime.com incident list ``` -------------------------------- ### Get Scheduled Maintenance Source: https://oneuptime.com/docs/en/status-pages/public-api Fetches all scheduled maintenance events for a given status page. This includes upcoming and ongoing maintenance activities. ```APIDOC ## POST /status-page-api/scheduled-maintenance/:statusPageId ### Description Fetches all scheduled maintenance events for a given status page. This includes upcoming and ongoing maintenance activities. ### Method POST ### Endpoint /status-page-api/scheduled-maintenance/:statusPageId ### Parameters #### Path Parameters - **statusPageId** (string) - Required - The ID of the status page. ### Response #### Success Response (200) - **scheduledMaintenanceEvents** (array) - An array of scheduled maintenance event objects. ### Response Example ```json { "scheduledMaintenanceEvents": [ { // Scheduled Maintenance Event Object }, { // Scheduled Maintenance Event Object } ] } ``` ``` -------------------------------- ### Log in to OneUptime Instance Source: https://oneuptime.com/docs/en/cli/index Authenticate with your OneUptime instance using an API key and URL. ```bash # Authenticate with your OneUptime instance oneuptime login https://oneuptime.com ``` -------------------------------- ### Display CLI Version Source: https://oneuptime.com/docs/en/cli/command-reference Prints the current version of the OneUptime CLI to the console. ```Bash oneuptime version ``` -------------------------------- ### Development Environment Terraform Variables Source: https://oneuptime.com/docs/en/terraform/self-hosted Defines OneUptime URL and environment name for the development setup. Use this file with `terraform apply -var-file=dev.tfvars`. ```hcl # dev.tfvars oneuptime_url = "https://oneuptime-dev.yourcompany.com" environment = "development" ``` -------------------------------- ### Troubleshooting: App Not Appearing in Applications Folder Source: https://oneuptime.com/docs/en/mobile-desktop-apps/macos-installation Guidance for when the OneUptime application is not found in the Applications folder. ```markdown Solutions: 1. Check Launchpad for OneUptime icon 2. Search with Spotlight (⌘+Space) 3. Look in browser's PWA management section 4. Try reinstalling with different browser 5. Check if installed under different name ``` -------------------------------- ### Terraform Configuration with OneUptime Provider Source: https://oneuptime.com/docs/en/terraform/quick-start Defines the OneUptime provider, including version constraints and API key configuration. Use this for basic setup. ```HCL terraform { required_providers { oneuptime = { source = "oneuptime/oneuptime" # For Cloud customers version = "~> 7.0" # For Self-Hosted customers - pin to your exact version # version = "= 7.0.123" # Replace with your OneUptime version } } required_version = ">= 1.0" } provider "oneuptime" { # For Cloud customers oneuptime_url = "https://oneuptime.com" # For Self-Hosted customers - use your instance URL # oneuptime_url = "https://oneuptime.yourcompany.com" api_key = var.oneuptime_api_key } variable "oneuptime_api_key" { description = "OneUptime API Key" type = string sensitive = true } # Note: Projects must be created manually in the OneUptime dashboard # Use your existing project ID here variable "project_id" { description = "OneUptime project ID" type = string } # Create a simple website monitor resource "oneuptime_monitor" "website" { name = "Website Monitor" description = "Monitor for website uptime" data = jsonencode({ url = "https://example.com" interval = "5m" timeout = "30s" }) } # Output the monitor ID output "monitor_id" { value = oneuptime_monitor.website.id } ```