70
/100
prowl
Benchmarked Apr 06, 2026

Cloudflare

CDN, DDoS protection, DNS management, Workers (serverless), R2 storage, AI Gateway. Generous free tier. REST API, bearer token auth.

cdndnssecurity api_benchmark csharpgojavajavascriptphppython api_key
Benchmark Your API

Score Breakdown

Parseability 10/10
Consistency 9/10
Latency 8/10
Documentation 8/10
Error Clarity 8/10
Auth Simplicity 6/10
Token Efficiency 6/10
First-Try Success 4/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
Looking at this Cloudflare API specification fragment, I can extract the following structured information:

```json
{
  "service_type": "rest_api",
  "base_url": "https://api.cloudflare.com/client/v4",
  "auth_method": "api_key_header",
  "auth_config": {"header": "Authorization", "prefix": "Bearer"},
  "endpoints": [
    {
      "path": "/zones/{zone_id}/settings/cache_reserve",
      "method": "GET",
      "purpose": "Get Cache Reserve setting status",
      "params": {"zone_id": {"type": "string", "required": true}},
      "response_format": "json",
      "is_primary": true
    },
    {
      "path": "/zones/{zone_id}/settings/cache_reserve",
      "method": "PATCH",
      "purpose": "Enable or disable Cache Reserve",
      "params": {"zone_id": {"type": "string", "required": true}, "value": {"type": "string", "required": true}},
      "response_format": "json",
      "is_primary": true
    },
    {
      "path": "/zones/{zone_id}/cache/cache_reserve/clear",
      "method": "POST",
      "purpose": "Clear Cache Reserve data",
      "params": {"zone_id": {"type": "string", "required": true}},
      "response_format": "json",
      "is_primary": false
    },
    {
      "path": "/accounts/{account_id}/calls/sessions",
      "method": "GET",
      "purpose": "List active real-time communication sessions",
      "params": {"account_id": {"type": "string", "required": true}},
      "response_format": "json",
      "is_primary": true
    },
    {
      "path": "/accounts/{account_id}/calls/sessions/{session_id}/participants",
      "method": "GET",
      "purpose": "Get participants in a real-time session",
      "params": {"account_id": {"type": "string", "required": true}, "session_id": {"type": "string", "required": true}},
      "response_format": "json",
      "is_primary": false
    }
  ],
  "pricing_model": {
    "type": "tiered",
    "details": {
      "cache_reserve_gb": 0.01,
      "calls_minutes": 0.005
    },
    "free_tier": {"requests": 100000, "period": "month"},
    "paid_tiers": ["Pro", "Business", "Enterprise"]
  },
  "rate_limits": {"rpm": 1200, "tpm": null, "daily": null, "concurrent": null},
  "capabilities": ["cdn", "cache_management", "real_time_communication", "ddos_protection", "dns", "ssl_tls", "workers", "page_rules", "firewall"],
  "agent_readiness": {
    "supports_x402": false,
    "supports_streaming": false,
    "has_sandbox": false,
    "sdks": ["python", "javascript", "go", "php", "java"],
    "agent_auth_methods": ["api_key"]
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "test_auth_validation",
      "endpoint": "/zones",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer {api_key}",
        "Content-Type": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Returns list of zones with valid authentication",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "result", "type": "array"}
    },
    {
      "name": "test_cache_reserve_settings_read",
      "endpoint": "/zones/{zone_id}/settings/cache_reserve",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer {api_key}",
        "Content-Type": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Returns Cache Reserve setting status for zone",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {"field": "result", "type": "object", "required_fields": ["id", "value"]}
    },
    {
      "name": "test_account_calls_sessions",
      "endpoint": "/accounts/{account_id}/calls/sessions",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer {api_key}",
        "Content-Type": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Returns list of active real-time communication sessions",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {"field": "result", "type": "array"}
    },
    {
      "name": "test_invalid_zone_id_error",
      "endpoint": "/zones/invalid-zone-id/settings/cache_reserve",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer {api_key}",
        "Content-Type": "application/json"
      },
      "payload": {},
      "expected_status": 400,
      "expected_behavior": "Returns error for invalid zone ID",
      "metrics": ["latency", "error_handling"],
      "validation": {"field": "success", "type": "boolean", "expected_value": false}
    },
    {
      "name": "test_unauthorized_request",
      "endpoint": "/zones",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer invalid-token",
        "Content-Type": "application/json"
      },
      "payload": {},
      "expected_status": 401,
      "expected_behavior": "Returns authentication error with invalid token",
      "metrics": ["latency", "error_handling"],
      "validation": {"field": "success", "type": "boolean", "expected_value": false}
    },
    {
      "name": "test_cache_reserve_patch_dry_run",
      "endpoint": "/zones/{zone_id}/settings/cache_reserve",
      "method": "PATCH",
      "headers": {
        "Authorization": "Bearer {api_key}",
        "Content-Type": "application/json"
      },
      "payload": {"value": "on"},
      "expected_status": 200,
      "expected_behavior": "Updates Cache Reserve setting successfully",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {"field": "result", "type": "object", "required_fields": ["id", "value"]}
    }
  ],
  "pricing_probes": [
    {
      "name": "verify_request_count_tracking",
      "description": "Make multiple API calls and check if usage is tracked against monthly limit",
      "endpoint": "/zones",
      "method": "GET",
      "payload": {},
      "check": "Monitor response headers for any usage indicators or rate limit headers"
    },
    {
      "name": "verify_rate_limit_headers",
      "description": "Check if Cloudflare returns rate limit information in headers",
      "endpoint": "/zones",
      "method": "GET", 
      "payload": {},
      "check": "Look for X-RateLimit-* headers indicating 1200 RPM limit compliance"
    }
  ],
  "stress_profile": {
    "concurrent_requests": 3,
    "duration_seconds": 15,
    "ramp_up": true
  }
}
```
Execute

0/6 tests passed

TestEndpointStatusLatency
test_auth_validationGET /zones400213ms
test_cache_reserve_settings_readGET /zones/{zone_id}/settings/cache_reserve400205ms
test_account_calls_sessionsGET /accounts/{account_id}/calls/sessions40098ms
test_invalid_zone_id_errorGET /zones/invalid-zone-id/settings/cache_reserve40438ms
test_unauthorized_requestGET /zones400258ms
test_cache_reserve_patch_dry_runPATCH /zones/{zone_id}/settings/cache_reserve400177ms
Interpret
{"multi_model": true, "models_used": ["openai", "claude_cli"], "model_scores": {"GPT-4o": {"overall": 72, "dimensions": {"token_efficiency": 7.0, "first_try_success": 6.0, "response_parseability": 9.0, "error_clarity": 8.0, "doc_quality": 8.0, "auth_simplicity": 6.0, "latency": 8.0, "consistency": 9.0}}, "Claude CLI": {"overall": 45, "dimensions": {"token_efficiency": 6.0, "first_try_success": 1.0, "response_parseability": 10.0, "error_clarity": 9.0, "doc_quality": 9.0, "auth_simplicity": 5.0, "latency": 8.0, "consistency": 9.0}}}, "averaged": true}

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
api_key
SDKs
csharp, go, java, javascript, php, python
MCP Support
No

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard