/api/v1/recipes/{id}/comments
Any member may write on any recipe, locked ones included. The comment is the caller's.
/api/v1/recipes/{id}/commentsSession cookie set by POST /api/v1/auth/login.
In: cookie
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/api/v1/recipes/string/comments" \ -H "Content-Type: application/json" \ -d '{ "body": "string" }'{ "$schema": "https://example.com/api/v1/schemas/Comment.json", "author": { "avatarId": "string", "color": "string", "displayName": "string", "id": "string", "username": "string" }, "body": "string", "canDelete": true, "canEdit": true, "createdAt": "2019-08-24T14:15:22Z", "editedAt": "2019-08-24T14:15:22Z", "id": 0, "new": true}/api/v1/comments/{commentId} DELETE
The person who wrote it, or an admin.
/api/v1/recipes/{id}/comments/seen PUT
The recipe page calls this when the reader first opens its comments tab, with the highest comment id it loaded. Comments above it stay new. The editor, cook mode and MCP reads do not call it. It needs only recipes:read on purpose: it moves the caller's own unread marker and changes nothing anybody else sees, so a read-only client that shows comments can clear them.