Your API monitor says everything is green. Status 200. Response time 140ms. All systems operational.
But your customers are seeing blank dashboards, broken checkouts, and corrupted data. How is that possible?
A 200 status code tells you almost nothing about whether an API is actually working correctly.
Most monitoring tools work like this: send a request, check the status code, record the response time. If it is not 200, fire an alert.
That approach was fine in 2010. Today, the failure modes are far more subtle.
A provider renames user_id to userId. Your deserialization breaks. Status code? Still 200.
A nested object gains a new required field. Your code does not send it. Validation will reject your requests next week.
Your API works from us-east-1 but times out for users in Asia-Pacific. A single-region monitor never catches this.
Your monitor pings the endpoint. It works. But the certificate expires in 48 hours and nobody knows.
Traditional tools catch the obvious failures. Depify catches the subtle ones that actually cause production incidents.
Depify does not stop at the status code. Every check can validate the response body against rules you define.
Assert that the response body contains (or does not contain) specific strings. This catches scenarios like an API returning HTML instead of JSON, or a payment endpoint returning "status": "maintenance" with a 200 code.
For structured APIs, write assertions against specific fields using JSONPath expressions.
# Assert that the response contains a non-empty data array
$.data exists
$.data.length > 0
# Assert that pagination metadata is present
$.meta.total >= 1
$.meta.page == 1
# Assert a specific field value
$.status == "active"
$.version starts_with "v2"
These assertions run on every check. If any fails, Depify fires an alert with the exact assertion that broke, the expected value, and the actual value.
Catch missing CORS headers that break frontend integrations before your users do.
Detect when a JSON endpoint starts returning text/html instead of application/json.
Response validation catches known failure modes. But what about changes you did not anticipate?
Depify automatically infers a JSON schema from your API responses and tracks it over time. When the schema changes, you get a structured diff.
| Severity | Example | Action |
|---|---|---|
| Breaking | Field removed, type changed, required field added | Immediate alert via all channels |
| Additive | New optional field, new enum value | Notification to review |
| Cosmetic | Description changed, example updated | Logged for audit trail |
A single monitoring location gives you a single perspective. That is not how your users experience your API.
Depify runs checks from 10 geographic regions simultaneously.
| Region | Location |
|---|---|
| US East | Virginia |
| US West | Oregon |
| Europe West | Frankfurt |
| Europe North | Stockholm |
| Asia Pacific | Singapore |
| Asia South | Mumbai |
| Asia East | Tokyo |
| South America | Sao Paulo |
| Australia | Sydney |
| Middle East | Bahrain |
Multi-region monitoring is critical for detecting CDN issues. A cache invalidation failure in one region can serve stale data to millions of users while your monitor in us-east-1 sees fresh responses.
SSL certificate expiry is one of the most preventable causes of downtime. Depify monitors certificates for every endpoint and alerts you at configurable thresholds.
We also detect SSL configuration issues like incomplete certificate chains, outdated TLS versions, weak cipher suites, and certificate domain mismatches.
Creating a comprehensive API monitor takes about two minutes.
curl -X POST https://api.depify.io/api/v1/endpoints \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"endpoint": {
"name": "Payment Service Health",
"url": "https://api.example.com/v2/health",
"check_interval_seconds": 60,
"regions": ["us-east", "eu-west", "ap-south"],
"assertions": [
{ "source": "json_body", "property": "$.status", "operator": "equals", "value": "healthy" },
{ "source": "response_time", "operator": "less_than", "value": 2000 }
],
"ssl_monitoring": true,
"schema_tracking": true
}
}'
That single API call sets up HTTP health checks every 60 seconds from 3 regions, response body validation, performance assertions, SSL monitoring, and automatic schema tracking.
| Capability | Traditional Tools | Depify |
|---|---|---|
| Status code monitoring | Yes | Yes |
| Response time tracking | Yes | Yes (P50/P90/P95/P99) |
| Response body validation | Limited or none | JSONPath assertions, keyword checks |
| Schema drift detection | No | Automatic inference and comparison |
| Multi-region checks | 2-5 locations | 10 global locations |
| SSL monitoring | Basic expiry only | Expiry + chain + cipher + TLS version |
| Check interval | 1-5 minutes | 30 seconds (Pro), 10 seconds (Enterprise) |
| Anomaly detection | No | Z-score statistical alerting |
Every check runs through this entire pipeline. Every assertion, every schema comparison, every SSL check, every region.
"We switched from a traditional uptime monitor to Depify and caught 14 response body issues in the first week alone. Every single one had a 200 status code."
Depify's free tier includes 3 API endpoints with 5-minute check intervals and 7-day data retention. Response validation and schema tracking are available on all plans.
Multi-region monitoring (10 locations) and 30-second intervals are available on Pro and Enterprise.
Validate response bodies, detect schema drift, and monitor from 10 global regions. Free tier available.
Start Free Trial