### Retrieve Single Monitoring Check (cURL) Source: https://docs.exit1.dev/api-reference/get-check This example demonstrates how to fetch details for a specific monitoring check using cURL. It requires an API key and the check's unique identifier. ```bash curl -H "X-Api-Key: ek_live_your_key_here" \ "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/abc123" ``` -------------------------------- ### Retrieve Single Monitoring Check (Python) Source: https://docs.exit1.dev/api-reference/get-check This example illustrates how to get monitoring check details using Python's requests library. It demonstrates making a GET request with the required API key in the headers and printing the check data. ```python import requests response = requests.get( "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/abc123", headers={"X-Api-Key": "ek_live_your_key_here"} ) check = response.json() print(check["data"]) ``` -------------------------------- ### Retrieve Single Monitoring Check (JavaScript) Source: https://docs.exit1.dev/api-reference/get-check This example shows how to retrieve a single monitoring check's details using JavaScript's fetch API. It includes setting the necessary API key in the headers and parsing the JSON response. ```javascript const response = await fetch( "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/abc123", { headers: { "X-Api-Key": "ek_live_your_key_here", }, } ); const check = await response.json(); console.log(check.data); ``` -------------------------------- ### Authenticate and List Checks via cURL Source: https://docs.exit1.dev/api-reference Demonstrates how to perform an authenticated GET request to list monitoring checks. It requires an API key passed through the X-Api-Key header. ```bash curl -H "X-Api-Key: ek_live_your_api_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks ``` -------------------------------- ### Webhook Custom Headers Example Source: https://docs.exit1.dev/integrations/webhooks Example of custom headers that can be added to authenticate incoming webhook requests. These headers are used to verify the source and authorize the request. ```text Authorization: Bearer your-webhook-secret X-Webhook-Source: exit1-dev ``` -------------------------------- ### Get Uptime Statistics Source: https://docs.exit1.dev/api-reference Retrieves uptime statistics for a specific monitoring check. ```APIDOC ## GET /v1/public/checks/{id}/stats ### Description Retrieves uptime statistics for a specific check. ### Method GET ### Endpoint /v1/public/checks/{id}/stats ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. #### Query Parameters - **from** (timestamp) - Optional - Start of the time range (ISO 8601 format). - **to** (timestamp) - Optional - End of the time range (ISO 8601 format). ### Request Example ``` curl -H "X-Api-Key: ek_live_your_api_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/chk_12345/stats?from=2023-01-01T00:00:00Z&to=2023-01-02T00:00:00Z ``` ### Response #### Success Response (200) - **uptime_percentage** (float) - The uptime percentage for the specified period. - **average_response_time** (integer) - The average response time in milliseconds. - **total_downtime** (integer) - The total downtime in seconds. #### Response Example ```json { "uptime_percentage": 99.95, "average_response_time": 160, "total_downtime": 43200 } ``` ``` -------------------------------- ### List Checks with Python Source: https://docs.exit1.dev/api-reference/list-checks Provides a Python example using the `requests` library to retrieve a list of checks. Demonstrates setting the API key and query parameters in the request. Parses the JSON response. ```python import requests response = requests.get( "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks", headers={"X-Api-Key": "ek_live_your_key_here"}, params={"limit": 10} ) data = response.json() print(data) ``` -------------------------------- ### Configure Webhook Custom Headers Source: https://docs.exit1.dev/alerting/webhook-alerts Example of custom HTTP headers used to authenticate webhook requests. These headers are added during the configuration process to ensure secure communication. ```http Authorization: Bearer your-secret-token X-Custom-Header: your-value ``` -------------------------------- ### Create Check using JavaScript (fetch API) Source: https://docs.exit1.dev/api-reference/create-check Demonstrates how to create a monitoring check using the JavaScript `fetch` API. This example shows setting up the request method, headers, and the JSON body for the API call. It includes retrieving the new check ID from the response. ```javascript const response = await fetch( "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks", { method: "POST", headers: { "X-Api-Key": process.env.EXIT1_API_KEY, "Content-Type": "application/json", "Idempotency-Key": `create-${Date.now()}`, }, body: JSON.stringify({ url: "https://example.com", name: "My Website", type: "website", checkFrequency: 5, }), } ); const data = await response.json(); console.log(data.data.id); // New check ID ``` -------------------------------- ### Create Check using cURL Source: https://docs.exit1.dev/api-reference/create-check Example of creating a monitoring check using the cURL command-line tool. It demonstrates how to set the HTTP method, headers (API Key, Content-Type, Idempotency-Key), and the JSON request body containing check configuration. ```bash curl -X POST \ -H "X-Api-Key: ek_live_your_key_here" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: unique-key-001" \ -d '{"url": "https://example.com", "name": "My Website", "type": "website", "checkFrequency": 5}' \ "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks" ``` -------------------------------- ### Webhook Event Payload Example Source: https://docs.exit1.dev/integrations/webhooks Demonstrates the structure of the JSON payload sent with webhook events. This payload contains details about the event, the check, its status, and other relevant information. ```json { "event": "website_down", "check": { "id": "abc123", "name": "Production API", "url": "https://api.example.com/health", "type": "api", "method": "GET" }, "status": { "current": "down", "previous": "up", "statusCode": 503, "responseTime": null, "error": "Service Unavailable" }, "region": "us-central", "timestamp": "2025-01-15T14:30:00Z" } ``` -------------------------------- ### Configure Custom Request Headers Source: https://docs.exit1.dev/monitoring/request-headers Examples of how to set custom User-Agent strings and additional HTTP headers in the advanced configuration settings. These strings are used to mimic browser behavior or provide authentication tokens. ```text User-Agent: Mozilla/5.0 (compatible; Exit1Bot/1.0; +https://exit1.dev) User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Authorization: Bearer your-api-token Accept: application/json ``` -------------------------------- ### 409 Conflict Error Example Source: https://docs.exit1.dev/api-reference/errors A 409 Conflict error is returned when attempting to create a resource that already exists (e.g., a check with a duplicate URL) or when the plan's resource limit has been reached. ```json { "error": "A check already exists for this URL" } ``` -------------------------------- ### 401 Unauthorized Error Example Source: https://docs.exit1.dev/api-reference/errors This error indicates that the API key provided is either missing or invalid. Ensure the 'X-Api-Key' header is included in your request and that the key is correctly formatted and has not been revoked. ```json { "error": "Invalid or missing API key" } ``` -------------------------------- ### Create Check using Python (requests library) Source: https://docs.exit1.dev/api-reference/create-check Provides a Python example for creating a monitoring check using the `requests` library. It illustrates how to make a POST request with appropriate headers and a JSON payload, including error handling for the response. ```python import os, requests response = requests.post( "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks", headers={ "X-Api-Key": os.environ["EXIT1_API_KEY"], "Idempotency-Key": "unique-key-001", }, json={ "url": "https://example.com", "name": "My Website", "type": "website", "checkFrequency": 5, }, ) response.raise_for_status() print(response.json()) ``` -------------------------------- ### JSON Import Example for Checks Source: https://docs.exit1.dev/monitoring/bulk-operations This JSON structure represents an array of check objects for importing into exit1.dev. Each object defines a check's properties such as name, URL, type, method, and expected status. This format is useful for programmatic or bulk data entry. ```json [ { "name": "Production Website", "url": "https://example.com", "type": "website", "method": "GET", "expectedStatus": 200 } ] ``` -------------------------------- ### 422 Unprocessable Entity Error Example Source: https://docs.exit1.dev/api-reference/errors This error indicates an idempotency key conflict, meaning the same 'Idempotency-Key' was used for a request with a different HTTP method or path. Use a unique key for each distinct request. ```json { "error": "Idempotency key previously used for a different request" } ``` -------------------------------- ### Toggle Monitoring Check (JavaScript) Source: https://docs.exit1.dev/api-reference/toggle-check Provides a JavaScript example using the `fetch` API to toggle a monitoring check. It sends a POST request to the toggle endpoint with the check ID and an API key. The request body includes a boolean `disabled` flag and an optional `reason`. ```javascript const checkId = "CHECK_ID"; // Disable const response = await fetch( `https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/${checkId}/toggle`, { method: "POST", headers: { "X-Api-Key": process.env.EXIT1_API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ disabled: true, reason: "Scheduled maintenance", }), } ); console.log(await response.json()); ``` -------------------------------- ### API Check JSON Request Body Example Source: https://docs.exit1.dev/monitoring/api-checks This snippet demonstrates how to define a JSON request body for API checks. It requires setting the 'Content-Type' header to 'application/json' to ensure the body is interpreted correctly by the API. ```json { "ping": true } ``` -------------------------------- ### Update Check via cURL Source: https://docs.exit1.dev/api-reference/update-check This example demonstrates how to update an existing monitoring check using a cURL command. It sends a PATCH request to the specified endpoint with a JSON payload containing the fields to be updated, such as name and checkFrequency. Ensure you replace 'CHECK_ID' and 'ek_live_your_key_here' with your actual check ID and API key. ```shell curl -X PATCH \ -H "X-Api-Key: ek_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{"name": "Updated Name", "checkFrequency": 10}' \ "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/CHECK_ID" ``` -------------------------------- ### Example Alert Event Payload Structure Source: https://docs.exit1.dev/alerting/alert-events This JSON object represents the common structure for all alert events. It includes details about the event type, the check that triggered it, the status of the check, and other relevant metadata like region and timestamp. This structure is consistent across all event types. ```json { "event": "website_down", "check": { "id": "abc123", "name": "Production Website", "url": "https://example.com", "type": "website", "method": "GET" }, "status": { "current": "down", "previous": "up", "statusCode": 503, "responseTime": null, "error": "Connection timeout" }, "region": "us-central", "timestamp": "2025-01-15T14:30:00Z", "consecutive_failures": 3 } ``` -------------------------------- ### Update Check via Python Source: https://docs.exit1.dev/api-reference/update-check This Python example utilizes the 'requests' library to update a monitoring check. It sends a PATCH request to the API endpoint, providing the check ID and authentication headers. The request body is sent as a JSON object containing the fields to be modified. Error handling is included via 'response.raise_for_status()'. ```python import os, requests check_id = "CHECK_ID" response = requests.patch( f"https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/{check_id}", headers={"X-Api-Key": os.environ["EXIT1_API_KEY"]}, json={"name": "Updated Name", "checkFrequency": 10}, ) response.raise_for_status() print(response.json()) ``` -------------------------------- ### Authentication Overview Source: https://docs.exit1.dev/api-reference/authentication Details on how to authenticate requests to the exit1.dev API using the X-Api-Key header. ```APIDOC ## Authentication ### Description All requests to the exit1.dev API require authentication via an API key. The key must be passed in the `X-Api-Key` header. ### Method N/A (Header-based authentication) ### Endpoint All endpoints under `https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/` ### Parameters #### Headers - **X-Api-Key** (string) - Required - Your unique API key in the format `ek_live_<64 hex characters>` ### Request Example ```bash curl -H "X-Api-Key: ek_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks ``` ### Response #### Error Response (401) - **message** (string) - Returned when the API key is missing, invalid, or revoked. ``` -------------------------------- ### API Key Format Specification Source: https://docs.exit1.dev/api-reference/authentication Defines the structure of valid API keys used by the system. Keys must follow the prefix 'ek_live_' followed by 64 hexadecimal characters. ```text ek_live_<64 hex characters> Example: ek_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 ``` -------------------------------- ### GET /v1/public/checks/{id} Source: https://docs.exit1.dev/api-reference/get-check Retrieves detailed information for a specific monitoring check by its ID. This includes status, configuration, and historical performance data. ```APIDOC ## GET /v1/public/checks/{id} ### Description Retrieve details for a single monitoring check. ### Method GET ### Endpoint /v1/public/checks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique check identifier ### Request Example ```json { "example": "No request body needed for this GET request." } ``` ### Response #### Success Response (200) - **data** (object) - Contains the detailed information of the check. - **id** (string) - The unique check identifier. - **name** (string) - The name of the check. - **url** (string) - The URL being monitored. - **type** (string) - The type of check (e.g., 'website'). - **method** (string) - The HTTP method used for the check (e.g., 'GET'). - **status** (string) - The current status of the check (e.g., 'up', 'down'). - **interval** (integer) - The interval in seconds between checks. - **region** (string) - The region where the check is performed. - **expectedStatus** (integer) - The expected HTTP status code. - **headers** (object) - Custom headers for the request. - **body** (any) - The request body, if applicable. - **responseValidation** (any) - Configuration for response validation. - **consecutiveFailures** (integer) - Number of consecutive failed checks. - **consecutiveFailureThreshold** (integer) - Threshold for consecutive failures. - **lastChecked** (string) - Timestamp of the last check. - **lastResponseTime** (integer) - Response time in milliseconds of the last check. - **lastStatusCode** (integer) - Status code of the last check. - **uptime** (float) - Uptime percentage. - **ssl** (object) - SSL certificate details. - **valid** (boolean) - Whether the SSL certificate is valid. - **issuer** (string) - The SSL certificate issuer. - **subject** (string) - The SSL certificate subject. - **validFrom** (string) - SSL certificate valid from date. - **validTo** (string) - SSL certificate valid to date. - **serialNumber** (string) - SSL certificate serial number. - **fingerprint** (string) - SSL certificate fingerprint. - **domain** (object) - Domain information. - **name** (string) - The domain name. - **registrar** (string) - The domain registrar. - **expiresAt** (string) - Domain expiration date. - **updatedAt** (string) - Domain last updated date. - **createdAt** (string) - Timestamp when the check was created. - **updatedAt** (string) - Timestamp when the check was last updated. #### Error Response (404) - **error** (object) - Contains error details. - **code** (integer) - The error code (e.g., 404). - **message** (string) - A description of the error (e.g., 'Check not found'). ### Response Example ```json { "data": { "id": "abc123", "name": "Production Website", "url": "https://example.com", "type": "website", "method": "GET", "status": "up", "interval": 120, "region": "us-central", "expectedStatus": 200, "headers": {}, "body": null, "responseValidation": null, "consecutiveFailures": 0, "consecutiveFailureThreshold": 1, "lastChecked": "2025-01-15T14:30:00Z", "lastResponseTime": 245, "lastStatusCode": 200, "uptime": 99.95, "ssl": { "valid": true, "issuer": "Let's Encrypt", "subject": "example.com", "validFrom": "2025-01-15T00:00:00Z", "validTo": "2025-04-15T00:00:00Z", "serialNumber": "03:a1:b2:c3:d4", "fingerprint": "AB:CD:EF:12:34:56:78:90" }, "domain": { "name": "example.com", "registrar": "Namecheap", "expiresAt": "2026-06-01T00:00:00Z", "updatedAt": "2025-01-01T00:00:00Z" }, "createdAt": "2024-06-01T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z" } } ``` #### Error Response Example (404) ```json { "error": { "code": 404, "message": "Check not found" } } ``` ``` -------------------------------- ### Authenticate API requests with cURL Source: https://docs.exit1.dev/api-reference/authentication Demonstrates how to authenticate requests to the exit1.dev API by including the API key in the X-Api-Key header. This is required for all API interactions to ensure authorized access. ```bash curl -H "X-Api-Key: ek_live_your_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks ``` -------------------------------- ### Get a Single Check Source: https://docs.exit1.dev/api-reference Retrieves the details of a specific monitoring check by its ID. ```APIDOC ## GET /v1/public/checks/{id} ### Description Retrieves details for a single check. ### Method GET ### Endpoint /v1/public/checks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. ### Request Example ``` curl -H "X-Api-Key: ek_live_your_api_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/chk_12345 ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the check. - **name** (string) - The name of the check. - **url** (string) - The URL being monitored. - **interval** (integer) - The monitoring interval in seconds. - **enabled** (boolean) - Whether the check is currently enabled. #### Response Example ```json { "id": "chk_12345", "name": "Homepage Check", "url": "https://example.com", "interval": 60, "enabled": true } ``` ``` -------------------------------- ### Create New Check Source: https://docs.exit1.dev/api-reference Creates a new monitoring check. ```APIDOC ## POST /v1/public/checks ### Description Creates a new monitoring check. ### Method POST ### Endpoint /v1/public/checks ### Parameters #### Request Body - **name** (string) - Required - The name of the check. - **url** (string) - Required - The URL to monitor. - **interval** (integer) - Required - The monitoring interval in seconds. ### Request Example ```json { "name": "New Service Check", "url": "https://api.example.com/health", "interval": 300 } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier for the newly created check. - **name** (string) - The name of the check. - **url** (string) - The URL being monitored. - **interval** (integer) - The monitoring interval in seconds. - **enabled** (boolean) - Whether the check is currently enabled. #### Response Example ```json { "id": "chk_67890", "name": "New Service Check", "url": "https://api.example.com/health", "interval": 300, "enabled": true } ``` ``` -------------------------------- ### Get Check History Source: https://docs.exit1.dev/api-reference Retrieves the historical monitoring data for a specific check. ```APIDOC ## GET /v1/public/checks/{id}/history ### Description Retrieves the historical data for a specific check. ### Method GET ### Endpoint /v1/public/checks/{id}/history ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. #### Query Parameters - **from** (timestamp) - Optional - Start of the time range (ISO 8601 format). - **to** (timestamp) - Optional - End of the time range (ISO 8601 format). ### Request Example ``` curl -H "X-Api-Key: ek_live_your_api_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/chk_12345/history?from=2023-01-01T00:00:00Z&to=2023-01-02T00:00:00Z ``` ### Response #### Success Response (200) - **history** (array) - An array of historical data points. - **timestamp** (timestamp) - The time the check was performed. - **status** (string) - The status of the check (e.g., 'up', 'down'). - **response_time** (integer) - The response time in milliseconds. #### Response Example ```json { "history": [ { "timestamp": "2023-01-01T10:00:00Z", "status": "up", "response_time": 150 } ] } ``` ``` -------------------------------- ### List All Checks Source: https://docs.exit1.dev/api-reference Retrieves a list of all monitoring checks configured in your account. ```APIDOC ## GET /v1/public/checks ### Description Lists all monitoring checks. ### Method GET ### Endpoint /v1/public/checks ### Parameters #### Query Parameters - **limit** (integer) - Optional - Maximum number of checks to return. - **offset** (integer) - Optional - Number of checks to skip before starting to collect the result set. ### Request Example ``` curl -H "X-Api-Key: ek_live_your_api_key_here" \ https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks ``` ### Response #### Success Response (200) - **checks** (array) - An array of check objects. - **id** (string) - The unique identifier for the check. - **name** (string) - The name of the check. - **url** (string) - The URL being monitored. - **interval** (integer) - The monitoring interval in seconds. - **enabled** (boolean) - Whether the check is currently enabled. #### Response Example ```json { "checks": [ { "id": "chk_12345", "name": "Homepage Check", "url": "https://example.com", "interval": 60, "enabled": true } ] } ``` ``` -------------------------------- ### GET /v1/public/checks Source: https://docs.exit1.dev/api-reference/scopes Retrieves a list of checks. Requires the `checks:read` scope. ```APIDOC ## GET /v1/public/checks ### Description Retrieves a list of checks. This operation requires the `checks:read` scope. ### Method GET ### Endpoint /v1/public/checks ### Parameters #### Query Parameters (No query parameters are documented for this endpoint) #### Request Body (No request body is documented for this endpoint) ### Response #### Success Response (200) (Response details not provided in the source text) #### Response Example (Response example not provided in the source text) ``` -------------------------------- ### GET /v1/public/checks/{id}/history Source: https://docs.exit1.dev/api-reference/scopes Retrieves the history of a specific check. Requires the `checks:read` scope. ```APIDOC ## GET /v1/public/checks/{id}/history ### Description Retrieves the historical data and events for a specific check. This operation requires the `checks:read` scope. ### Method GET ### Endpoint /v1/public/checks/{id}/history ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. #### Query Parameters (No query parameters are documented for this endpoint) #### Request Body (No request body is documented for this endpoint) ### Response #### Success Response (200) (Response details not provided in the source text) #### Response Example (Response example not provided in the source text) ``` -------------------------------- ### GET /v1/public/checks/{id}/stats Source: https://docs.exit1.dev/api-reference/scopes Retrieves statistics for a specific check. Requires the `checks:read` scope. ```APIDOC ## GET /v1/public/checks/{id}/stats ### Description Retrieves statistical information and performance metrics for a specific check. This operation requires the `checks:read` scope. ### Method GET ### Endpoint /v1/public/checks/{id}/stats ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. #### Query Parameters (No query parameters are documented for this endpoint) #### Request Body (No request body is documented for this endpoint) ### Response #### Success Response (200) (Response details not provided in the source text) #### Response Example (Response example not provided in the source text) ``` -------------------------------- ### GET /v1/public/checks/{id} Source: https://docs.exit1.dev/api-reference/scopes Retrieves details for a specific check by its ID. Requires the `checks:read` scope. ```APIDOC ## GET /v1/public/checks/{id} ### Description Retrieves details for a specific check using its unique identifier. This operation requires the `checks:read` scope. ### Method GET ### Endpoint /v1/public/checks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the check. #### Query Parameters (No query parameters are documented for this endpoint) #### Request Body (No request body is documented for this endpoint) ### Response #### Success Response (200) (Response details not provided in the source text) #### Response Example (Response example not provided in the source text) ``` -------------------------------- ### GET /v1/public/checks Source: https://docs.exit1.dev/api-reference/list-checks Retrieve a paginated list of all monitoring checks associated with your account, with options to filter by status. ```APIDOC ## GET /v1/public/checks ### Description Retrieve a list of all monitoring checks in your account. Supports both offset and cursor-based pagination. ### Method GET ### Endpoint /v1/public/checks ### Parameters #### Query Parameters - **limit** (integer) - Optional - Number of results per page (1-100). Default: 25 - **page** (integer) - Optional - Page number for offset pagination. Default: 1 - **cursor** (string) - Optional - Cursor for cursor-based pagination. - **status** (string) - Optional - Filter by status: `up`, `down`, `paused`. - **includeTotal** (boolean) - Optional - Include total count in response. Default: false ### Request Example ``` curl -H "X-Api-Key: ek_live_your_key_here" \ "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks?limit=10&status=up" ``` ### Response #### Success Response (200) - **data** (array) - List of monitoring check objects - **meta** (object) - Pagination metadata including current page, limit, total, and next cursor #### Response Example { "data": [ { "id": "abc123", "name": "Production Website", "status": "up", "url": "https://example.com" } ], "meta": { "page": 1, "limit": 25, "total": 12, "cursor": "next_cursor_value" } } ``` -------------------------------- ### 404 Not Found Error Example Source: https://docs.exit1.dev/api-reference/errors This error occurs when the requested resource, such as a check, cannot be found. Verify that the provided check ID exists and belongs to your account. ```json { "error": "Check not found" } ```