Introducing REST API Access: Manage Your Monitors Programmatically

For developers, sysadmins, and DevOps engineers, the dashboard is rarely the right interface for everything. You want to script your monitoring setup the same way you script your infrastructure. You want monitoring configuration to live in version control alongside your code. You want CI/CD pipelines to create and manage monitors automatically. You want to pull uptime data into your own internal dashboards. You want to build custom integrations with the tools you already use. None of this is possible if your monitoring service only offers a web dashboard. That is why we are excited to announce that UptyBots now provides full REST API access for all users.

The API gives you complete programmatic control over your monitoring setup — every action available in the dashboard, plus a few that only make sense for automation. Whether you are building a custom dashboard for your team, automating monitor creation for new services, integrating uptime data into your CI/CD pipeline, or building a mobile app to check monitors on the go, the API provides the foundation. This article walks through what is possible, how to get started, and what real users are building with it.

Why an API?

The UptyBots dashboard is great for day-to-day monitoring. But as your infrastructure grows, you may need to:

  • Automate monitor creation — spin up monitors for new services or environments automatically
  • Pull stats into your own dashboards — combine uptime data with your internal metrics
  • Integrate with CI/CD — create monitors after deployment, pause them during maintenance
  • Build mobile apps or CLI tools — access your monitoring data from anywhere
  • Connect with automation platforms — use Zapier, Make, n8n, or custom webhooks to trigger workflows

Getting Started in 3 Steps

Step 1: Create an API Key

Go to Account → API Keys in your dashboard and click "Create Key." Give it a descriptive name (e.g., "CI/CD Pipeline" or "Mobile App"). The key is shown only once — copy it immediately and store it securely.

Step 2: Make Your First Request

Use the key with any HTTP client. Two authentication methods are supported:

## Option 1: X-API-Key header
curl -H "X-API-Key: upty_YOUR_KEY_HERE" \
     https://uptybots.com/api/targets

## Option 2: Bearer header
curl -H "Authorization: Bearer upty_YOUR_KEY_HERE" \
     https://uptybots.com/api/targets

Both methods are equivalent — use whichever your framework or tool expects.

Step 3: Explore the Endpoints

The API covers everything you can do in the dashboard and more:

  • Monitors — list, create, update, pause/resume, and delete monitors (HTTP, Ping, Port, SSL, Domain, API)
  • Stats — retrieve hourly and daily uptime and response time data
  • Incidents — get a history of downtime events
  • Notifications — list and manage alert notifications
  • Account — access user info and summary statistics

What Can You Build?

Here are some real-world examples of what our users plan to build with the API:

  • Custom status dashboards — display uptime stats on a TV screen in your office or embed them in an internal wiki
  • Deployment automation — your CI/CD pipeline creates a monitor for each new service and pauses it during maintenance windows
  • Discord bots — a bot that checks uptime on demand and posts daily summaries to your team channel
  • Mobile monitoring apps — check your monitors on the go with a native iOS or Android app
  • Multi-tenant setups — agencies managing multiple client sites can automate monitor provisioning

Response Format

The API returns JSON-LD by default (with pagination metadata like totalItems, first, next, last). If you prefer plain JSON, add the Accept: application/json header.

For write operations, use Content-Type: application/json for POST requests and Content-Type: application/merge-patch+json for PATCH requests.

Security

API keys are stored as SHA-256 hashes — we never keep the plaintext key on our servers. Each key shows only its prefix (e.g., upty_a1b2****) so you can identify which key is which. You can create up to 10 keys per account, rename them, and revoke them at any time.

All API requests are scoped to your account — you can only access your own monitors, stats, and notifications. There's no way to access another user's data through the API.

Full Documentation

For the complete endpoint reference with request examples, filters, and error codes, check out our API Reference page.

Common API Use Cases in Detail

Infrastructure-as-Code Monitoring

Treat your monitoring configuration as code. Define monitors in YAML or JSON files, version control them alongside your application code, and use the API to apply changes through CI/CD pipelines. This eliminates configuration drift between environments and makes monitoring setup reproducible across staging, production, and disaster recovery sites.

Dynamic Monitor Creation

When you spin up a new service, the deployment pipeline automatically creates monitors for it. When you tear down a service, monitors are removed. No manual dashboard work required, and no orphan monitors for services that no longer exist.

Custom Status Pages

Build a custom public status page that pulls real-time data from UptyBots via the API. Customize the design to match your brand, embed it in your existing website, and update it automatically as monitor states change.

Internal Dashboards

Pull uptime metrics into Grafana, Datadog, or your existing observability platform. Combine UptyBots data with internal application metrics to get a unified view of system health.

Slack and Discord Integration

Build a bot that responds to commands like "/uptime status" or "/uptime list" by querying the API. Post daily summaries, on-demand status checks, and incident notifications directly to team chat.

Mobile Apps

Build a native iOS or Android app for checking monitor status on the go. The API provides everything needed: monitor lists, status, stats, and incident history. Send push notifications when issues occur.

CI/CD Integration

Pause monitors automatically during deployments. Resume them after deploys complete. Create new monitors as part of the deployment process. Run synthetic tests after deploys to validate the new version works correctly.

API Best Practices

  • Use descriptive API key names. "CI/CD pipeline" is better than "key1".
  • Rotate keys periodically. Even though keys are hashed, rotation is good security hygiene.
  • Implement rate limiting in your code. Do not hammer the API with unnecessary requests.
  • Cache responses where appropriate. Monitor data does not change every second.
  • Handle errors gracefully. Network issues happen; your code should retry with backoff.
  • Use pagination for large result sets. Do not try to load thousands of monitors in a single request.
  • Validate webhook signatures. If you use webhooks, verify they came from UptyBots.
  • Log API usage. Helps with debugging and quota management.

Frequently Asked Questions

Is the API free?

API access is included with all plans. Rate limits and feature availability vary by plan tier.

How do I authenticate?

Use API keys created in your dashboard. Pass them as either an X-API-Key or Authorization: Bearer header.

What rate limits apply?

Reasonable rate limits are in place to prevent abuse. Most legitimate use cases will not hit them.

Can I create my own client library?

Yes. The API uses standard REST conventions and JSON-LD format. Building a client library in any language is straightforward.

What about webhook callbacks?

UptyBots supports outbound webhooks for monitor state changes. Configure them in the dashboard or via the API.

We would love to hear what you build with the API. Have feedback or feature requests? Let us know, or sign up free to get started.

Ready to get started?

Start Free