Uptime Monitoring

This service delivers a robust suite of monitoring capabilities designed to maintain the reliability and performance of your resources. Users can seamlessly monitor various aspects of their systems and ensure continuous tracking of different resource types. This includes:

  • Reachability monitoring (Ping) to check if resources are online
  • Keyword monitoring to detect specified terms in response content
  • API & JSON response monitoring to verify expected JSON data and status codes
  • Port monitoring (SMTP, POP3, IMAP, TCP and etc.)
  • SSL & Domain monitoring to track actively SSL certificate and domain expiration dates, providing timely alerts to prevent interruptions.

This service integrates comprehensive monitoring solutions, offering users real-time, actionable insights to uphold resource reliability and performance.
ENDPOINTS
Expand all
  • Uptime monitoring operations
    POST/v1/resource
    DELETE/v1/resource
    PUT/v1/resource/{id}/status
    DELETE/v1/resource/{id}
    PUT/v1/resource/{id}
    POST/v1/resource/{id}/tld/reminder
    PUT/v1/resource/{id}/tld/reminder
    DELETE/v1/resource/{id}/tld/reminder
    POST/v1/resource/{id}/ssl/reminder
    PUT/v1/resource/{id}/ssl/reminder
    DELETE/v1/resource/{id}/ssl/reminder
  • Uptime monitoring records
  • Uptime monitor statistics overview
  • Integration management
Create Uptime Monitor
Create a new uptime monitor to track the availability and responsiveness of a service or endpoint. Uptime monitors run periodic checks using protocols such as HTTP, TCP, ICMP (ping), SMTP, UDP, POP, or IMAP — giving you flexibility to monitor everything from APIs to mail servers and network ports.

To configure a monitor, provide a name, select a type from the supported protocols, specify the associated service_id, and define conditions (such as response time thresholds, port availability, or expected response codes). You can also customize options like whether to follow redirects or ignore SSL certificate errors for applicable types.

Use cases include:
  • Web service monitoring (HTTP) — Ensure uptime for websites and APIs with customizable response validation.
  • Ping/ICMP checks — Monitor server availability using lightweight network pings.
  • Mail server health (SMTP, IMAP, POP) — Validate that your inbound and outbound email systems are reachable and responding.
  • Port and protocol monitoring (TCP/UDP) — Check the availability of services running on specific ports or protocols.

After creation, the monitor will run continuously and log performance metrics and availability history. This data powers uptime charts, incident alerts, and trend analysis.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:


  • On success, a new uptime resource will be created, and a confirmation message will be returned.
  • If the request is unauthorized or invalid, an error message will be returned.
Request Body Parameters
  • name string
    The name of the resource (e.g., Pinghome).
  • type string
  • port string
  • data (optional) optional string
  • grace_period positive integer or zero
  • recovery_period positive integer or zero
  • maintenance_cron_expression (optional) string
  • maintenance_duration (optional) positive integer or zero
  • skip_ssl_error boolean
  • not_follow_redirect boolean
  • method string
  • body (optional) string
  • is_advanced boolean
  • headers (optional) string
  • service_id string
  • url or host string
  • conditions (when type is 'http') array of objects
  • regions array of strings
JavaScript
Response codes
const axios = require('axios');

const url = "https://resource-cmd.api.pinghome.io/v1/resource";
const data = {
    "name": "Pinghome",
    "type": "http",
    "port": "",
    "data": "",
    "grace_period": 0,
    "recovery_period": 0,
    "maintenance_cron_expression": "*/8 * * * *",
    "maintenance_duration": 5,
    "skip_ssl_error": false,
    "not_follow_redirect": false,
    "method": "POST",
    "body": "param1=value1&param2=value2",
    "is_advanced": true,
    "headers": { "Authorization": "Bearer sometoken" },
    "service_id": "14ab74bf-87a0-4565-a291-ad5c9733c53f",
    "url": "https://website-stage.ping-home.com",
    "conditions": [{
        "values": ["pinghome"],
        "operator": "equal",
        "type": "response-json-check",
        "key": "groups.user[0].name"
    }],
    "regions": ["eu-central-1"]
};

