Comments

Comments allow users to provide feedback, ask questions, and engage in discussions about specific Ideas. These comments serve as a way for users to collaborate and share thoughts on product features a

Comment object

Comments have the following fields

Field
Details

idx string

A unique identifier for the comment

message string

The raw message content of the comment

content array

Structured content as a JSON array (similar to Slate.js/ProseMirror format)

content_html string

Content rendered as HTML

content_markdown string

Content rendered as Markdown

is_private boolean

Indicates if the comment is private (note) or public (comment)

type string

Type of comment (comment or note)

created_at string

The date & time the comment was created (UTC timezone)

updated_at string

The date & time the comment was last updated (UTC timezone)

follower object

Author of this comment

idea_id integer

ID of the associated idea

attachments array

Files and images attached to this comment

Endpoints

You can use the following endpoints to manage Comments

get

Returns a list of comments for a specific idea

Authorizations
Query parameters
idea_idxstringRequired

IDX of the Idea

limitinteger · min: 1 · max: 100Optional

Limits the number of items on a page (min: 1, max: 100)

Default: 20
afterstringOptional

The after cursor - used for pagination

included_typesstringOptional

Specify which types of items to include in the response. Accepts a comma-separated list of types: 'comments,notes'. Default: 'comments'

Default: commentsExample: comments,notes
Responses
200

Returned a list of Comments

application/json
get
/comments
GET /v1/comments?idea_idx=text HTTP/1.1
Host: api.frill.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "idx": "comment_abcd1234",
      "message": "This is a great idea!",
      "content": [
        {
          "type": "paragraph",
          "children": [
            {
              "text": "This is a great idea!"
            }
          ]
        }
      ],
      "content_html": "<p>This is a great idea!</p>",
      "content_markdown": "This is a great idea!",
      "is_private": true,
      "type": "text",
      "created_at": "text",
      "updated_at": "text",
      "follower": {
        "idx": "follower_abcd1234",
        "name": "John Smith",
        "avatar": "https://example.com/example.jpg"
      },
      "idea_id": 1,
      "attachments": [
        {
          "idx": "comment_attachment_abcd1234",
          "name": "screenshot.png",
          "url": "https://cdn.frill.co/files/example.png",
          "type": "image/png",
          "created_at": "text",
          "updated_at": "text"
        }
      ]
    }
  ],
  "pagination": {
    "total": 10,
    "before": "before-cursor",
    "after": "after-cursor"
  }
}
post

Create a new comment for an idea

Authorizations
Body
author_idxstringRequired

IDX of the comment author (follower)

messagestringRequired

Comment message content

idea_idxstringRequired

IDX of the idea to comment on

is_privatebooleanOptional

Whether the comment should be private (note) or public (comment)

Responses
200

Successfully created a new comment

application/json
post
/comments
POST /v1/comments HTTP/1.1
Host: api.frill.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 74

{
  "author_idx": "text",
  "message": "text",
  "idea_idx": "text",
  "is_private": true
}
{
  "data": {
    "idx": "comment_abcd1234",
    "message": "This is a great idea!",
    "content": [
      {
        "type": "paragraph",
        "children": [
          {
            "text": "This is a great idea!"
          }
        ]
      }
    ],
    "content_html": "<p>This is a great idea!</p>",
    "content_markdown": "This is a great idea!",
    "is_private": true,
    "type": "text",
    "created_at": "text",
    "updated_at": "text",
    "follower": {
      "idx": "follower_abcd1234",
      "name": "John Smith",
      "avatar": "https://example.com/example.jpg"
    },
    "idea_id": 1,
    "attachments": [
      {
        "idx": "comment_attachment_abcd1234",
        "name": "screenshot.png",
        "url": "https://cdn.frill.co/files/example.png",
        "type": "image/png",
        "created_at": "text",
        "updated_at": "text"
      }
    ]
  }
}
post

Update an existing comment

Authorizations
Path parameters
commentIdxstringRequired

IDX of the Comment

Body
messagestringRequired

Updated comment message content

Responses
200

Successfully updated comment

application/json
post
/comments/{commentIdx}
POST /v1/comments/{commentIdx} HTTP/1.1
Host: api.frill.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "message": "text"
}
{
  "data": {
    "idx": "comment_abcd1234",
    "message": "This is a great idea!",
    "content": [
      {
        "type": "paragraph",
        "children": [
          {
            "text": "This is a great idea!"
          }
        ]
      }
    ],
    "content_html": "<p>This is a great idea!</p>",
    "content_markdown": "This is a great idea!",
    "is_private": true,
    "type": "text",
    "created_at": "text",
    "updated_at": "text",
    "follower": {
      "idx": "follower_abcd1234",
      "name": "John Smith",
      "avatar": "https://example.com/example.jpg"
    },
    "idea_id": 1,
    "attachments": [
      {
        "idx": "comment_attachment_abcd1234",
        "name": "screenshot.png",
        "url": "https://cdn.frill.co/files/example.png",
        "type": "image/png",
        "created_at": "text",
        "updated_at": "text"
      }
    ]
  }
}
delete

Delete an existing comment

Authorizations
Path parameters
commentIdxstringRequired

IDX of the Comment

Responses
200

Request was successful

application/json
delete
/comments/{commentIdx}
DELETE /v1/comments/{commentIdx} HTTP/1.1
Host: api.frill.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "message": "Request was successful"
}

Last updated