Skip to content

[ENHANCE] Migrate UptimeRobot controller to API v3 #637

Open

Description

@eneiss

Is your feature request related to a problem? Please describe.
A new API version 3 of UptimeRobot is out and seems to support new features that v2 did not.

Describe the solution you'd like
Update current API v2 endpoint to use v3, with changes to API routes and data structures where needed.
While it would be great to implement the new features supported by v3, migrating the existing ones would already be great.

Describe alternatives you've considered
Keep v2 for now and hope it does not get deprecated too soon?

Additional context
It looks like UptimeRobot has recently released a new API version 3 (probably with their new Terraform provider).
The documentation for the API version 2 currently used in IngressMonitorController has been flagged as legacy, so it would be wise to migrate to v3 at some point.

It also looks like v3 supports more features, such as monitor tags (see #603).
Migrating to v3 would open the path to implementing these additional features!

Activity

  1. mahmadmujtaba commented on Oct 1, 2025

    @mahmadmujtaba

    Hi @eneiss, Great observation. Really appreciate the notification however, V2 API is GA, we will keep it open and available However, supporting V3 alongside would require help from the community to be able to cover the API fully, since the team internally doesn't do active development on IMC.

    Feel free to open a PR

  2. davidgrldo commented on Sep 11, 2026

    @davidgrldo
    Contributor

    Hi @mahmadmujtaba — I've opened #677 which migrates the UptimeRobot provider to API v3:

    • Authorization: Bearer header auth + REST endpoints (GET/POST/PATCH/DELETE /v3/monitors and /v3/psps) with JSON bodies
    • Cursor-based pagination via nextLink
    • Bounded 429 retry honoring Retry-After
    • Status page attach/detach via PATCH /psps/{id}
    • User-facing CRD config format unchanged (alertContacts / maintenanceWindows / customHTTPStatuses keep their current format, mapped to v3 structured fields internally)
    • 16 httptest-based offline unit tests for the new client

    New v3-only features (tags, custom headers, request body from #603, timeout from #517) can follow in separate PRs once this migration lands. Happy to adjust based on review feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions