Prowl
8/100
prowl
Benchmarked Sep 17, 2026

Influx OSS API Service

# Authentication <!-- ReDoc-Inject: <security-definitions> -->

defiauthsecurity defi_yield api_key_header
Benchmark Your API

Score Breakdown

Auth Simplicity8/10
Latency7/10
Consistency0/10
Documentation0/10
Error Clarity0/10
Token Efficiency0/10
First-Try Success0/10
Parseability0/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
{
  "service_type": "defi_protocol",
  "base_url": "https://influxdata.com",
  "auth_method": "api_key_header",
  "auth_config": {
    "note": "InfluxDB 3 uses token-based authentication. Cloud Serverless / Dedicated use an API token passed as a Bearer token or via the Authorization header. Exact header conventions vary by deployment.",
    "recommended_header": "Authorization",
    "token_scheme": "Bearer"
  },
  "endpoints": [
    {"path": "/api/v3/query_sql", "method": "POST", "purpose": "execute SQL query against time series data"},
    {"path": "/api/v3/query_influxql", "method": "POST", "purpose": "execute InfluxQL query"},
    {"path": "/api/v3/write_lp", "method": "POST", "purpose": "write line protocol data"},
    {"path": "/api/v2/write", "method": "POST", "purpose": "compatibility write endpoint (2.x)"},
    {"path": "/api/v2/query", "method": "POST", "purpose": "compatibility query endpoint (2.x)"},
    {"path": "/health", "method": "GET", "purpose": "service health check"},
    {"path": "/ready", "method": "GET", "purpose": "readiness check"}
  ],
  "pricing_model": {
    "type": "per_request",
    "details": {
      "note": "Pricing varies by deployment: Cloud Serverless is usage-based; Cloud Dedicated, Enterprise, and Amazon Timestream for InfluxDB are contract-based. See https://www.influxdata.com/influxdb-pricing/ for current plans.",
      "open_source": "InfluxDB 3 Core is open source and self-hostable"
    }
  },
  "rate_limits": {
    "rpm": null,
    "note": "Rate limits depend on deployment tier; not universally specified. Cloud Serverless applies usage-based limits."
  },
  "capabilities": [
    "time_series_storage",
    "sql_query",
    "influxql_query",
    "line_protocol_write",
    "historical",
    "real_time_analytics",
    "downsampling",
    "forecasting",
    "mqtt_ingestion",
    "edge_collection"
  ],
  "defi_specifics": {
    "chains": [],
    "protocols": [],
    "yield_types": [],
    "has_tvl_data": false,
    "has_apy_data": false,
    "has_price_feeds": false,
    "contract_verified": false,
    "note": "InfluxData is a general-purpose time series database platform (InfluxDB), not a DeFi protocol. It can be used as underlying infrastructure to store DeFi-related time series data (e.g., prices, TVL, yields), but it does not natively provide DeFi market data, yield sources, or on-chain protocol integrations."
  }
}
Plan
```json
{
  "tests": [
    {
      "name": "health_check",
      "endpoint": "/health",
      "method": "GET",
      "headers": {},
      "payload": null,
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Returns service health status, typically 200 with a JSON body indicating the service is up",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "status", "type": "string", "optional": true}
    },
    {
      "name": "readiness_check",
      "endpoint": "/ready",
      "method": "GET",
      "headers": {},
      "payload": null,
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Returns readiness status indicating the service is ready to accept traffic",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "status", "type": "string", "optional": true}
    },
    {
      "name": "query_sql_basic",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer {{API_TOKEN}}",
        "Content-Type": "application/json",
        "Accept": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "q": "SELECT 1 AS value",
        "format": "json"
      },
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Executes a trivial SQL query and returns a JSON result set",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {"field": null, "type": "array_or_object", "min_length": 1}
    },
    {
      "name": "query_sql_missing_auth",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "q": "SELECT 1 AS value",
        "format": "json"
      },
      "expected_status": 401,
      "intent": "auth",
      "expected_behavior": "Rejects request with 401 Unauthorized when no auth token is supplied",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "string", "optional": true}
    },
    {
      "name": "query_sql_invalid_token",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer invalid_token_000",
        "Content-Type": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "q": "SELECT 1 AS value",
        "format": "json"
      },
      "expected_status": 401,
      "intent": "auth",
      "expected_behavior": "Rejects request with 401/403 when the bearer token is invalid",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "string", "optional": true}
    },
    {
      "name": "query_sql_missing_query_field",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer {{API_TOKEN}}",
        "Content-Type": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "format": "json"
      },
      "expected_status": 400,
      "intent": "validation",
      "expected_behavior": "Rejects request with 400/422 because the required 'q' query field is missing",
      "metrics": ["status_code", "accuracy"],
      "validation": {"field": "error", "type": "string", "optional": true}
    },
    {
      "name": "query_sql_malformed_sql",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer {{API_TOKEN}}",
        "Content-Type": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "q": "SELECT FROM WHERE NOT A VALID QUERY",
        "format": "json"
      },
      "expected_status": 400,
      "intent": "validation",
      "expected_behavior": "Returns a 4xx error with a structured error body for invalid SQL syntax",
      "metrics": ["status_code", "accuracy"],
      "validation": {"field": "error", "type": "string", "optional": true}
    },
    {
      "name": "query_sql_unknown_table",
      "endpoint": "/api/v3/query_sql",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer {{API_TOKEN}}",
        "Content-Type": "application/json"
      },
      "payload": {
        "db": "benchmark",
        "q": "SELECT * FROM does_not_exist_xyz LIMIT 1",
        "format": "json"
      },
      "expected_status": 404,
      "intent": "validation",
      "expected_behavior": "Returns an error (400/404) indicating the referenced table does not exist",
      "metrics": ["status_code", "accuracy"],
      "validation": {"field": "error", "type": "string", "optional": true}
    },
    {
      "name": "write_lp_basic",
      "endpoint": "/api/v3/write_lp",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer {{API_TOKEN}}",
        "Content-Type": "text/plain; charset=utf-8"
      },
      "payload": "benchmark,host=alpha,region=us-east cpu=0.42,mem=128i 1700000000000000000",
      "expected_status":
Execute

0/18 tests passed

TestEndpointStatusLatency
health_checkGET /health301166ms
readiness_checkGET /ready30159ms
query_sql_basicPOST /api/v3/query_sql30158ms
query_sql_missing_authPOST /api/v3/query_sql30155ms
query_sql_invalid_tokenPOST /api/v3/query_sql30160ms
query_sql_missing_query_fieldPOST /api/v3/query_sql30192ms
query_sql_malformed_sqlPOST /api/v3/query_sql30164ms
query_sql_unknown_tablePOST /api/v3/query_sql301108ms
write_lp_basicPOST /api/v3/write_lp30150ms
write_lp_missing_authPOST /api/v3/write_lp30153ms
Interpret
{
  "overall": 8,
  "dimensions": {
    "token_efficiency": 0.0,
    "first_try_success": 0.0,
    "response_parseability": 0.0,
    "error_clarity": 0.0,
    "doc_quality": 0.0,
    "auth_simplicity": 8.0,
    "latency": 7.0,
    "consistency": 0.0
  },
  "pricing_normalized": {
    "cost_per_1k_requests": null,
    "free_tier_requests": null
  },
  "issues": [
    "CRITICAL: Every single endpoint returned HTTP 301 redirects to HTML pages instead of API responses — the base URL provided points to a website, not the API.",
    "All 18 tests failed with CONTENT_TYPE_MISMATCH (expected JSON, got text/html). Zero successful API interactions.",
    "This service claims to be a DeFi time-series database (InfluxDB-style), but no DeFi-specific data was retrievable.",
    "Cannot assess token efficiency, response parseability, error clarity, or consistency from zero valid responses.",
    "Auth simplicity scored only from endpoint metadata (API-key likely required), not empirical testing."
  ],
  "recommendations": [
    "CRITICAL: Verify and correct the base URL — the current URL redirects to an HTML website rather than serving API traffic. Likely missing the API host (e.g., https://us-east-1-1.aws.cloud2.influxdata.com).",
    "Re-run the entire benchmark suite once a valid API base URL is confirmed.",
    "Ensure /health and /ready return JSON with appropriate content-type, not HTML redirects.",
    "Document the exact API host, auth token format, and required headers clearly to avoid this common integration failure.",
    "Once connectivity is established, expose DeFi-relevant metrics (yield, APY, TVL) through documented queries so token efficiency and first-try success can be properly assessed."
  ]
}

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
api_key_header
SDKs
None listed
MCP Support
No

Embed your Prowl badge

Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.

Prowl agent-readiness badge
<a href="https://prowl.world/service/influx-oss-api-service">
  <img src="https://prowl.world/badge/influx-oss-api-service.svg" height="56" alt="Agent-readiness on Prowl">
</a>

Options: ?style=light|dark · ?size=sm|md · ?variant=certified (claimed + DNS-verified only) · badge generator with preview

Want the full interactive view?

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

Open in Dashboard