/api/aiJSON catalog of every public HTML surface and same-origin Markdown alternate.
Public discovery interface
RolePatch publishes a small, unauthenticated, read-only interface so agents can discover the product and understand its limits. Resume tailoring and application actions remain inside the reviewed user workflow.
Endpoints
Use GET or HEAD. These routes require no token or account. They describe RolePatch; they do not accept a resume, spend credits, fill an ATS, or submit an application.
/api/aiJSON catalog of every public HTML surface and same-origin Markdown alternate.
/api/public/v1/surfaces/{id}Versioned JSON lookup for one catalog surface. This link uses the home surface as a working example; an unknown id returns a typed problem response.
/llms.txtCompact product guidance, best-fit use cases, boundaries, access, and discovery links.
/llms-full.txtExpanded product brief for agents that need the full product contract.
/index.mdCanonical Markdown explanation of product purpose, evidence rules, access, and state.
/openapi.jsonOpenAPI 3.1 description of these read-only discovery routes.
/sitemap.xmlCanonical public route inventory for crawlers.
Markdown negotiation
Send Accept: text/markdown to any cataloged public page, or request its explicit .md alternate. Negotiated responses include Vary: Accept so HTML and Markdown cannot poison one another in a cache.
Error model
Unsupported methods and missing discovery routes return application/problem+json with a stable code, status, detail, and resolution hint. Ordinary product routes keep their own application contracts.
Version policy
The OpenAPI info.version follows semantic versioning. A breaking change gets a new major version; the previous contract remains available for at least 90 days with Deprecation and Sunset response headers.
Non-goals
There is no public mutation API, MCP tool, payment-by-agent rail, CAPTCHA bypass, or unattended file upload. Those absences preserve the review-first product boundary.