comments

Leave a comment on a page (anonymous)

Unauthenticated. Requires the directory to have opted in via submissionPolicy.comments = true; otherwise 404 — a directory never accepts anonymous writes by default, and enabling reviews does not enable comments.

JSON body: path, authorName (≤80), body (≤4000), optional email (never published), turnstileToken, and the website2 honeypot (leave empty). There is no rating — comments are discussion, not a verdict, and never move any average.

path is the page being commented on, e.g. /herbs/ginger/. It is normalised: query string and fragment stripped, lowercased, repeated slashes collapsed, and a trailing slash added unless the last segment contains a dot. Only a-z 0-9 / . _ ~ - are allowed, . and .. segments are refused, and the result must be ≤300 characters.

Nothing submitted here is visible until a moderator approves it.

Rate limited to 5 per hour per IP. Always returns 202 { accepted: true } for anything that validates — including submissions judged to be spam, which are stored with status: spam. Bots get no signal about which check caught them.

post/public/v1/directories/{directory}/comments

Request

  • Base URL: https://api.epicdirectories.com
  • URL: https://api.epicdirectories.com/public/v1/directories/{directory}/comments
  • Auth: none declared

Path parameters

directorystring required

Request body

pathstring required

The page being commented on, as a path: /herbs/ginger/. Query string and fragment are stripped, it is lowercased, repeated slashes collapse, and a trailing slash is added unless the last segment is a file (/feed.xml). Only a-z 0-9 / . _ ~ - are allowed.

authorNamestring required

Display name the commenter chooses. Unverified — there is no end-user auth, so this is text, not an identity, and consumers must render it as such.

bodystring required

The comment itself. Plain text — render it escaped.

emailstring

Commenter email, for follow-up. Never published.

turnstileTokenstring

Cloudflare Turnstile token from the widget.

website2string

Honeypot — leave empty. See CreateSubmissionDto.

Example request

{
  "path": "/herbs/ginger/"
}

Response

Received. Not visible — queued for moderation.

Changes

No recorded changes to this operation across all 1 revision of this API.