# LUMI ACP Offering Contract Linter

> LUMI ACP Offering Contract Linter 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-15).

Validates an ACP offering's published contract for structural defects — missing JSON deliverable schemas, undeclared required fields, or absent input schemas — without purchasing or executing the offering.

## Facts

- Endpoint: POST https://app.tenna.ai/api/x402/lumi/lumi_acp_offering_contract_lint
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lumi-acp-offering-contract-linter-06103a89
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oqpGTJ9FO-Pvixv0xBgOa

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-acp-offering-contract-linter-06103a89 -d '<json body>'
```

Example prompt: Before I buy this ACP offering, can you lint its published contract using LUMI to check whether it has a declared JSON deliverable schema, all required fields are defined, and the input schema is present — just read the public listing, don't purchase anything.

## When to prefer this

Use this endpoint when you need a fast, deterministic, zero-purchase structural check of an ACP offering contract — specifically to catch listings that lack JSON deliverable schemas, reference undeclared required fields, or have no input schema at all. Prefer this over manual inspection or model-based judgment when you want a binary machine-checkable verdict before committing to a purchase. Ideal for automated pre-purchase pipelines or marketplace quality filters.

## Known failure modes

- Invalid or unrecognized offering identifier returns an error
- Malformed offeringContract object (not valid JSON/object) causes a parse error
- Missing required 'offering' field results in a validation error
- Offering contract with no schema properties at all may return ambiguous results
- Network or payment failure for the $0.01 USDC x402 transaction blocks the call

## 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

A deterministic PASS or FAIL verdict indicating whether the offering contract is machine-checkable, accompanied by a list of specific structural defects found — such as missing JSON deliverable schema, required fields that are referenced but never declared, or a completely absent input schema. A PASS confirms the listing is structurally verifiable but does not guarantee output quality or correctness.

## 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-acp-offering-contract-linter-06103a89/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)
