Public document lookup

GET /api/docs/document returns one published document from APay's root content/ collections. It requires no authentication and performs no business writes. SSR and browser navigation use the same server content source.

QueryDescription
pathRequired canonical path: /docs or /docs/..., at most 512 characters. Trailing slashes are removed; traversal segments and repeated query values are rejected.
localeOptional: en, zh, zh-HK, ru, or id. Defaults to the request locale. zh and zh-HK use docs_zh; the others use docs_en.

Example: GET /api/docs/document?path=/docs/products&locale=zh.

The JSON response is the Nuxt Content document object, including title, description, path, and the structured body used by ContentRenderer. Invalid parameters return 400. A document confirmed missing by the server returns 404. Server or transport errors remain failures; clients show a retry action instead of claiming the document does not exist.

This endpoint does not read theme private databases and does not modify content, orders, payments, or permissions.