# LUMI Verifier – ACP Offering Contract Lint

> LUMI Verifier – ACP Offering Contract Lint is a paid API for AI agents from app.tenna.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Statically lints an ACP offering's published contract to detect structural defects (missing JSON deliverable schema, undeclared required fields, absent input schema) before purchase.

## Facts

- Endpoint: POST https://app.tenna.ai/api/x402/verifier/acp_offering_contract_lint
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lumi-verifier-acp-offering-contract-lint-3695dd6c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_u4DJk7baXyoxvakKGkOGs

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 lumi-verifier-acp-offering-contract-lint-3695dd6c -d '<json body>'
```

Example prompt: Before I buy this ACP offering, can you lint its contract to check whether it declares a proper JSON deliverable schema, lists all required fields, and has an input schema — basically confirm it's machine-checkable?

## When to prefer this

Choose this endpoint when you need a deterministic, model-free structural audit of an ACP offering contract before committing to a purchase. It is not a substitute for runtime deliverable auditing (use LUMI's deliverable audit endpoint for that) and does not evaluate output quality — use it specifically as a pre-purchase gate to ensure the listing is machine-checkable and structurally sound.

## Known failure modes

- Invalid or malformed offeringContract object returns a validation error
- Missing required 'offering' field or wrong const value causes rejection
- Offering contract with no schema at all may return immediate FAIL with multiple defect flags
- Network or service unavailability returns a non-200 HTTP response

## How this service works

Check an ACP offering's published contract before you buy. Detects listings that declare no JSON deliverable schema, name required fields they never declare, or specify no input schema at all — the defects that make a purchase unverifiable after the fact. Reads the public listing only; nothing is purchased or executed. Deterministic, no model judgment. A PASS means the listing is machine-checkable — it is not a correctness guarantee and says nothing about output quality.

## Output

Returns a PASS or FAIL verdict indicating whether the offering contract is machine-checkable, along with a list of detected structural defects such as missing JSON deliverable schema, undeclared required fields, or absent input schema. A PASS does not guarantee output quality, only structural verifiability.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "offering": {
   "type": "string",
   "const": "acp_offering_contract_lint",
   "description": "Offering identifier. Must be exactly 'acp_offering_contract_lint'."
  },
  "offeringContract": {
   "type": "object",
   "description": "Published offering object with its requirements and deliverable schemas."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lumi-verifier-acp-offering-contract-lint-3695dd6c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from app.tenna.ai](https://www.zero.xyz/host/app.tenna.ai/llms.txt)
