Support dynamic URL placeholders ({timestamp}, {random}) in HTTP/API monitor URLs #109

Closed
opened 2026-04-05 16:18:53 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @zaakiy on 2/9/2026

Is your feature request related to a problem? Please describe.

When monitoring URLs behind CDNs or caching proxies, the monitor may receive a cached response instead of hitting the origin server. This masks actual downtime or errors. Currently, OneUptime's standard HTTP/API monitors don't support dynamic URL placeholders, so there's no way to bust the cache on each check without resorting to a full synthetic monitor.

This is a common need for users migrating from other monitoring platforms (e.g., Better Uptime/Better Stack, Uptime Robot) that support placeholders like {timestamp} or {cachebuster} in monitor URLs. For example:

https://example.com/?betteruptime={timestamp}

Describe the solution you'd like

Add support for dynamic URL placeholders in standard HTTP/API monitor URLs that get automatically replaced with a unique value on each monitoring check. Suggested placeholders:

  • {timestamp} — replaced with the current Unix timestamp (e.g., 1719500000)
  • {random} — replaced with a random string/UUID (e.g., a3f8b2c1)

Example configuration:

https://example.com/health?cb={timestamp}

Would become on each check:

https://example.com/health?cb=1719500000
https://example.com/health?cb=1719500005
...

Describe alternatives you've considered

  • Synthetic monitors with Playwright — This works today by using Date.now() in a script to dynamically construct the URL. However, it's heavyweight for what is essentially a simple HTTP check and requires writing/maintaining a Playwright script for a basic use case.
  • Static querystring parameter — Adding a fixed ?nocache=1 to the URL, but this doesn't change between requests, so CDNs will still cache and serve the same response.

Additional context

  • This is a standard feature in competing monitoring platforms:
    • Better Uptime / Better Stack: {timestamp} placeholder
    • Uptime Robot: {cachebuster} placeholder
    • Uptrends: built-in dynamic value injection
  • This would significantly improve the migration experience for users switching to OneUptime from other platforms.
  • Implementation could be a simple string replacement in the monitor's HTTP request logic right before the request is made.
*Originally created by @zaakiy on 2/9/2026* **Is your feature request related to a problem? Please describe.** When monitoring URLs behind CDNs or caching proxies, the monitor may receive a cached response instead of hitting the origin server. This masks actual downtime or errors. Currently, OneUptime's standard HTTP/API monitors don't support dynamic URL placeholders, so there's no way to bust the cache on each check without resorting to a full synthetic monitor. This is a common need for users migrating from other monitoring platforms (e.g., Better Uptime/Better Stack, Uptime Robot) that support placeholders like `{timestamp}` or `{cachebuster}` in monitor URLs. For example: ``` https://example.com/?betteruptime={timestamp} ``` **Describe the solution you'd like** Add support for dynamic URL placeholders in standard HTTP/API monitor URLs that get automatically replaced with a unique value on each monitoring check. Suggested placeholders: - `{timestamp}` — replaced with the current Unix timestamp (e.g., `1719500000`) - `{random}` — replaced with a random string/UUID (e.g., `a3f8b2c1`) Example configuration: ``` https://example.com/health?cb={timestamp} ``` Would become on each check: ``` https://example.com/health?cb=1719500000 https://example.com/health?cb=1719500005 ... ``` **Describe alternatives you've considered** - **Synthetic monitors with Playwright** — This works today by using `Date.now()` in a script to dynamically construct the URL. However, it's heavyweight for what is essentially a simple HTTP check and requires writing/maintaining a Playwright script for a basic use case. - **Static querystring parameter** — Adding a fixed `?nocache=1` to the URL, but this doesn't change between requests, so CDNs will still cache and serve the same response. **Additional context** - This is a standard feature in competing monitoring platforms: - **Better Uptime / Better Stack**: `{timestamp}` placeholder - **Uptime Robot**: `{cachebuster}` placeholder - **Uptrends**: built-in dynamic value injection - This would significantly improve the migration experience for users switching to OneUptime from other platforms. - Implementation could be a simple string replacement in the monitor's HTTP request logic right before the request is made.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/oneuptime#109