Overview
24/7 Monitoring
Performance Metrics
Early Warning
Automatic Notifications

API Health Check settings form - All configuration fields
What is API Health Check?
Basic Concept
API Health Check is a monitoring system that automatically sends test requests at specified intervals to an API endpoint or web service you specify.When to Use?
When to Use?
Critical API Monitoring
SLA Tracking
Performance Monitoring
Uptime Monitoring
How Does It Work?
How Does It Work?
Configuration
Scheduling
Test Execution
Validation
- Response time check
- HTTP status code check
- Response content check
- XPath/JSONPath checks
Result Recording
Notification
Quick Start
Creating Your First Health Check
Access from Menu
Create New Check
Fill in Basic Information
- Name: A name for your check (e.g., “Payment API Check”)
- Description: Optional description
Enter Request Information
- HTTP Method: GET, POST, etc.
- URL: API endpoint to be tested
Set Scheduling
Save
Creating New Health Check
Step 1: Basic Information
Name - Required
Name - Required
- Must be unique within the project
- Cannot start with a space
- System automatically checks the availability of the name
Payment API MonitoringUser Service Health CheckThird-Party Integration CheckHomepage Availability Check
Description - Optional
Description - Optional
- Maximum 1000 characters
- Used to explain the purpose and scope of the check
- Displayed on the list page
Created for 24/7 monitoring of critical payment APICustomer portal homepage availability checkThird-party service provider integration monitoring
Status - Default: Active
Status - Default: Active
- Active: Check runs, scheduled tests are sent
- Passive: Check is stopped, no tests are sent (historical data is preserved)
Step 2: Scheduling Settings
Determine how frequently the health check will run. Scheduling is done using Cron Expression.Common Scheduling Examples
| Description | Cron Expression | Use Case |
|---|---|---|
| Every 5 minutes | 0 */5 * ? * * | For critical APIs (most common) |
| Every 15 minutes | 0 */15 * ? * * | For normal APIs |
| Every hour | 0 0 * ? * * | For Test/Development environments |
| Every day at 09:00 | 0 0 9 * ? * | For daily reporting |
| Every Monday at 09:00 | 0 0 9 ? * MON | For weekly checks |
Step 3: Request Settings
In this section, you configure the information of the endpoint to be tested.Select From Collection - Recommended
Select From Collection - Recommended
Click Button
Select Collection
Select Scenario
Auto-Fill
- You save time
- You use consistent test scenarios
- You can manage your test scenarios centrally
HTTP Method - Required
HTTP Method - Required
GET
POST
PUT
DELETE
PATCH
HEAD
URL - Required
URL - Required
https://api.example.com/usershttps://api.example.com/payment/verifyhttp://localhost:8080/healthhttps://api.example.com/v1/products?category=electronics
Parameters - Optional
Parameters - Optional
- Parameter Name:
userId - Parameter Value:
12345
https://api.example.com/users?userId=12345Headers - Optional
Headers - Optional
- Authorization:
Bearer token123orBasic base64encoded - Content-Type:
application/json,application/xml - X-API-Key:
your-api-key - Custom Headers: Custom headers
- Header Name:
Authorization - Header Value:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Body - For POST/PUT/PATCH
Body - For POST/PUT/PATCH
- Raw: JSON, XML, Text
- Form URL Encoded: Form data
Step 4: Validation Settings
Validation (Assertion) settings determine the checks required for the test result to be considered successful.Timeout Check (Timeout Assertion)
Timeout Check (Timeout Assertion)
- Request must be responded to within the specified time
- Otherwise test is considered failed
HTTP Status Code Check (Status Code Assertion)
HTTP Status Code Check (Status Code Assertion)
Activate Toggle
Enter Status Code
200 (OK)Common Status Codes:200: Successful201: Created204: No Content400: Bad Request401: Unauthorized404: Not Found500: Server Error
- Expected Status Code:
200 - Actual Status Code:
200→ ✅ Successful - Actual Status Code:
500→ ❌ Failed
Response Body Check (Body Assertion)
Response Body Check (Body Assertion)
Activate Toggle
Enter Content
- Response should contain specific text:
"status": "success" - Response should contain specific value:
"active": true - Response should not be empty
- Expected:
"status": "ok" - Actual:
{"status": "ok", "data": {...}}→ ✅ Successful - Actual:
{"status": "error"}→ ❌ Failed
XPath Check (XPath Assertion) - For XML
XPath Check (XPath Assertion) - For XML
Activate Toggle
Enter XPath
Enter Expected Value
- XPath:
/response/status - Expected Result:
success - Actual XML:
<response><status>success</status></response>→ ✅ Successful
JSONPath Check (JSONPath Assertion) - For JSON
JSONPath Check (JSONPath Assertion) - For JSON
Activate Toggle
Enter JSONPath
Enter Expected Value
- JSONPath:
$.status - Expected Result:
ok - Actual JSON:
{"status": "ok", "data": {...}}→ ✅ Successful
$.status: Status field at root$.data.items[0].id: ID of first item$.user.name: Name field of user object$.results[*].id: IDs of all results
Step 5: Settings
Timeout - Default: 30 seconds
Timeout - Default: 30 seconds
- Entered in seconds
- Default value:
30seconds - If no response is received within this time, test is considered failed
SSL Certificate (Enable Certificate)
SSL Certificate (Enable Certificate)
- When this option is activated, custom SSL certificate can be used
- Generally used for self-signed certificates or custom CA certificates
Step 6: Retry Settings
To automatically retry in case of temporary issues:Retry On Fail
Retry On Fail
Activate Toggle
Select Number
1, 3, 5, or 10- If the first request fails
- Retries are made up to the specified number
- Wait can be made between each attempt (optional)
- Retry Count:
3 - First request failed → 1st retry → failed → 2nd retry → failed → 3rd retry → successful → ✅ Successful
Delay Between Requests
Delay Between Requests
Activate Toggle
Enter Wait Time
3 secondsUse Case:- To reduce server load
- To avoid rate limiting
- To give time for temporary issues to resolve
- Retry Count:
3 - Wait:
5seconds - First request failed → wait 5 sec → 1st retry → failed → wait 5 sec → 2nd retry → successful
Step 7: Notification Recipients
Configure notifications that will be triggered when the test fails:Adding Notifications
Add Notification
Select Notification Type
- Email: Sends email notification
- Webhook: Sends HTTP POST request
- Slack: Sends message to Slack channel
- SMS: Sends SMS notification
- And more…
Complete Configuration
- Edit: Select “Edit” from the menu to update notification information
- Delete: Select “Delete” from the menu to remove the notification
- Active/Passive: You can activate/deactivate the notification with toggle
- Health check name
- Proxy name (if any)
- Target URL
- Error message
- Timestamp
- Test result details
Step 8: Saving
After filling in all information:Validation Check
- ✅ Name entered and available
- ✅ URL entered
- ✅ Scheduling settings configured
- ✅ At least one assertion active (recommended)
Save
Redirect
Monitoring and Reporting Results
Accessing Results Page
Access from List
Access from Menu
Results Page Sections
1. Header Section
1. Header Section
- Date Range Selector: Filter results by a specific date range
- Refresh Button: Manually refresh results
- HTTP Method and URL: Information about the tested endpoint
2. Status Summary
2. Status Summary
- Line graph showing response times over time
- X axis: Date/Time
- Y axis: Response time (milliseconds)
- You can see detailed information by hovering over the graph
- Average response time of all tests (milliseconds)
- Shown in large and bold text
- Important metric for performance evaluation
- Ratio of successful tests to total tests (percentage)
- Green: Good performance (95%+)
- Yellow: Medium performance (80-95%)
- Red: Low success rate (below 80%)

