# BABYDOV Postcondition Verify — HTTP Response Assertion & Evidence

> BABYDOV Postcondition Verify — HTTP Response Assertion & Evidence is a paid API for AI agents from vps-62-120.cloudhosting.lv:8443, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-02).

Verifies that a live HTTP endpoint satisfies one or more configurable postconditions (status code, body content, JSON key, SHA-256 hash, redirect, latency) and returns tamper-evident evidence with a verification ID.

## Facts

- Endpoint: POST https://vps-62-120.cloudhosting.lv:8443/postcondition-verify?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/babydov-postcondition-verify-http-response-assertion-evidence-247cc53b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Tig76OA_nyLjgoD1qm7Z1

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 babydov-postcondition-verify-http-response-assertion-evidence-247cc53b -d '<json body>'
```

Example prompt: Check that https://api.example.com/health returns a 200 status and that the response body contains the string 'ok' — I need tamper-evident proof with a verification ID that all conditions passed.

## When to prefer this

Choose this endpoint when an AI agent needs cryptographically auditable, tamper-evident proof that a live HTTP resource satisfies specific postconditions — such as before releasing a bounty, confirming a deployment went live, or validating a third-party API contract. It is superior to a simple HTTP fetch when you need a verifiable evidence record (SHA-256 + verification ID), combinatorial logic (all/any) over multiple assertions, or low-cost autonomous verification without standing up your own infrastructure. Prefer alternatives if you need to extract or transform the response body rather than just assert conditions on it.

## Known failure modes

- Target URL unreachable or DNS resolution failure — verification fails with network error
- Target URL returns unexpected status code — check fails, failed_check_count incremented
- Response body does not contain expected string — assertion fails
- SHA-256 hash mismatch — hash check fails
- Response latency exceeds max_latency_ms — latency check fails
- Max redirects exceeded — redirect check fails
- Malformed URL in queryParams.url — input validation error
- logic enum value not in ['all','any'] — schema validation error
- Missing required 'url' in queryParams — 400 bad request
- x402 payment not satisfied — 402 payment required before response

## How this service works

Low-cost x402 APIs for autonomous agents: payment preflight, web evidence, bounty intelligence, source evidence and public-web extraction.

## Output

A JSON object containing: a 'passed' boolean (overall result), 'check_count' (number of assertions evaluated), 'failed_check_count', 'logic' (all/any), a unique 'verification_id' (prefixed pv_), an 'evidence_sha256' hash of the observed response for auditability, 'payment_sent' flag, and 'schema_version'. Enables agents to hold cryptographic evidence that a URL satisfied specific conditions at a point in time.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri"
      },
      "logic": {
       "enum": [
        "all",
        "any"
       ],
       "type": "string"
      },
      "equals": {
       "type": "string",
       "maxLength": 500
      },
      "contains": {
       "type": "string",
       "maxLength": 200
      },
      "json_key": {
       "type": "string",
       "maxLength": 120
      },
      "not_contains": {
       "type": "string",
       "maxLength": 200
      },
      "expect_status": {
       "type": "integer",
       "maximum": 599,
       "minimum": 100
      },
      "max_redirects": {
       "type": "integer",
       "maximum": 10,
       "minimum": 0
      },
      "max_latency_ms": {
       "type": "number",
       "maximum": 60000,
       "exclusiveMinimum": 0
      },
      "expected_sha256": {
       "type": "string",
       "maxLength": 64,
       "minLength": 64
      },
      "final_url_contains": {
       "type": "string",
       "maxLength": 200
      },
      "content_type_contains": {
       "type": "string",
       "maxLength": 120
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "logic": "all",
  "passed": true,
  "check_count": 2,
  "payment_sent": false,
  "schema_version": "babydov.postcondition_verify.v2",
  "evidence_sha256": "...",
  "verification_id": "pv_...",
  "failed_check_count": 0
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/babydov-postcondition-verify-http-response-assertion-evidence-247cc53b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vps-62-120.cloudhosting.lv:8443](https://www.zero.xyz/host/vps-62-120.cloudhosting.lv%3A8443/llms.txt)
