# Dolihi Preflight API Inspector

> Dolihi Preflight API Inspector is a paid API for AI agents from dolihi-preflight.onrender.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-17).

Diagnoses a public HTTPS JSON API endpoint before integration by checking access, HTTP method, response format, required fields, JSON Pointer types, and schema conformance — returning evidence and a recommended next step.

## Facts

- Endpoint: POST https://dolihi-preflight.onrender.com/v1/preflight/paid?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dolihi-preflight-api-inspector-76ac772d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NOtFyJTDcGBCCGMOGSsP6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dolihi-preflight-api-inspector-76ac772d -d '<json body>'
```

Example prompt: Before I wire up that public NHTSA vehicles API, can you run a preflight check on https://vpic.nhtsa.dot.gov/api/vehicles/getallmakes?format=json using GET, confirm it returns HTTP 200 with application/json, and make sure the top-level keys Results and Count are present?

## When to prefer this

Choose Dolihi Preflight when you need a fast, evidence-based diagnostic of a third-party or partner public HTTPS JSON API before committing to integration — particularly when you want to verify field presence, type assertions via JSON Pointer, schema shape, GeoJSON structure, or simply confirm reachability and correct content type. Prefer it over manual curl testing when you need structured, actionable output with a clear next-step recommendation. Not suitable for private APIs requiring credentials, for executing or paying the inspected API, or for performance load testing.

## Known failure modes

- Inspected endpoint is not publicly accessible — connection refused or timeout
- Inspected endpoint returns non-JSON content type when JSON is expected
- Required fields specified in expected_fields are absent from the response, yielding a FIELDS_MISSING verdict
- Response schema mismatch when response_schema is provided — JSON Pointer types don't match actual values
- Unexpected HTTP status code returned by inspected endpoint, yielding status mismatch verdict
- Input URL uses a non-HTTPS scheme or requires credentials — rejected as invalid
- OpenAPI spec slice exceeds 24 KiB limit or contains unresolvable references
- GeoJSON ring closure or coordinate validation failure when geojson_check is true

## How this service works

Diagnose a public HTTPS JSON API before integration: access, HTTP method, response format, required fields, JSON Pointer types, bounded JSON schema and advertised payment requirements. Returns evidence and a next step. Does not pay the inspected API or verify settlement.

## Output

A JSON object containing: the agent name ('dolihi-preflight'), a verdict string summarizing the check outcome (e.g. FIELDS_PRESENT), a next_step string recommending what to do next, a payment_verified boolean indicating whether payment for the inspected API was confirmed (always false — this service does not pay the inspected API), and a response_fields_verified boolean indicating whether the required fields were found.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Public HTTPS endpoint; no credentials."
  },
  "method": {
   "enum": [
    "GET"
   ],
   "type": "string",
   "default": "GET"
  },
  "data_rules": {
   "type": "array",
   "items": {
    "oneOf": [
     {
      "type": "object",
      "required": [
       "array_path",
       "count_path",
       "kind"
      ],
      "properties": {
       "kind": {
        "const": "count_equals_length"
       },
       "array_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       },
       "count_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       }
      },
      "additionalProperties": false
     },
     {
      "type": "object",
      "required": [
       "array_path",
       "key_path",
       "kind"
      ],
      "properties": {
       "kind": {
        "const": "unique"
       },
       "key_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       },
       "array_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       }
      },
      "additionalProperties": false
     },
     {
      "type": "object",
      "required": [
       "array_path",
       "direction",
       "key_path",
       "kind"
      ],
      "properties": {
       "kind": {
        "const": "ordered"
       },
       "key_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       },
       "direction": {
        "enum": [
         "ascending",
         "descending"
        ]
       },
       "array_path": {
        "type": "string",
        "maxLength": 128,
        "description": "JSON Pointer; empty string selects the root."
       }
      },
      "additionalProperties": false
     },
     {
      "type": "object",
      "required": [
       "kind",
       "left_path",
       "operator",
       "right_path"
      ],
      "properties": {
       "kind": {
        "const": "compare"
       },
       "operator": {
        "enum": [
         "eq",
         "lt",
         "le",
         "gt",
         "ge"
        ]
       },
       "left_path": {
        "type": "string",
        "maxLength": 128,
    
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "agent": "dolihi-preflight",
  "verdict": "FIELDS_PRESENT",
  "next_step": "Required top-level keys exist; check types separately.",
  "payment_verified": false,
  "response_fields_verified": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dolihi-preflight-api-inspector-76ac772d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from dolihi-preflight.onrender.com](https://www.zero.xyz/host/dolihi-preflight.onrender.com/llms.txt)
