# Halowerk Form Dry-Run Validator

> Halowerk Form Dry-Run Validator is a paid API for AI agents from lauf.halowerk.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Loads a public HTTPS page in a headless browser, fills a specified form with provided values, and validates all fields client-side without actually submitting the form.

## Facts

- Endpoint: POST https://lauf.halowerk.com/v1/form-dryrun
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-form-dry-run-validator-e42a3de0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QkSr6RDiSvqmkgbYZE3IE

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 halowerk-form-dry-run-validator-e42a3de0 -d '<json body>'
```

Example prompt: Before I submit the contact form on https://example.com/contact, can you dry-run it with my values — name: 'Jane Doe', email: 'jane@example.com', phone: '555-1234', subject: 'Partnership', message: 'Hi, I'd like to discuss a collaboration.' — and tell me if any fields would fail validation?

## When to prefer this

Use this endpoint when you need to verify that a set of form field values will pass the live page's own client-side validation rules before committing to a real submission. It is uniquely suited for agents that must pre-check form data against actual HTML constraints (required, type, select options) as declared by the page itself, rather than relying on a static schema or guessing. Prefer it over generic form-submission endpoints when avoiding side effects is critical, or when you need to catch validation errors cheaply before a real action.

## Known failure modes

- Page URL is not publicly accessible or returns a non-200 status
- Form selector does not match any form on the page
- Page requires JavaScript-heavy rendering that times out in headless browser
- Field names provided do not match any input elements found in the form
- Page is behind authentication and cannot be loaded without credentials
- Captcha or bot-detection blocks headless browser access

## How this service works

Loads a public https page, finds the requested form, fills your values into it in a real headless browser and reports what a submission would run into — without submitting. Each field is checked against what the page itself declares: whether it is required and empty, whether the value matches the field type for email, url, number, tel, date, time and color, and whether a select value is one of the offered options.

## Output

A structured report listing each form field that was checked, whether it passed or failed validation, the reason for failure (e.g. required-and-empty, type mismatch for email/url/number/tel/date/time/color, or invalid select option), and an overall pass/fail summary — all without the form being submitted.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "The https page carrying the form."
  },
  "values": {
   "type": "object",
   "description": "Field name to value. Field names are the name attributes of the form controls; use form_index first with an empty probe if you do not know them.",
   "maxProperties": 40,
   "minProperties": 1,
   "additionalProperties": {
    "type": [
     "string",
     "number",
     "boolean"
    ]
   }
  },
  "form_name": {
   "type": "string",
   "maxLength": 120,
   "description": "Pick the form by its name or id instead of by position. Wins over form_index when both are given."
  },
  "form_index": {
   "type": "integer",
   "default": 0,
   "maximum": 20,
   "minimum": 0,
   "description": "Which form on the page, in document order. Default is the first."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-form-dry-run-validator-e42a3de0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from lauf.halowerk.com](https://www.zero.xyz/host/lauf.halowerk.com/llms.txt)
