> ## Documentation Index
> Fetch the complete documentation index at: https://haiprotocol.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Independent HTTP review example

> A producer and publisher complete structured review without Plasm.

The repository's `examples/http/review.mjs` uses ordinary HTTP. Its request file selects purpose `review`, a static document and a schema with one accept/decline choice. It includes no Plasm fields or execution binding.

Start the [local fixture](/quickstart). In a private second terminal, set the printed `HAIP_URL` and producer `HAIP_TOKEN`, enable `HAIP_LOCAL_HTTP=true`, and choose a stable `HAIP_IDEMPOTENCY_KEY`.

```sh theme={null}
node examples/http/review.mjs
```

Follow the returned review link, sign in as `reviewer`, propose a response and confirm it in the trusted host. Poll with the producer credential and export the retained signed result using the [CLI](/cli/commands). The result authenticates a response and grants no execution authority.

To include the independently authored choice View, use the fixture's separate publisher credential:

```sh theme={null}
npm run example:app
node examples/http/register-app.mjs
```

The registration command also needs `HAIP_PUBLISHER_TOKEN` and its own stable `HAIP_IDEMPOTENCY_KEY`. The producer must be operator-mapped to that publisher. Set the returned registration ID as `HAIP_BUNDLE_ID`, choose a new request key, and run the review command again. The View may propose the choice, but the trusted host still performs confirmation.

The generated HTML retains HAIP, MCP, Zod and schema-converter notices. It is a local build output, not a published package or an external agent UI renderer.

For another implementation, `conformance/review.mjs` exercises the public HTTP review contract with supplied credentials and a real-host confirmation callback. It does not bypass the human step or claim conformance from a fabricated receipt.
