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

Statically lints an ACP offering's published contract to detect missing JSON deliverable schemas, undeclared required fields, and absent input schemas before purchase.

## Facts

- Endpoint: POST https://app.tenna.ai/api/x402/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-6e775bca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5Al2pSZHNipsuI4WHLpH1

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-6e775bca -d '<json body>'
```

Example prompt: Before we buy that ACP offering, can you lint its published contract to check whether it declares a proper JSON deliverable schema, valid required fields, and a complete input schema — I want to know if it's actually machine-checkable?

## When to prefer this

Use this endpoint before purchasing or integrating any ACP offering when you need to verify that the listing is structurally machine-checkable — i.e., it declares a JSON deliverable schema, proper required fields, and an input schema. Prefer this over manual review when automating procurement pipelines or auditing multiple listings programmatically. It is a deterministic, model-free check, making it reliable and repeatable.

## Known failure modes

- Malformed offeringContract object causes validation error
- Missing offering identifier field returns error
- Offering contract with unusual or non-standard structure may produce incomplete lint results
- Network or service unavailability returns HTTP error

## 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 result indicating whether the ACP offering's contract is machine-checkable, accompanied by a list of specific defects found (e.g. missing JSON deliverable schema, undeclared required fields, absent input schema), each with evidence. A PASS confirms structural verifiability only, not 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-6e775bca/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)
