Youtube · JSON Structure

Youtube Data Comment Thread Structure

A commentThread resource contains information about a YouTube comment thread, which comprises a top-level comment and replies.

Type: object Properties: 5 Required: 2
GoogleMediaSocialStreamingVideoVideos

CommentThread is a JSON Structure definition published by Youtube, describing 5 properties, of which 2 are required. It conforms to the https://json-structure.org/draft/2020-12/schema meta-schema.

Properties

kind etag id snippet replies

Meta-schema: https://json-structure.org/draft/2020-12/schema

JSON Structure

Raw ↑
{
  "type": "object",
  "description": "A commentThread resource contains information about a YouTube comment thread, which comprises a top-level comment and replies.",
  "name": "CommentThread",
  "properties": {
    "kind": {
      "type": "string",
      "description": "Identifies the API resource's type. Value is youtube#commentThread."
    },
    "etag": {
      "type": "string",
      "description": "The Etag of this resource."
    },
    "id": {
      "type": "string",
      "description": "The ID that YouTube uses to uniquely identify the comment thread."
    },
    "snippet": {
      "type": "object",
      "description": "The snippet object contains basic details about the comment thread.",
      "properties": {
        "channelId": {
          "type": "string",
          "description": "The YouTube channel that is associated with the comments in the thread."
        },
        "videoId": {
          "type": "string",
          "description": "The ID of the video that the comments refer to."
        },
        "topLevelComment": {
          "type": "object",
          "description": "A comment resource contains information about a single YouTube comment.",
          "properties": {
            "kind": {
              "type": "string",
              "description": "Identifies the API resource's type. Value is youtube#comment."
            },
            "etag": {
              "type": "string",
              "description": "The Etag of this resource."
            },
            "id": {
              "type": "string",
              "description": "The ID that YouTube uses to uniquely identify the comment."
            },
            "snippet": {
              "type": "object",
              "description": "The snippet object contains basic details about the comment.",
              "properties": {
                "textOriginal": {
                  "type": "string",
                  "description": "The original text of the comment as it was initially posted."
                },
                "textDisplay": {
                  "type": "string",
                  "description": "The comment text as displayed to users."
                },
                "authorDisplayName": {
                  "type": "string",
                  "description": "The display name of the user who posted the comment."
                },
                "authorProfileImageUrl": {
                  "type": "string",
                  "description": "The URL for the avatar of the user who posted the comment."
                },
                "authorChannelUrl": {
                  "type": "string",
                  "description": "A link to the YouTube channel of the comment's author."
                },
                "authorChannelId": {
                  "type": "object",
                  "description": "An object that encapsulates information about the comment author's YouTube channel.",
                  "properties": {
                    "value": {
                      "type": "string",
                      "description": "The author's YouTube channel ID."
                    }
                  }
                },
                "likeCount": {
                  "type": "integer",
                  "description": "The total number of likes that the comment has received."
                },
                "viewerRating": {
                  "type": "string",
                  "description": "The rating the viewer has given to this comment. Note that this property does not currently identify dislike ratings."
                },
                "publishedAt": {
                  "type": "datetime",
                  "description": "The date and time when the comment was originally published."
                },
                "updatedAt": {
                  "type": "datetime",
                  "description": "The date and time when the comment was last updated."
                },
                "videoId": {
                  "type": "string",
                  "description": "The ID of the video the comment refers to."
                },
                "parentId": {
                  "type": "string",
                  "description": "The unique ID of the parent comment."
                },
                "canRate": {
                  "type": "boolean",
                  "description": "Indicates whether the current viewer can rate the comment."
                },
                "moderationStatus": {
                  "type": "string",
                  "description": "The comment's moderation status.",
                  "enum": [
                    "heldForReview",
                    "likelySpam",
                    "published",
                    "rejected"
                  ]
                }
              }
            }
          },
          "required": [
            "kind",
            "etag"
          ]
        },
        "canReply": {
          "type": "boolean",
          "description": "Whether the current viewer can reply to the thread."
        },
        "totalReplyCount": {
          "type": "integer",
          "description": "The total number of replies that have been submitted in response to the top-level comment."
        },
        "isPublic": {
          "type": "boolean",
          "description": "Indicates whether the thread, including all of its comments and comment replies, is visible to all YouTube users."
        }
      }
    },
    "replies": {
      "type": "object",
      "description": "The replies object contains a list of replies to the top-level comment.",
      "properties": {
        "comments": {
          "type": "array",
          "description": "A limited number of replies to the top-level comment.",
          "items": {
            "type": "object",
            "description": "A comment resource contains information about a single YouTube comment.",
            "properties": {
              "kind": {
                "type": "string",
                "description": "Identifies the API resource's type. Value is youtube#comment."
              },
              "etag": {
                "type": "string",
                "description": "The Etag of this resource."
              },
              "id": {
                "type": "string",
                "description": "The ID that YouTube uses to uniquely identify the comment."
              },
              "snippet": {
                "type": "object",
                "description": "The snippet object contains basic details about the comment.",
                "properties": {
                  "textOriginal": {
                    "type": "string",
                    "description": "The original text of the comment as it was initially posted."
                  },
                  "textDisplay": {
                    "type": "string",
                    "description": "The comment text as displayed to users."
                  },
                  "authorDisplayName": {
                    "type": "string",
                    "description": "The display name of the user who posted the comment."
                  },
                  "authorProfileImageUrl": {
                    "type": "string",
                    "description": "The URL for the avatar of the user who posted the comment."
                  },
                  "authorChannelUrl": {
                    "type": "string",
                    "description": "A link to the YouTube channel of the comment's author."
                  },
                  "authorChannelId": {
                    "type": "object",
                    "description": "An object that encapsulates information about the comment author's YouTube channel.",
                    "properties": {
                      "value": {
                        "type": "object"
                      }
                    }
                  },
                  "likeCount": {
                    "type": "integer",
                    "description": "The total number of likes that the comment has received."
                  },
                  "viewerRating": {
                    "type": "string",
                    "description": "The rating the viewer has given to this comment. Note that this property does not currently identify dislike ratings."
                  },
                  "publishedAt": {
                    "type": "datetime",
                    "description": "The date and time when the comment was originally published."
                  },
                  "updatedAt": {
                    "type": "datetime",
                    "description": "The date and time when the comment was last updated."
                  },
                  "videoId": {
                    "type": "string",
                    "description": "The ID of the video the comment refers to."
                  },
                  "parentId": {
                    "type": "string",
                    "description": "The unique ID of the parent comment."
                  },
                  "canRate": {
                    "type": "boolean",
                    "description": "Indicates whether the current viewer can rate the comment."
                  },
                  "moderationStatus": {
                    "type": "string",
                    "description": "The comment's moderation status.",
                    "enum": [
                      "heldForReview",
                      "likelySpam",
                      "published",
                      "rejected"
                    ]
                  }
                }
              }
            },
            "required": [
              "kind",
              "etag"
            ]
          }
        }
      }
    }
  },
  "required": [
    "kind",
    "etag"
  ],
  "$schema": "https://json-structure.org/draft/2020-12/schema"
}