Minimal Access Tier is the public-safe chatbot floor. It exists for clients that can only fetch a URL and read a tiny JSON response.
Request contract
- Method:
GETonly. - Request body: none.
- Authentication: none.
- Custom headers: none.
- Client-side JavaScript: not required.
- State change: never.
Minimal response example
{ "code": 200, "url": "https://example.org/agent-start/" }[]Field order follows the keyed JSON example, the published schema order, and the public field registry.
The minimal response example has exactly two keys: code and url. Do not add status text, actions, secrets, user identifiers, tokens, or private context to this tier.
Allowed codes
| Code | Meaning | Chatbot behavior | Advanced-agent behavior |
|---|---|---|---|
| 200 | Resolved public entry URL. | Open or cite the URL and continue reading. | Resolve the linked public record and continue capability negotiation. |
| 202 | Accepted as public review material, no action yet. | Read the URL and stop before action. | Create a review or blocker record before writes. |
| 303 | See another public URL. | Follow the URL only. | Preserve redirect evidence and re-evaluate capability. |
| 400 | Malformed or unsupported request. | Report unsupported request and stop. | Prepare a corrected packet or ask a human. |
| 403 | Not public or not allowed. | Do not retry with secrets. | Require authorization outside Minimal Access. |
| 410 | Public entry retired. | Use the returned replacement URL if present. | Record deprecation and re-resolve discovery. |
| 428 | Higher capability or human review required. | Stop and ask for a capable path. | Escalate to POST JSON, consent, or human review. |
Safe read order
/agent-start//ai-summary//claim-boundary-faq//ecosystem-overlay/
No-op rule
When a Minimal Access client is uncertain, it should cite the public URL and stop. It should not infer a write action, synthesize credentials, submit forms, or treat a query string as private.