{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/optimizely/main/json-schema/optimizely-campaign-comment-response-schema.json",
  "title": "CampaignCommentResponse",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/optimizely-campaigns-api-openapi.yml#/components/schemas/CampaignCommentResponse",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier of the campaign comment"
    },
    "value": {
      "type": "string",
      "description": "Content of the comment"
    },
    "is_resolved": {
      "type": "boolean",
      "description": "Determines if the comment is resolved in Optimizely CMP"
    },
    "parent_comment_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "Unique identifier of the parent comment"
    },
    "comment_by": {
      "type": "string",
      "description": "Unique identifier of the user who posted the comment"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Creation date and time of the campaign comment in ISO 8601 UTC format (2020-02-10T10:40:45Z)"
    },
    "modified_at": {
      "type": "string",
      "format": "date-time",
      "description": "Last modification date and time of the campaign comment in ISO 8601 UTC format (2020-02-10T10:40:45Z)"
    },
    "attachments": {
      "description": "List of attachments of the comment",
      "type": "array",
      "items": {
        "$ref": "#/$defs/AttachmentResponse"
      }
    },
    "links": {
      "type": "object",
      "additionalProperties": false,
      "description": "Meta links",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "URL of the campaign"
        },
        "comment_by": {
          "type": "string",
          "description": "URL of the user who posted the comment"
        }
      },
      "required": [
        "campaign",
        "comment_by"
      ]
    }
  },
  "required": [
    "id",
    "value",
    "is_resolved",
    "parent_comment_id",
    "comment_by",
    "created_at",
    "modified_at",
    "attachments",
    "links"
  ],
  "$defs": {
    "AttachmentResponse": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for the attachment"
        },
        "name": {
          "type": "string",
          "description": "Filename of the attachment"
        },
        "url": {
          "type": "string",
          "description": "Download URL of the attachment"
        }
      },
      "required": [
        "id",
        "name",
        "url"
      ]
    }
  }
}