e70047ca0f
Using fizzy.localhost causes CORS errors when using minio for Active Storage because the minio endpoint is at minio.fizzy.localhost — a sibling subdomain, not a subdomain of the app host. Switching to app.fizzy.localhost makes both hosts subdomains of fizzy.localhost, resolving the CORS issue. See #2814 for the related minio CORS fix. fizzy.localhost will continue to work if people want to use it, but all docs and scripts have been updated to point to app.fizzy.localhost.
3.3 KiB
3.3 KiB
Comments
Comments are attached to cards and support rich text.
GET /:account_slug/cards/:card_number/comments
Returns a paginated list of comments on a card, sorted chronologically (oldest first).
Response:
[
{
"id": "03f5v9zo9qlcwwpyc0ascnikz",
"created_at": "2025-12-05T19:36:35.534Z",
"updated_at": "2025-12-05T19:36:35.534Z",
"body": {
"plain_text": "This looks great!",
"html": "<div class=\"action-text-content\">This looks great!</div>"
},
"creator": {
"id": "03f5v9zjw7pz8717a4no1h8a7",
"name": "David Heinemeier Hansson",
"role": "owner",
"active": true,
"email_address": "david@example.com",
"created_at": "2025-12-05T19:36:35.401Z",
"url": "http://app.fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7"
},
"card": {
"id": "03f5v9zo9qlcwwpyc0ascnikz",
"url": "http://app.fizzy.localhost:3006/897362094/cards/03f5v9zo9qlcwwpyc0ascnikz"
},
"reactions_url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz/reactions",
"url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz"
}
]
GET /:account_slug/cards/:card_number/comments/:comment_id
Returns a specific comment.
Response:
{
"id": "03f5v9zo9qlcwwpyc0ascnikz",
"created_at": "2025-12-05T19:36:35.534Z",
"updated_at": "2025-12-05T19:36:35.534Z",
"body": {
"plain_text": "This looks great!",
"html": "<div class=\"action-text-content\">This looks great!</div>"
},
"creator": {
"id": "03f5v9zjw7pz8717a4no1h8a7",
"name": "David Heinemeier Hansson",
"role": "owner",
"active": true,
"email_address": "david@example.com",
"created_at": "2025-12-05T19:36:35.401Z",
"url": "http://app.fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7"
},
"card": {
"id": "03f5v9zo9qlcwwpyc0ascnikz",
"url": "http://app.fizzy.localhost:3006/897362094/cards/03f5v9zo9qlcwwpyc0ascnikz"
},
"reactions_url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz/reactions",
"url": "http://app.fizzy.localhost:3006/897362094/cards/3/comments/03f5v9zo9qlcwwpyc0ascnikz"
}
POST /:account_slug/cards/:card_number/comments
Creates a new comment on a card.
| Parameter | Type | Required | Description |
|---|---|---|---|
body |
string | Yes | The comment body (supports rich text) |
created_at |
datetime | No | Override creation timestamp (ISO 8601 format) |
Request:
{
"comment": {
"body": "This looks great!"
}
}
Response:
Returns 201 Created with a Location header pointing to the new comment.
PUT /:account_slug/cards/:card_number/comments/:comment_id
Updates a comment. Only the comment creator can update their comments.
| Parameter | Type | Required | Description |
|---|---|---|---|
body |
string | Yes | The updated comment body |
Request:
{
"comment": {
"body": "This looks even better now!"
}
}
Response:
Returns the updated comment.
DELETE /:account_slug/cards/:card_number/comments/:comment_id
Deletes a comment. Only the comment creator can delete their comments.
Response:
Returns 204 No Content on success.