Status summary and test results table
3. Test Results Table
3. Test Results Table
- Request Sent: Date and time when the test request was sent
- Request Type:
- Initial Request: Normal test request
- Retry: Retry request
- Response Time: Response time of the request (milliseconds)
- Assertions: Checks performed and their results:
- ✅ Timeout: Request did not timeout
- ✅ Status Code: Expected HTTP status code returned
- ✅ Result Body: Response body validated
- ✅ XPath: XPath check successful (for XML)
- ✅ JSONPath: JSONPath check successful (for JSON)
- Result:
- 🟢 Successful: All checks passed
- 🔴 Failed: At least one check failed
- Detail: Eye icon (👁️) to view result details in JSON format
Viewing Result Details
Click Detail Button
Review Details
- Request information (URL, method, headers, body)
- Response information (status code, headers, body)
- Assertion results (result of each check)
- Error messages (if any)
- Timestamps
Deleting All Results
Click Delete Button
Deletion Completed
Health Check Management
List Page Features
On the health check list page, you can view and manage all your checks.Search and Filtering
Search and Filtering
- Search by Name: Filter checks by typing in the name field
- Search by Description: Search by typing in the description field
- Project Filter (Admin mode): View checks from multiple projects
- Clear: Click the eraser icon to clear all filters
Table Columns
Table Columns
- Name: Health check name (clickable, goes to results page)
- Description: Check description
- Target URL: URL of the tested endpoint
- Status: Active/Passive status (can be changed with toggle)
- Project (Admin mode): Project the check belongs to
- Operations: Menu button (⋮)
Operations Menu
Operations Menu
Changing Status
Changing Status
Click Toggle
Status Updated
Passive Checks
Best Practices
1. Naming Conventions
- Use Descriptive Names: Clear names like
Payment API Check - Add Project/Module Prefix: Like
E-Commerce - Payment API - Add Environment Information: Like
Production - User API
2. Scheduling Strategy
- Critical APIs: Check every 5 minutes
- Normal APIs: Check every 15-30 minutes
- Test Environments: Check every hour
- Consider server load
3. Assertion Usage
- Use at least one assertion (Status Code recommended)
- Always activate timeout assertion
- Use body assertions carefully (if variable content exists)
- Make specific checks using JSONPath/XPath
4. Retry Strategy
- Use retry for temporary issues
- Keep retry count reasonable (between 3-5)
- Reduce server load by using delay
- Increase delay in rate limiting situations
5. Notification Management
- Use email + SMS notification for critical checks
- Send notifications to your integration systems using Webhook
- Filter to avoid notification spam
- Create notification groups
6. Performance Monitoring
- Regularly check response times
- Track success rates (aim for 95%+)
- Perform trend analysis (examine graphs)
- Set threshold values for anomaly detection
Frequently Asked Questions
How Often Does Health Check Run?
How Often Does Health Check Run?
0 */5 * ? * *→ Every 5 minutes0 0 * ? * *→ Every hour0 0 9 * ? *→ Every day at 09:00
What Happens When Check is Deactivated?
What Happens When Check is Deactivated?
- No new test requests are sent
- Existing scheduled jobs are cancelled
- Historical results are preserved and can be viewed
- Check continues normal operation when reactivated
How Does Retry Work?
How Does Retry Work?
- First request is sent
- If it fails (any assertion fails)
- Retries are made up to the number you specified
- If there is wait between requests, wait for the specified duration
- If all attempts fail, result is recorded as “Failed”
When Are Notifications Sent?
When Are Notifications Sent?
- When test fails
- Separate notification is sent for each failed test
- Notifications are not sent for successful tests (default behavior)
How Do Assertion Checks Work?
How Do Assertion Checks Work?
- Timeout Check: Was the request responded to within the specified time?
- Status Code Check: Does HTTP status code match the expected value?
- Body Check: Does response body match the expected content?
- XPath Check: Does XPath expression give correct result in XML response?
- JSONPath Check: Does JSONPath expression give correct result in JSON response?
What is the Use of Selecting from Test Collection?
What is the Use of Selecting from Test Collection?
- You save time
- You use consistent test scenarios
- You can manage your test scenarios centrally
What Happens When Check is Deleted?
What Happens When Check is Deleted?
- Check definition is deleted from database
- All test results are deleted
- Scheduled jobs are cancelled
- Historical data is permanently lost
How Long Are Results Kept?
How Long Are Results Kept?
- You can use the “Delete All Results” button on the results page
- Or you can clean results regularly
Can I Use Multiple Assertions?
Can I Use Multiple Assertions?
- Status Code: 200 ✅
- “success” text in Body ✅
- JSONPath:
$.status= “ok” ✅
Can I Use Dynamic Parameters in URL?
Can I Use Dynamic Parameters in URL?
- You can add query parameters
- You can use dynamic values in headers (in some cases)
- You can use dynamic content in body
Troubleshooting
Check Not Working
Check Not Working
- Check may be in passive status → Check status toggle
- Scheduling settings may be wrong → Check cron expression
- URL may not be accessible → Test URL manually
- Activate check status
- Check scheduling settings
- Make sure URL is accessible
All Tests Failing
All Tests Failing
- URL is wrong or not accessible
- Assertion settings are too strict
- Timeout duration is too short
- Authentication issues
- Check URL
- Review assertion settings
- Increase timeout duration
- Check authentication information in headers
Notifications Not Coming
Notifications Not Coming
- Notification is in passive status
- Notification configuration is incorrect
- Email/SMS service is not working
- Activate notification status
- Check notification configuration
- Check Email/SMS service settings
Response Times Too High
Response Times Too High
- API performance issues
- Network delays
- Server load
- Optimize API performance
- Check network connection
- Check server resources
Results Not Showing
Results Not Showing
- Check has not run yet
- Date range filter is wrong
- Results may have been deleted
- Make sure check has run
- Check date range filter
- Make sure results have not been deleted

