{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/zoho/main/json-schema/zoho-email-thread-response-json-schema.json", "title": "emailThreadResponseJson", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/zoho-thread-api-openapi.yml#/components/schemas/emailThreadResponseJson", "type": [ "null", "object" ], "additionalProperties": false, "properties": { "isDescriptionThread": { "type": [ "boolean", "null" ] }, "bcc": { "type": [ "string", "null" ], "maxLength": 13000, "minLength": 0, "pattern": "(^((.*?)((<)*?[a-zA-Z0-9]([\\w\\-.+]*)@([\\w\\-.]*)(\\.[a-zA-Z]{2,22}(.[a-zA-Z]{2}){0,2})(>)*?(\\s)*((,|;)\\s*)?))+|^$)" }, "attachments": { "$ref": "./Thread.json#/components/schemas/attachments" }, "isContentTruncated": { "type": [ "boolean", "null" ] }, "canReply": { "type": [ "boolean", "null" ] }, "channel": { "type": [ "string", "null" ], "enum": [ "EMAIL" ], "maxLength": 100, "minLength": 0 }, "source": { "$ref": "./Thread.json#/components/schemas/channelSource" }, "content": { "type": [ "string", "null" ], "maxLength": 16000000, "minLength": 0 }, "impersonatedUser": { "$ref": "./Thread.json#/components/schemas/author" }, "channelRelatedInfo": { "$ref": "./Thread.json#/components/schemas/channelRelatedInfo" }, "createdTime": { "type": [ "string", "null" ], "maxLength": 100, "minLength": 0, "pattern": "(((19|20)\\d\\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\\d]{0,3})?(Z))" }, "id": { "type": [ "string", "null", "integer" ], "format": "int64", "pattern": "([0-9]+)" }, "contentType": { "type": [ "string", "null" ], "enum": [ "text/plain", "text/html" ], "maxLength": 100, "minLength": 0 }, "direction": { "type": [ "string", "null" ], "enum": [ "in", "out" ], "maxLength": 100, "minLength": 0 }, "cc": { "type": [ "string", "null" ], "maxLength": 13000, "minLength": 0, "pattern": "(^((.*?)((<)*?[a-zA-Z0-9]([\\w\\-.+]*)@([\\w\\-.]*)(\\.[a-zA-Z]{2,22}(.[a-zA-Z]{2}){0,2})(>)*?(\\s)*((,|;)\\s*)?))+|^$)" }, "summary": { "type": [ "string", "null" ], "maxLength": 100, "minLength": 0, "pattern": "(^([a-zA-Z0-9\\s\\.\\?\\_\\-\\,])*$|null|undefined)" }, "visibility": { "type": [ "string", "null" ], "enum": [ "public", "private" ], "maxLength": 100, "minLength": 0 }, "author": { "$ref": "./Thread.json#/components/schemas/author" }, "fullContentURL": { "type": [ "string", "null" ], "maxLength": 100, "minLength": 0, "pattern": "(^(ht|f)tp(s?)\\://[-.\\w]*(/?)([a-zA-Z0-9\\-\\.\\?\\,\\:\\'/\\\\+=&%\\$#_@]*)?$)" }, "isForward": { "type": [ "boolean", "null" ] }, "hasAttach": { "type": [ "boolean", "null" ] }, "responderId": { "type": [ "string", "null", "integer" ], "format": "int64", "pattern": "([0-9]+)" }, "replyTo": { "type": [ "string", "null" ], "maxLength": 13000, "minLength": 0, "pattern": "(^((.*?)((<)*?[a-zA-Z0-9]([\\w\\-.+]*)@([\\w\\-.]*)(\\.[a-zA-Z]{2,22}(.[a-zA-Z]{2}){0,2})(>)*?(\\s)*((,|;)\\s*)?))+|^$)" }, "attachmentCount": { "type": [ "string", "null", "integer" ], "format": "int64", "pattern": "([0-9]+)" }, "readReceipts": { "$ref": "./Thread.json#/components/schemas/readReceipts" }, "to": { "type": [ "string", "null" ], "maxLength": 13000, "minLength": 0, "pattern": "(^((.*?)((<)*?[a-zA-Z0-9]([\\w\\-.+]*)@([\\w\\-.]*)(\\.[a-zA-Z]{2,22}(.[a-zA-Z]{2}){0,2})(>)*?(\\s)*((,|;)\\s*)?))+|^$)" }, "fromEmailAddress": { "type": [ "string", "null" ], "maxLength": 300, "minLength": 0, "pattern": "^[a-zA-Z0-9\\_]([a-zA-Z0-9\\_\\+\\-\\.\\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\\-\\_]*[a-zA-Z0-9])*)[\\.])+[a-zA-Z]{2,22}$" }, "actions": { "$ref": "./Thread.json#/components/schemas/actionsList" }, "status": { "type": [ "string", "null" ], "enum": [ "SUCCESS", "PENDING", "FAILED", "DRAFT" ], "maxLength": 100, "minLength": 0 } }, "required": [ "actions", "attachmentCount", "attachments", "author", "bcc", "canReply", "cc", "channel", "channelRelatedInfo", "content", "contentType", "createdTime", "direction", "fromEmailAddress", "fullContentURL", "hasAttach", "id", "impersonatedUser", "isContentTruncated", "isDescriptionThread", "isForward", "readReceipts", "replyTo", "responderId", "source", "status", "summary", "to", "visibility" ] }