axios.post(url, data, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Multiple Uptime Monitors
Efficiently remove multiple uptime monitors in one operation by passing their ids as a query parameter array. This bulk deletion feature is ideal for large-scale cleanup tasks, such as retiring services, restructuring environments, or clearing out test monitors after staging deployments.

Instead of making individual delete requests for each monitor, this endpoint allows you to streamline operations by submitting a list of monitor IDs in a single call — saving time and reducing API overhead.

Common use cases include:
  • Service decommissioning — Remove all monitors associated with a shutdown system or deprecated feature set.
  • Bulk cleanup — Delete outdated, duplicated, or test monitors during infrastructure reorganization.
  • Workspace resets — Prepare clean environments by clearing monitors in bulk between testing or onboarding phases.

To fetch monitor IDs before deletion, use the Get Uptime Monitors endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the specified uptime monitoring resources will be deleted, and a confirmation message will be returned.
  • If the request is unauthorized or the IDs are invalid, an appropriate error message will be returned.
Query Parameters
  • id string
    A list of resource IDs to delete.
    Example: ['6766163a-568d-47b4-a1fa-91a0957e06d4', 'c03b02ec-244f-4d2c-8f68-3910071ed5c8']
JavaScript
Response codes
const axios = require('axios');

const url = "https://resource-cmd.api.pinghome.io/v1/resource?id=6766163a-568d-47b4-a1fa-91a0957e06d4&id=c03b02ec-244f-4d2c-8f68-3910071ed5c8";

axios.delete(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Change Uptime Monitor Status
Toggle the operational status of an existing uptime monitor by enabling or disabling it as needed. This endpoint gives teams fine-grained control over monitoring activity — allowing them to pause or resume checks without permanently deleting the monitor.

To update the status, include the monitor_id in the path and provide the enabled flag in the request body, set to true to activate the monitor or false to deactivate it.

When to use this:
  • Scheduled maintenance — Temporarily disable monitoring to avoid false-positive alerts during planned downtimes.
  • Service deactivation — Pause monitoring for services that are temporarily offline or in standby mode.
  • Reactivation — Re-enable monitors once the related service is stable and ready to be tracked again.

This functionality is useful for reducing alert noise, maintaining clean uptime logs, and ensuring accurate incident tracking without losing historical data tied to the monitor.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the status of the uptime resource will be updated, and a confirmation message will be returned.
  • If the request is unauthorized or the provided ID is invalid, an error message will be returned, specifying the issue.
Path Parameters
  • id string
    The unique ID of the uptime resource whose status is being updated.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • enabled boolean
    A boolean value that determines the status of the uptime monitoring resource. Set to true to enable the resource or false to disable it.
    Example: true
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/status';
const data = { enabled: true };

axios.put(url, data, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Uptime Monitor
Permanently remove a specific uptime monitor by providing its monitor_id in the request path. Once deleted, the monitor will no longer perform health checks, collect availability data, or trigger alerts for the associated service.

This endpoint is useful when a monitored service has been retired, replaced, or is no longer relevant to your team’s operational needs. It ensures your monitoring environment remains clean and focused only on active, meaningful targets.

Key scenarios:
  • Service decommissioning — Remove monitors tied to systems that are permanently shut down.
  • Monitor cleanup — Eliminate unused or outdated monitors to simplify your workspace and reduce visual clutter.
  • Avoid unnecessary alerts — Prevent alerts from triggering on endpoints that are intentionally offline or out of scope.

Note: This action is irreversible. To temporarily pause a monitor instead, consider using the Change Uptime Monitor Status endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the specified uptime resource will be deleted, and a confirmation message will be returned.
  • If the request is unauthorized or the provided ID is invalid, an error message will be returned specifying the issue.
Path Parameters
  • id string
    The unique ID of the uptime resource to be deleted.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8';

axios.delete(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log('Resource deleted successfully');
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Uptime Monitor
Modify the configuration of an existing uptime monitor by providing its monitor_id in the URL path and the updated settings in the request body. This endpoint allows you to adjust the monitor’s name, type, conditions, or other parameters without needing to delete and recreate it.

It is especially useful for keeping monitoring rules aligned with evolving infrastructure — such as changing alert thresholds, updating monitored URLs or ports, or adapting to service changes.

Use cases include:
  • Adjusting response conditions — Change HTTP status code expectations, response time thresholds, or content checks.
  • Reassigning monitors — Move a monitor to another service by updating its associated service_id.
  • Refining alert scope — Update SSL settings, redirect handling, or probe intervals to reduce false positives or improve precision.

To retrieve current values before updating, use the Get Uptime Monitor Details endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the specified uptime resource will be updated, and a JSON object containing the updated resource details will be returned.
  • If the request is unauthorized, or details are invalid, an error message will be returned specifying the issue.
Path Parameters
  • id string
    The unique ID of the uptime resource to be updated. Example: '906a3444-15ce-4410-8041-89a238e9e91f'
Request Body Parameters
  • name string
    The name of the uptime resource. Example: 'My website'
  • is_advanced boolean
  • method string
  • grace_period positive integer or zero
  • recovery_period positive integer or zero
  • maintenance_cron_expression (optional) string
  • maintenance_duration (optional) positive integer or zero
  • skip_ssl_error boolean
  • body (optional) string
  • headers (optional) string
  • data (optional) string
  • service_id string
  • conditions array of objects
  • regions array of strings
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/906a3444-15ce-4410-8041-89a238e9e91f';
const data = {
  name: 'My website',
  is_advanced: true,
  method: 'POST',
  grace_period: 1,
  recovery_period: 1,
  maintenance_cron_expression: '*/8 * * * *',
  maintenance_duration: 5,
  skip_ssl_error: false,
  body: 'param1=value1&param2=value2',
  headers: '{"Authorization": "Bearer sometoken"}',
  data: 'pinghome',
  service_id: 'cc7e4e8b-417d-4be0-9bde-85e353a20fa4',
  conditions: [{ values: ['pinghome'], operator: 'contains', key: 'groups.user[0].name', type: 'response-json-check' }],
  regions: ['eu-central-1']
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Set TLD Expiration Reminder
Create a custom reminder for a Top-Level Domain (TLD) by providing the resource_id in the path and specifying reminder settings in the request body. This endpoint helps ensure critical events like domain expirations or renewals are not missed by triggering notifications in advance based on your configured timeline.

Reminders can be tailored to fire a set number of days before the domain’s expiration or renewal date, ensuring your team or clients have time to take action. These alerts help maintain service continuity, prevent downtime, and support proactive domain management.

Common use cases:
  • Domain expiration tracking — Notify users a few days before a domain is set to expire, allowing time to renew and avoid accidental lapses.
  • Renewal deadline alerts — Send early reminders to stakeholders when domain renewal windows approach, especially for mission-critical domains.
  • Custom domain-related events — Set reminders tied to DNS updates, registrar changes, or legal/compliance events associated with the domain.

You can view and manage current domain configurations via the TLD Settings page.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique service ID for which the TLD reminder will be created.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • days_before array of integers
    An array of integers representing how many days before the event the reminder should be triggered.
    Example: [1]
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/{id}/tld/reminder';
const data = { days_before: [1] };

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update TLD Reminder
Update the configuration of an existing TLD (Top-Level Domain) reminder by specifying the resource_id in the path and submitting the updated reminder details in the request body. This allows you to fine-tune when reminder notifications are sent to better align with current domain management timelines.

You can update the number of days before the event when the reminder should be triggered (e.g., change a 7-day reminder to 3 days) — all without needing to recreate it.

Use cases include:
  • Adjusting timing — Modify the reminder trigger window to match updated domain renewal or review policies.
  • Ongoing maintenance — Keep reminder settings aligned with internal workflows as service or ownership structures change.

To review current domain configurations and linked reminders, visit the TLD Settings page.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique service ID for which the TLD reminder will be updated.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • days_before array of integers
    An array of integers representing how many days before the event the reminder should be triggered.
    Example: [1, 3, 7]
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/{id}/tld/reminder';
const data = { days_before: [1, 3, 7] };

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete TLD Reminder
Permanently remove a previously configured reminder for a TLD (Top-Level Domain) by specifying its resource_id in the path. Once deleted, the system will no longer trigger notifications for the associated domain expiration or event.

This endpoint is useful for keeping your domain monitoring environment clean and relevant by discarding reminders that are outdated, no longer needed, or were set in error.

Common scenarios:
  • Domain decommissioning — Remove reminders tied to domains that are being retired or transferred.
  • Reminder cleanup — Delete unnecessary or duplicated reminders to reduce clutter in TLD settings.
  • Resetting configurations — Clear a reminder before re-adding it with updated settings.

To view all configured domain reminders, go to the TLD Settings page.

Expected Behavior:

  • On success, the TLD reminder will be deleted, and a confirmation message will be returned.
  • If the request is unauthorized or the provided ID is invalid, an error message will be returned, specifying the issue.


Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique service ID for which the TLD reminder will be deleted.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/tld/reminder/c03b02ec-244f-4d2c-8f68-3910071ed5c8';

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Set SSL Expiration Reminder
Create an automated reminder for an SSL certificate by providing the associated resource_id in the path and specifying reminder settings in the request body. This ensures your team is notified before the certificate expires, helping prevent service disruptions and trust issues caused by lapsed security credentials.

You can configure the number of days in advance the reminder should trigger (e.g., 7 or 14 days before the expiration date), giving your team enough time to take renewal actions.

Common use cases:
  • SSL certificate expiration tracking — Set up proactive reminders to avoid missing critical renewal deadlines for HTTPS-enabled services.
  • Security compliance — Ensure SSL certificates are renewed in a timely manner to maintain compliance with security standards.
  • Operational continuity — Prevent last-minute renewals or outages due to expired SSL certs across monitored services.

You can view and manage existing reminders via the SSL Settings page.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique service ID for which the SSL reminder will be created.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • days_before array of integers
    An array of integers representing how many days before the SSL certificate expiration the reminder should be triggered.
    Example: [1]
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/ssl/reminder/c03b02ec-244f-4d2c-8f68-3910071ed5c8';
const data = { days_before: [1] };

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update SSL Reminder
Update the settings of an existing SSL certificate expiration reminder by specifying the associated resource_id in the path and submitting new reminder details in the request body. This allows you to adjust how far in advance your team is alerted about upcoming certificate expirations.

You can change the number of days before the expiration date when the reminder should trigger (e.g., updating a 14-day reminder to 7 days) without needing to recreate the reminder.

Use cases:
  • Adjusting lead time — Modify when reminders are sent to better align with internal workflows or vendor renewal cycles.
  • Optimizing alert timing — Shorten or extend the reminder window based on how quickly your team can renew certificates.
  • Ongoing SSL tracking — Maintain accurate and up-to-date reminder schedules across all SSL-monitored services.

To review existing configurations, visit the SSL Settings page.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the SSL reminder will be updated, and a confirmation message will be returned.
  • If the request is unauthorized or the provided service ID is invalid, an error message will be returned, specifying the issue.
Path Parameters
  • id string
    The unique service ID for which the SSL reminder will be updated.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • days_before array of integers
    An array of integers representing how many days before the SSL certificate expiration the reminder should be triggered.
    Example: [1]
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/ssl/reminder/c03b02ec-244f-4d2c-8f68-3910071ed5c8';
const data = { days_before: [1] };

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete SSL Reminder
Permanently remove an SSL certificate expiration reminder by specifying the related service_id in the path. Once deleted, no future alerts will be sent for the SSL certificate tied to that service, giving you full control over which reminders remain active.

This is useful when a certificate is no longer in use, has been renewed with automated management, or when you're reorganizing SSL tracking across multiple services.

Common scenarios:
  • Certificate deprecation — Remove reminders tied to legacy services or certificates no longer being monitored.
  • Switching to automated renewals — Eliminate manual reminders for certs that are now managed by tools like Let’s Encrypt or cloud providers.
  • Reducing noise — Clean up irrelevant or duplicate reminders to keep your SSL alerting streamlined.

To modify a reminder instead of deleting it, use the Update SSL Reminder endpoint.
To review current SSL reminder configurations, visit the SSL Settings page.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the SSL reminder will be deleted, and a confirmation message will be returned.
  • If the request is unauthorized or the provided service ID is invalid, an error message will be returned, specifying the issue.
Path Parameters
  • id string
    The unique service ID for which the SSL reminder will be deleted.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/ssl/reminder/c03b02ec-244f-4d2c-8f68-3910071ed5c8';

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Uptime Monitoring Records Collection
Fetch a complete list of uptime monitors associated with a specific service by providing its service_id in the URL path. This endpoint returns all monitors configured to track the service's availability, offering a centralized view of its monitoring coverage.

To support large datasets, the endpoint includes built-in pagination via the limit and page query parameters. This makes it easy to retrieve monitors in manageable chunks, especially in environments where dozens or hundreds of monitors may exist across different protocols and endpoints.

Why it's useful:
  • Operational visibility — Understand how a service is being monitored across HTTP, TCP, ICMP, and other supported protocols.
  • Maintenance readiness — Identify active monitors before performing updates or pausing monitoring during deployments.
  • Audit and scaling — Review monitor distribution to ensure coverage is complete and eliminate redundant or outdated monitors.

To add a new monitor to a service, use the Create Uptime Monitor endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the service.
    Example: 'cc7e4e8b-417d-4be0-9bde-85e353a20fa4'
Query Parameters
  • page (optional) positive integer
    The page of the result. Use this parameter to paginate through results when there are multiple pages of data.
    Example: 50.
  • limit (optional) positive integer
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/service/cc7e4e8b-417d-4be0-9bde-85e353a20fa4/resources?page=1&limit=50';

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Specific Uptime Monitor
Retrieve the full configuration and status details of a specific uptime monitor by providing its monitor_id in the URL path. This endpoint returns essential information about the monitor, such as its type (e.g., HTTP, TCP, ICMP), target URL or IP, check frequency, response validation rules, and current operational state.

It’s particularly useful for teams that need to inspect individual monitor settings, verify deployment status, or troubleshoot monitoring behaviors tied to a single service component.

Use cases:
  • Configuration review — Check how a monitor is currently set up before making updates or changes.
  • Status validation — Confirm that a monitor is active and tracking the correct endpoint.
  • Incident follow-up — Investigate the setup of a monitor involved in recent downtime or alert events.

To browse all monitors associated with a service, use the Uptime Monitoring Records Collection endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique resource ID to retrieve.
    Example: '906a3444-15ce-4410-8041-89a238e9e91f'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/906a3444-15ce-4410-8041-89a238e9e91f';

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Uptime Monitor Regions
Retrieve the list of monitoring regions assigned to a specific uptime monitor by providing its monitor_id in the URL path. Each region represents a geographic location from which health checks are performed, allowing teams to track service availability across different parts of the world.

This is especially valuable for identifying location-specific issues, validating global uptime, or optimizing regional infrastructure coverage.

Use cases:
  • Regional diagnostics — Investigate performance differences or outages limited to certain geographic zones.
  • Coverage verification — Ensure that a monitor is checking from all required regions based on your application's user base.
  • Infrastructure planning — Align uptime checks with regional deployments to detect latency or access issues more accurately.

To update region settings, use the appropriate monitor configuration or update endpoint tied to your uptime monitoring service.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique resource ID for which regions will be retrieved.
    Example: '906a3444-15ce-4410-8041-89a238e9e91f'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/906a3444-15ce-4410-8041-89a238e9e91f/regions';

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View Uptime Monitor SSL Information
Retrieve SSL certificate details for a specific uptime monitor by providing its monitor_id in the URL path. This endpoint returns information such as certificate validity dates, issuer, and expiration status — helping ensure that HTTPS-enabled services are not only available but also securely configured.

It is particularly useful for proactively managing certificate health and avoiding downtime or trust issues caused by expired or misconfigured SSL certificates.

Use cases:
  • SSL expiration tracking — Monitor the expiration timeline of certificates associated with your uptime monitors.
  • Security auditing — Verify that a valid and trusted certificate is in place across monitored services.
  • Incident prevention — Detect expiring or mismatched certificates before they trigger user warnings or service disruptions.

To receive expiration alerts in advance, consider configuring reminders through the Set SSL Expiration Reminder endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the uptime resource whose SSL data will be retrieved.
    Example: '906a3444-15ce-4410-8041-89a238e9e91f'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/906a3444-15ce-4410-8041-89a238e9e91f/ssl';

axios.get(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View Uptime Monitor TLD Information
Retrieve the Top-Level Domain (TLD) details associated with a specific uptime monitor by providing its monitor_id in the URL path. This endpoint returns information such as the domain name, registrar details, and expiration dates — offering visibility into the domain’s lifecycle and administrative metadata.

It helps teams ensure that the domains being monitored remain valid, properly registered, and renewed on time to avoid service interruptions tied to expired or mismanaged domains.

Use cases:
  • Domain expiration tracking — Check how much time remains before a domain expires so renewals can be handled proactively.
  • Administrative validation — View registrar data or TLD origin details for compliance, ownership, or audit purposes.
  • Infrastructure reliability — Ensure that domain-related issues do not impact uptime monitoring or user access.

To receive alerts for upcoming TLD expirations, use the Set TLD Expiration Reminder endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the resource whose TLD data will be retrieved.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/tld';

axios.get(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View SSL Certificate Reminder Settings
Retrieve the SSL certificate reminder configuration for a specific resource by providing its service_id in the URL path. This endpoint returns the settings associated with SSL expiration alerts — including how many days before expiration the reminder is set to trigger.

It helps teams verify that reminders are properly configured to avoid missing certificate renewals, ensuring continuous HTTPS availability and trust for end users.

Use cases:
  • Reminder audit — Check if SSL alerts are enabled and set to trigger within the appropriate timeframe (e.g., 7 or 14 days in advance).
  • Team coordination — Review reminder settings before transferring certificate management responsibilities.
  • Expiration risk reduction — Ensure every active SSL-enabled service has a reminder set to prevent lapses.

To update the timing or configuration of an existing reminder, use the Update SSL Reminder endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the resource whose SSL reminder will be retrieved.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/ssl/reminder';

axios.get(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View TLD Reminder Settings
Retrieve the Top-Level Domain (TLD) reminder configuration for a specific resource by providing its resource_id in the path. This endpoint returns the reminder settings that are used to notify teams about upcoming domain expirations or other critical TLD-related events.

It helps ensure that domains tied to active monitoring services are not overlooked and that reminders are properly configured to allow time for renewal or compliance actions.

Use cases:
  • Reminder verification — Confirm whether a TLD reminder is set for a given domain and how far in advance it triggers.
  • Renewal planning — Audit reminder settings as part of domain renewal cycles or registrar management workflows.
  • Operational visibility — Ensure that all mission-critical domains have proactive alerts in place to avoid expiration-related downtime.

To adjust reminder timing or update existing settings, use the Update TLD Reminder endpoint.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the resource whose TLD reminder will be retrieved.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/tld/reminder';

axios.get(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View Uptime Monitor Performance Report
Access a performance and uptime summary for a specific monitor by providing its monitor_id in the path. The report includes time-series data reflecting each health check, along with aggregated uptime and response statistics.

Query parameters such as start_date, end_date, interval, and limit allow you to customize the data range and granularity to suit your analysis needs. Whether you're reviewing a short outage window or generating monthly performance reports, this endpoint provides the visibility you need.

The response highlights historical availability, tracks state changes, and measures service responsiveness, helping teams spot trends, validate SLAs, and investigate anomalies in uptime behavior.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the resource for which statistics are being retrieved. Example: '6fb4e64f-ad18-46e3-920c-92639adb137c'
Query Parameters
  • start_date (optional) string
    Specifies the start date for retrieving statistics if needed. Format: 'YYYY-MM-DDTHH:mm:ssZ'. Example: '2022-04-03T21:00:00Z'.
  • end_date (optional) string
  • interval (optional) string
  • limit (optional) positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://statistic-query.api.pinghome.io/v1/resource/47f84f9f-a742-4ef9-be40-e7d7a6fa4039/statistic?start_date=2022-04-03T21:00:00Z&end_date=2022-04-03T22:04:00Z&interval=minute&limit=4";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
View Uptime Monitor State Change History
This API allows you to monitor the state changes of your website or API in real-time. After adding a monitor, you can use this API to monitor state changes and view historical logs.

What is the API Used for?
This API provides you with historical state changes of the monitor and is useful in the following situations:
✅ Monitoring Downtime Events - See when the monitor goes down and when it recovers.
✅ Analyze Errors - Find out the cause of the problem, HTTP status code and other details.
✅ Perform a regional investigation - Determine in which region the error occurred.
✅ Confirm recovery - Verify that the monitor returns 200 OK responses after correcting the error.

How does it work?
1️. Create monitor - Add a monitor for your website or API via the Create Uptime Monitor API.
2️. Detect the problem - When a server error or connection problem occurs, the API logs an event.
3️. View event logs - Get the cause of the error, the time it occurred, and the status code.
4️. Resolve the issue - After restoring the service, confirm the new state and get a 200 OK response.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the resource for which state change logs are being retrieved. Example: '6fb4e64f-ad18-46e3-920c-92639adb137c'
Query Parameters
  • start_date (optional) string
    Specifies the start date for retrieving state change logs if needed. Example: '2022-04-01T21:00:00Z'
  • end_date (optional) string
  • limit (optional) positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://statistic-query.api.pinghome.io/v1/resource/6fb4e64f-ad18-46e3-920c-92639adb137c/state-changed-logs?start_date=2022-04-01T21:00:00Z&end_date=2022-04-07T22:04:00Z&limit=4";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Uptime Monitor Integrations Retrieval
Retrieve all integration channels connected to a specific uptime monitor by providing its monitor_id in the path. This endpoint returns the alerting and automation tools that are actively linked to the monitor — such as email, Slack, webhook URLs, or other third-party services.

It provides clear visibility into how incidents from this monitor are being routed and which communication or response systems are set up to handle alerts.

Use cases:
  • Integration audits — Verify that the correct channels are connected and active for timely incident alerts.
  • Troubleshooting — Identify why notifications may not be triggering by confirming which integrations are in use.
  • Compliance and reporting — Review alert delivery setups for documentation or operational consistency.

To modify these connections, use the corresponding integration management endpoints within your monitoring settings.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the uptime resource to retrieve the integrations for.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/integrations';

axios.get(url, {
    headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Configure Integration for Uptime Monitor
This API endpoint allows you to create a resource integration by providing the service ID as a path parameter and defining the integration details in the request body. Resource integrations are used to establish a connection between internal services and external platforms, enabling seamless communication and synchronization.

Common use cases:

  • Incident reporting integration: Automatically report service issues or incidents to external platforms, like StatusPage, to keep stakeholders informed.
  • Monitoring integration: Connect internal resources to monitoring tools, ensuring real-time alerts and data synchronization when key conditions are met.
  • Status synchronization: Maintain real-time status updates between your service and external systems, ensuring that all platforms reflect the current state of the service.


Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique service ID for which the integration will be created.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • name string
    The name of the incident.
    Example: 'Incident name'
  • status string
  • integration string
  • type string
  • items array of strings
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/{id}/integration';
const data = { name: 'Incident name', status: 'Incident status', integration: 'r276xxt51c23', type: 'statuspageIo', items: ['ggs24084vt79'] };

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Uptime Monitor Integration
Update the payload details for an integration linked to an uptime monitor by providing the service_id and integration_id in the path. The request body should include fields such as name, status, message, and a list of affected items (e.g., resource IDs or related entities).

This endpoint is used to update the incident details stored in the integration channel. It ensures that when alerts are triggered, they contain the most accurate and relevant information about the incident.

Use cases:
  • Message personalization — Modify alert content to match internal naming conventions or team communication style.
  • Status coordination — Reflect real-time incident status changes in downstream tools via updated integration payloads.
  • Targeted alerting — Attach specific items or affected resources to help teams respond faster and more accurately.

To review existing integration settings for a monitor, use the Uptime Monitor Integrations Retrieval endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the integration will be updated, and a confirmation message will be returned.
  • If authorization fails, an error message will indicate this. If the service or integration ID is not found, a message specifying the issue will be provided.
Path Parameters
  • id string
    The unique service ID for which the integration will be updated.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
  • integration string
Request Body Parameters
  • name string
    The name of the incident.
    Example: 'Incident name'
  • status string
  • message string
  • items array of strings
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/{id}/integration/{integration}';
const data = { name: 'Incident name', status: 'Incident status', message: 'Integration message', items: ['ggs24084vt79'] };

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Uptime Monitor Integration
Remove an integration connection from a specific uptime monitor by providing both the resource_id and integration_id in the URL path. This action permanently deletes the association, meaning the monitor will no longer send incident data or notifications through that integration channel.

This is useful for keeping your monitoring environment clean and up to date, especially when tools are deprecated, team workflows change, or alert routing needs to be restructured.

Use cases:
  • Tool decommissioning — Remove integrations linked to services or platforms that are no longer in use.
  • Access control — Disconnect an integration that was configured incorrectly or shared with the wrong recipient.
  • Alert cleanup — Simplify notification paths and eliminate unnecessary or duplicate alerting channels.

To modify an integration instead of removing it, use the Update Uptime Monitor Integration endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the integration will be deleted, and a confirmation message will be returned.
  • If authorization fails, an error message will indicate the issue. If the specified integration does not exist, a message stating this will be provided.
Path Parameters
  • id string
    The unique service ID for which the integration will be deleted.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
  • integration string
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/resource/c03b02ec-244f-4d2c-8f68-3910071ed5c8/integration/nh29bqqsj2fv';

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).