[
    {
        "type": "comment",
        "value": "API Description:\\n----------------\\n\\n  * Our API use a RPC protocol called JSON-RPC over HTTPS\\n  * All calls to our API follow the following URL schema:\\n    https://dev2.pirsonal.com/api?accountID=[ACCOUNT_ID]&accountSecret=[ACCOUNT_SECRET]\\n    \\n    Where ACCOUNT_ID and ACCOUNT_SECRET are the account identifier and secret token provided in the account web page."
    },
    {
        "type": "comment",
        "value": "ERROR CODES"
    },
    {
        "type": "comment",
        "value": "* error: { code: 1000, message: \\\"Template not found\\\", data: templateID}\\n* error: { code: 1001, message: \\\"Media not found\\\", data: mediaID}\\n* error: { code: 1002, message: \\\"MediaID not found in scripts\\\", data: media.inputID}\\n* error: { code: 1003, message: \\\"Inputs not allowed for this template\\\", data: template.videoInputs}\\n* error: { code: 1004, message: \\\"Scripts inputs and medias mismatch\\\"}\\n* error: { code: 1005, message: \\\"Bad script\\\"}\\n* error: { code: 1006, message: \\\"Video file not found\\\", data: pirsonalID}\\n* error: { code: 1007, message: \\\"Video not found\\\", data: videoID}\\n* error: { code: 1008, message: \\\"Media in use in templates\\\", data: templates}\\n* error: { code: 1009, message: \\\"Stored videos size limit reached\\\"}\\n* error: { code: 5000, message: \\\"Internal Error\\\", data: err }"
    },
    {
        "type": "comment",
        "value": "MEDIA UPLOAD\\n------------\\n * URL: https://dev2.pirsonal.com/api/upload?accountID=[ACCOUNT_ID]&accountSecret=[ACCOUNT_SECRET]\\n * MAX UPLOAD SIZE IS: 50000000 bytes\\n * HTTP HEADER [optional]: X-SZN-FILENAME: (max length 200)  \\n * HTTP HEADER [optional]: X-SZN_DESCRIPTION: (max length 1000)\\n * HTTP HEADER: Content-type: (video/* | image/* | audio/*)\\n * HTTP HEADER: Content-lenght: 1 to 50000000"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "Used to remove media assignation",
                "value": "none"
            },
            {
                "comment": "",
                "value": "audio"
            },
            {
                "comment": "",
                "value": "video"
            },
            {
                "comment": "",
                "value": "text"
            },
            {
                "comment": "",
                "value": "image"
            },
            {
                "comment": "",
                "value": "rectangle"
            }
        ],
        "type": "enum",
        "name": "MediaType_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "pirsonal"
            },
            {
                "comment": "",
                "value": "awsS3"
            },
            {
                "comment": "",
                "value": "youtube"
            },
            {
                "value": "sezion",
                "comment": ""
            }
        ],
        "type": "enum",
        "name": "VideoOutputTypes_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "active"
            },
            {
                "comment": "",
                "value": "inactive"
            }
        ],
        "type": "enum",
        "name": "TemplateStatus_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "created"
            },
            {
                "comment": "",
                "value": "queued"
            },
            {
                "comment": "",
                "value": "processing"
            },
            {
                "comment": "",
                "value": "done"
            },
            {
                "comment": "",
                "value": "error"
            },
            {
                "comment": "",
                "value": "deleted"
            }
        ],
        "type": "enum",
        "name": "VideoStatusCode_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "none"
            },
            {
                "comment": "",
                "value": "basic"
            },
            {
                "comment": "",
                "value": "digest"
            }
        ],
        "type": "enum",
        "name": "WebAuth_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "MP4_H264_AAC"
            },
            {
                "comment": "",
                "value": "MPG_MPEG2_MP2"
            },
            {
                "comment": "",
                "value": "OGG_THEORA_VORBIS"
            },
            {
                "comment": "",
                "value": "WEBM_VP8_VORBIS"
            }
        ],
        "type": "enum",
        "name": "VideoFormat_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "audiolevel"
            }
        ],
        "type": "enum",
        "name": "Pattern_type_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "",
                "value": "info"
            },
            {
                "comment": "",
                "value": "one"
            },
            {
                "comment": "",
                "value": "multi"
            }
        ],
        "type": "enum",
        "name": "Pattern_action_t"
    },
    {
        "comment": "",
        "values": [
            {
                "comment": "Email field",
                "value": "email"
            },
            {
                "comment": "Text field",
                "value": "text"
            },
            {
                "comment": "Password field",
                "value": "password"
            }
        ],
        "type": "enum",
        "name": "CTAFormFieldType"
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoResolution_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "width"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "height"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoAspect_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "numerator"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "denominator"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "CTAFormInputField_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "CTAFormFieldType",
                "name": "fieldType"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "fieldName"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "CTAPasswordInputField_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "fieldPlaceholder"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "fieldName"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "CTAForm_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "title"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "CTAFormInputField_t",
                "name": "inputFields"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "required"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "showAtStart"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "showAtEnd"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "CTAPassword_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "title"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "CTAPasswordInputField_t",
                "name": "inputFields"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "secureCode"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "isPasswordProvided"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "buttonText"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoProfile",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoFormat_t",
                "name": "format"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoResolution_t",
                "name": "resolution"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoAspect_t",
                "name": "aspect"
            },
            {
                "comment": "@desc: Example: 1500000 for 1.5Mbps",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "videoBitrate"
            },
            {
                "comment": "@min: 1 @max: 60",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "videoFPS"
            },
            {
                "comment": "@desc: Typecal values are: 11025, 22050, 44100, 48000, 96000",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "audioSampleRate"
            },
            {
                "comment": "@min: 1 @max: 2",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "audioChannels"
            },
            {
                "comment": "@dect: Example 128000 for 128kbps",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "audioBitrate"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "YoutubeOutput_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "id"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "license"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "privacy"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "category"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "keywords"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoOutput_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoOutputTypes_t",
                "name": "type"
            },
            {
                "comment": "@desc: fill only if awsS3 selected",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "awsS3Bucket"
            },
            {
                "comment": "@desc: fill only if youtube selected",
                "optional": true,
                "is_array": false,
                "type": "YoutubeOutput_t",
                "name": "youtube"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "AWSS3_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "bucket"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "key"
            }
        ]
    },
    {
        "comment": "Voice settings for AI Text-To-Speech audio media",
        "extends": "",
        "type": "struct",
        "name": "VoiceSettings_t",
        "fields": [
            {
                "comment": "@desc: TTS provider (elevenlabs, azure, cartesia)",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "provider"
            },
            {
                "comment": "@desc: Voice ID or model voice identifier",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "voiceId"
            },
            {
                "comment": "@desc: Language code",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "language"
            },
            {
                "comment": "@desc: Stability (0.0 - 1.0)",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "stability"
            },
            {
                "comment": "@desc: Similarity boost (0.0 - 1.0)",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "similarityBoost"
            },
            {
                "comment": "@desc: Speed multiplier",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "speed"
            },
            {
                "comment": "@desc: Script template with variable tokens",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "textTemplate"
            },
            {
                "comment": "@desc: Flag indicating whether this audio has been saved to Media Library",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "saveToMediaLibrary"
            },
            {
                "comment": "@desc: The Media Library asset ID for this voiceover",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "savedMediaId"
            },
            {
                "comment": "@desc: The display file name for the saved voiceover",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "savedMediaName"
            }
        ]
    },
    {
        "comment": "@desc: Fill only one of: text, http, pirsonalID or awsS3",
        "extends": "",
        "type": "struct",
        "name": "Media_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "inputID"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "MediaType_t",
                "name": "type"
            },
            {
                "comment": "@maxLenght: 500",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "@desc: Fill only if text media. \\n@maxLenght: 1000 ",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "text"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "http"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "pirsonalID"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "AWSS3_t",
                "name": "awsS3"
            },
            {
                "comment": "@desc: Voice settings for AI Text-To-Speech audio media",
                "optional": true,
                "is_array": false,
                "type": "VoiceSettings_t",
                "name": "voiceSettings"
            },
            {
                "name": "sezionID",
                "type": "string",
                "optional": true,
                "is_array": false,
                "comment": ""
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "PirsonalMedia_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "id"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "MediaType_t",
                "name": "type"
            },
            {
                "comment": "@maxLenght: 500",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "@maxLenght: 1000",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "size"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "temp"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoInputs_t",
        "fields": [
            {
                "comment": "@max: 4",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "audio"
            },
            {
                "comment": "@max: 4",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "video"
            },
            {
                "comment": "@max: 4",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "text"
            },
            {
                "comment": "@max: 4",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "image"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "WebHook_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "url"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "WebAuth_t",
                "name": "auth"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "username"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "password"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "TemplateNew_t",
        "fields": [
            {
                "comment": "@maxLenght: 200",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "@maxLenght: 1000",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "@maxLenght: 200",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "template_type"
            },
            {
                "comment": "@desc: Google Analytics tracking code.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "GATrackingCode"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "WebHook_t",
                "name": "webhook"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "inputScripts"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "outProfiles"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "VideoProfile",
                "name": "customProfiles"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoOutput_t",
                "name": "videoOutput"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "VideoInputs_t",
                "name": "videoInputs"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "Media_t",
                "name": "inputMedias"
            },
            {
                "comment": "@desc: Deduplication mode (virtual, copy, disabled)",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "deduplicationMode"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "updatedAt"
            }
        ]
    },
    {
        "comment": "",
        "extends": "TemplateNew_t",
        "type": "struct",
        "name": "Template_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "id"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "secret"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "date"
            },
            {
                "comment": "@desc: Template analytics",
                "optional": true,
                "is_array": false,
                "type": "TemplateAnalytics_t",
                "name": "analytics"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "TemplateStatus_t",
                "name": "status"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "videosCSV"
            },
            {
                "name": "updatedAt",
                "type": "string",
                "optional": true,
                "is_array": false,
                "comment": ""
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "TemplateUpdate_t",
        "fields": [
            {
                "comment": "@maxLenght: 200",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "@maxLenght: 1000",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "@maxLenght: 200",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "template_type"
            },
            {
                "comment": "@desc: Google Analytics tracking code.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "GATrackingCode"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "WebHook_t",
                "name": "webhook"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "inputScripts"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "outProfiles"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "VideoProfile",
                "name": "customProfiles"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "VideoOutput_t",
                "name": "videoOutput"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "VideoInputs_t",
                "name": "videoInputs"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "Media_t",
                "name": "inputMedias"
            },
            {
                "comment": "@desc: Template analytics",
                "optional": true,
                "is_array": false,
                "type": "TemplateAnalyticsUpdate_t",
                "name": "analyticsInfo"
            },
            {
                "comment": "@desc: Template analytics",
                "optional": true,
                "is_array": false,
                "type": "TemplateAnalytics_t",
                "name": "analytics"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "videosCSV"
            },
            {
                "comment": "@desc: Deduplication mode (virtual, copy, disabled)",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "deduplicationMode"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "updatedAt"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "Variable_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "value"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "Video_t",
        "fields": [
            {
                "comment": "@maxLenght: 500",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "@maxLenght: 1000",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "@desc: Email associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "email"
            },
            {
                "comment": "@desc: Contact first name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "firstName"
            },
            {
                "comment": "@desc: Contact last name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "lastName"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "inputScripts"
            },
            {
                "comment": "@desc: Info to create a player",
                "optional": true,
                "is_array": false,
                "type": "PlayerInfo_t",
                "name": "playerInfo"
            },
            {
                "comment": "@desc: Info to create the Landing Page",
                "optional": true,
                "is_array": false,
                "type": "LandingInfo_t",
                "name": "landingInfo"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "Variable_t",
                "name": "inputVariables"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "Media_t",
                "name": "inputMedias"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "VideoOutput_t",
                "name": "videoOutput"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "keywords"
            },
            {
                "comment": "@maxLenght: 1024 bytes\\n@desc: User attached data to video object. Will be returned by the webhook if set",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "data"
            },
            {
                "comment": "@desc: Deduplication mode (virtual, copy, disabled)",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "deduplicationMode"
            }
        ]
    },
    {
        "comment": "@desc: Only one must be defined",
        "extends": "",
        "type": "struct",
        "name": "VideoStorage_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "pirsonalID"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "AWSS3_t",
                "name": "awsS3"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "youtubeID"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "youtubeAccountID"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoFiles_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "profile"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "size"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "VideoStorage_t",
                "name": "storage"
            },
            {
                "comment": "Video file deleted flag",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "deleted"
            },
            {
                "comment": "Video file purged flag",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "purged"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoStatus_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoStatusCode_t",
                "name": "code"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "error"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "MeasurementController_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "contact"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "privacyPolicyUrl"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "MeasurementRetention_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "consentReceiptDays"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "individualEventDays"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "aggregateRollupDays"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "int",
                "name": "operationalEventDays"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "MeasurementLocalizedCopy_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "locale"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "title"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "introduction"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "MeasurementPolicySnapshot_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "versionID"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "mode"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "provenance"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "resolvedFrom"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "bool",
                "name": "consentRequired"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "bool",
                "name": "aggregateMeasurementAllowed"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "bool",
                "name": "individualMeasurementAllowed"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "defaultLocale"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "copyVersion"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "MeasurementLocalizedCopy_t",
                "name": "copyOverrides"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "purposes"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "MeasurementRetention_t",
                "name": "retention"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "MeasurementController_t",
                "name": "controller"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoInfo_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "credits"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "template_type"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "template_media"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "email"
            },
            {
                "comment": "@desc: Contact first name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "firstName"
            },
            {
                "comment": "@desc: Contact last name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "lastName"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "id"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "duration"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "VideoStatus_t",
                "name": "status"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "procTime"
            },
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "date"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "Variable_t",
                "name": "inputVariables"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": true,
                "type": "VideoFiles_t",
                "name": "outFiles"
            },
            {
                "comment": "@desc: comma separated values\\n@maxLenght: 50",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "keywords"
            },
            {
                "comment": "@desc: Info to create the Landing Page",
                "optional": true,
                "is_array": false,
                "type": "LandingInfo_t",
                "name": "landingInfo"
            },
            {
                "comment": "@desc: Info to create a player",
                "optional": true,
                "is_array": false,
                "type": "PlayerInfo_t",
                "name": "playerInfo"
            },
            {
                "comment": "@desc: Video analytics",
                "optional": true,
                "is_array": false,
                "type": "VideoAnalytics_t",
                "name": "analytics"
            },
            {
                "comment": "@maxLenght: 1024 bytes\\n@desc: User attached data to video object. Will be returned by the webhook if set",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "data"
            },
            {
                "comment": "@maxLenght: 1024 bytes\\n@desc: User form data for video object",
                "optional": true,
                "is_array": true,
                "type": "string",
                "name": "formData"
            },
            {
                "comment": "@desc: Google Analytics tracking code.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "GATrackingCode"
            },
            {
                "comment": "@desc: Effective privacy-aware measurement policy for this video.",
                "optional": true,
                "is_array": false,
                "type": "MeasurementPolicySnapshot_t",
                "name": "measurementPolicy"
            },
            {
                "comment": "@desc: remove pirsonal logo.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "poweredbyPirsonalLogo"
            },
            {
                "comment": "@desc: allow input medias too.",
                "optional": true,
                "is_array": true,
                "type": "Media_t",
                "name": "inputMedias"
            },
            {
                "comment": "@desc: Short URL for SMS marketing and quick sharing.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "shortUrl"
            },
            {
                "comment": "@desc: Custom brand subdomain access flag.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "subdomainLandingAccess"
            },
            {
                "comment": "@desc: Custom brand subdomain.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "landingSubdomain"
            },
            {
                "comment": "@desc: Custom CNAME landing domain access flag.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "cnameLandingAccess"
            },
            {
                "comment": "@desc: Custom CNAME landing domain.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "landingCname"
            },
            {
                "comment": "@desc: Custom CNAME landing domain status.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "landingCnameStatus"
            },
            {
                "comment": "@desc: Video files purged flag.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "filesPurged"
            },
            {
                "comment": "@desc: Video purge timestamp.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "purgedAt"
            },
            {
                "comment": "@desc: Deduplication content hash.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "contentHash"
            },
            {
                "comment": "@desc: Source video ID if deduplicated.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "deduplicatedFrom"
            },
            {
                "comment": "@desc: Video deduplication flag.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "isDeduplicated"
            },
            {
                "comment": "@desc: Virtual deduplication flag.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "isVirtualDeduplication"
            },
            {
                "comment": "@desc: Deduplication mode.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "deduplicationMode"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "LandingInfo_t",
        "fields": [
            {
                "comment": "Landing Page Logo Image",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "logoImageUrl"
            },
            {
                "comment": "Landing Page Banner Image",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "bannerImageUrl"
            },
            {
                "comment": "Embed any external application within the landing page.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "embedIframeUrl"
            },
            {
                "comment": "Brand subdomain for custom landing page.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "subdomain"
            },
            {
                "comment": "Brand custom CNAME for landing page.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "cname"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "PlayerInfo_t",
        "fields": [
            {
                "comment": "Video URL of videos hosted in Pirsonal, YouTube or Amazon S3.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "videoUrl"
            },
            {
                "comment": "@desc: Custom user form definition.",
                "optional": true,
                "is_array": false,
                "type": "CTAForm_t",
                "name": "CTAForm"
            },
            {
                "comment": "@desc: Custom user password definition.",
                "optional": true,
                "is_array": false,
                "type": "CTAPassword_t",
                "name": "CTAPassword"
            },
            {
                "comment": "@desc: CTA type. Must be one of [text,html]",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "CTAType"
            },
            {
                "comment": "@desc: Custom HTML (upto 5000 characters) to be used as CTA content. Cannot contain Javascript",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "CTACustomHTML"
            },
            {
                "comment": "Main Call to Action text",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "CTABodyText"
            },
            {
                "comment": "Text displayed at the button of the CTA of a video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "CTAButtonText"
            },
            {
                "comment": "CTA Button URL: The URL that will be added to the button of a personalized video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "CTAButtonUrl"
            },
            {
                "comment": "CTA Start Time: Time (in seconds) when the CTA should be shown.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAStartTime"
            },
            {
                "comment": "CTA End Time: Time (in seconds) when the CTA should be hidden.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAEndTime"
            },
            {
                "comment": "Shows CTA when CTA icon (...) is clicked by the user.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAOpenOnClick"
            },
            {
                "comment": "Shows CTA when user pauses the video.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAShowOnPause"
            },
            {
                "comment": "Pauses video automatically when user clicks on show CTA.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAPauseOnShow"
            },
            {
                "comment": "Shows CTA when the video starts.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAShowAtStart"
            },
            {
                "comment": "Shows CTA when the video ends.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAShowAtEnd"
            },
            {
                "comment": "Allows user to close the CTA.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "CTAAllowClose"
            },
            {
                "comment": "Allows user to auto play video.",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "autoPlay"
            },
            {
                "comment": "@desc: Duration (in seconds) for which CTA is shown. Should be set only if CTAAllowClose is false.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTADuration"
            },
            {
                "comment": "Thumbnail: The image that will be used as a thumbnail of a video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "thumbnail"
            },
            {
                "comment": "Allows user to add custom css on player page.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "customCss"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoAnalytics_t",
        "fields": [
            {
                "comment": "Amount of times a video has been played",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "plays"
            },
            {
                "comment": "Viewing percentage of a video. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "engagementRate"
            },
            {
                "comment": "Amount of clicks of the Call to Action (CTA) button.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTALinkClicks"
            },
            {
                "comment": "Amount of clicks of the Call to Action (CTA) icon.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAIconClicks"
            },
            {
                "comment": "Number of times the Call to Action (CTA) content is shown.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentShow"
            },
            {
                "comment": "Number of times the Call to Action (CTA) content is hidden.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentHide"
            },
            {
                "comment": "Percentage of Call to Action (CTA) button clicks generated in a video. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "CTALinkClickRate"
            },
            {
                "comment": "Percentage of Call to Action (CTA) button clicks generated in a video. 0-100",
                "optional": true,
                "is_array": true,
                "type": "playDetails_t",
                "name": "playDetails"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "playDetails_t",
        "fields": [
            {
                "comment": "Analytics date",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "date"
            },
            {
                "comment": "Analytics requestTime",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "requestTime"
            },
            {
                "comment": "Analytics deviceInformation",
                "optional": true,
                "is_array": false,
                "type": "deviceInformation_t",
                "name": "deviceInformation"
            },
            {
                "comment": "Analytics locationInformation",
                "optional": true,
                "is_array": false,
                "type": "locationInformation_t",
                "name": "locationInformation"
            },
            {
                "comment": "ID",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "_id"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "deviceInformation_t",
        "fields": [
            {
                "comment": "Analytics browser",
                "optional": true,
                "is_array": false,
                "type": "browser_t",
                "name": "browser"
            },
            {
                "comment": "Analytics engine",
                "optional": true,
                "is_array": false,
                "type": "engine_t",
                "name": "engine"
            },
            {
                "comment": "Analytics OS",
                "optional": true,
                "is_array": false,
                "type": "os_t",
                "name": "os"
            },
            {
                "comment": "Analytics device",
                "optional": true,
                "is_array": false,
                "type": "device_t",
                "name": "device"
            },
            {
                "comment": "Analytics CPU",
                "optional": true,
                "is_array": false,
                "type": "cpu_t",
                "name": "cpu"
            },
            {
                "comment": "Analytics UA",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "ua"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "browser_t",
        "fields": [
            {
                "comment": "name",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "version",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "version"
            },
            {
                "comment": "major",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "major"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "engine_t",
        "fields": [
            {
                "comment": "name",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "version",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "version"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "os_t",
        "fields": [
            {
                "comment": "name",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "version",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "version"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "device_t",
        "fields": [
            {
                "comment": "vendor",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "vendor"
            },
            {
                "comment": "model",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "model"
            },
            {
                "comment": "type",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "type"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "cpu_t",
        "fields": [
            {
                "comment": "architecture",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "architecture"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "locationInformation_t",
        "fields": [
            {
                "comment": "Analytics country",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "country"
            },
            {
                "comment": "Analytics region",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "region"
            },
            {
                "comment": "EU region",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "eu"
            },
            {
                "comment": "timezone",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "timezone"
            },
            {
                "comment": "area",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "area"
            },
            {
                "comment": "Analytics city",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "city"
            },
            {
                "comment": "Analytics metro",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "metro"
            },
            {
                "comment": "Analytics zip",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "zip"
            },
            {
                "comment": "Analytics range",
                "optional": true,
                "is_array": true,
                "type": "int",
                "name": "range"
            },
            {
                "comment": "Analytics ll",
                "optional": true,
                "is_array": true,
                "type": "float",
                "name": "ll"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "TemplateAnalytics_t",
        "fields": [
            {
                "comment": "Amount of times any video in a template has been played",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "plays"
            },
            {
                "comment": "Viewing percentage of a template. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "engagementRate"
            },
            {
                "comment": "Amount of clicks of the Call to Action (CTA) button.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTALinkClicks"
            },
            {
                "comment": "Amount of clicks of the Call to Action (CTA) icon.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAIconClicks"
            },
            {
                "comment": "Number of times the Call to Action (CTA) content is shown.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentShow"
            },
            {
                "comment": "Number of times the Call to Action (CTA) content is hidden.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentHide"
            },
            {
                "comment": "Percentage of Call to Action (CTA) button clicks generated in a template. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "CTALinkClickRate"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoAnalyticsUpdate_t",
        "fields": [
            {
                "comment": " If the video was played (at least a piece)",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "played"
            },
            {
                "comment": "Viewing percentage of the video. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "engagementRate"
            },
            {
                "comment": "if the user click in the Call to Action (CTA) button.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTALinkClicked"
            },
            {
                "comment": "if the user click in the Call to Action (CTA) icon.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAIconClicked"
            },
            {
                "comment": "if the the Call to Action (CTA) content is shown to the user.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentShown"
            },
            {
                "comment": "if the the Call to Action (CTA) content is hidden by the user.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentHidden"
            },
            {
                "comment": "Percentage of Call to Action (CTA) button clicks generated in a video. 0-100",
                "optional": true,
                "is_array": true,
                "type": "playDetails_t",
                "name": "playDetails"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "TemplateAnalyticsUpdate_t",
        "fields": [
            {
                "comment": " If a video in a template was played (at least a piece)",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "played"
            },
            {
                "comment": "Viewing percentage of all videos in a template. 0-100",
                "optional": true,
                "is_array": false,
                "type": "float",
                "name": "engagementRate"
            },
            {
                "comment": "if the user click in the Call to Action (CTA) button.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTALinkClicked"
            },
            {
                "comment": "if the user click in the Call to Action (CTA) icon.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAIconClicked"
            },
            {
                "comment": "if the the Call to Action (CTA) content is shown to the user.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentShown"
            },
            {
                "comment": "if the the Call to Action (CTA) content is hidden by the user.",
                "optional": true,
                "is_array": false,
                "type": "int",
                "name": "CTAContentHidden"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "YoutubeMetaData_t",
        "fields": [
            {
                "comment": "@desc: creativeCommon or youtube",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "license"
            },
            {
                "comment": "@desc: private,public or unlisted",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "privacy"
            },
            {
                "comment": "@desc: check https://developers.google.com/youtube/v3/docs/videoCategories/list",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "category"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoMetaData_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "@desc: comma separated values\\n@maxLenght: 50",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "keywords"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "data"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "YoutubeMetaData_t",
                "name": "youtube"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoUpdate_t",
        "fields": [
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "name"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "description"
            },
            {
                "comment": "@desc: Contact first name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "firstName"
            },
            {
                "comment": "@desc: Contact last name associated to the created video.",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "lastName"
            },
            {
                "comment": "@desc: comma separated values\\n@maxLenght: 50",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "keywords"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "data"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "formData"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "YoutubeMetaData_t",
                "name": "youtube"
            },
            {
                "comment": "@desc: Info to create the Landing Page",
                "optional": true,
                "is_array": false,
                "type": "LandingInfo_t",
                "name": "landingInfo"
            },
            {
                "comment": "@desc: Info to create a player",
                "optional": true,
                "is_array": false,
                "type": "PlayerInfo_t",
                "name": "playerInfo"
            },
            {
                "comment": "@desc: Video analytics",
                "optional": true,
                "is_array": false,
                "type": "VideoAnalyticsUpdate_t",
                "name": "analyticsInfo"
            }
        ]
    },
    {
        "comment": "",
        "extends": "",
        "type": "struct",
        "name": "VideoLink_t",
        "fields": [
            {
                "comment": "",
                "optional": false,
                "is_array": false,
                "type": "string",
                "name": "id"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "profile"
            },
            {
                "comment": "",
                "optional": true,
                "is_array": false,
                "type": "string",
                "name": "url"
            },
            {
                "comment": "Video file deleted flag",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "deleted"
            },
            {
                "comment": "Video file purged flag",
                "optional": true,
                "is_array": false,
                "type": "bool",
                "name": "purged"
            }
        ]
    },
    {
        "comment": "",
        "functions": [
            {
                "comment": "@desc: Creates a new Template @return: the template ID",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "TemplateNew_t",
                        "name": "template"
                    }
                ],
                "name": "Template_New"
            },
            {
                "comment": "@desc: Modifies an existing template @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "templateID"
                    },
                    {
                        "is_array": false,
                        "type": "TemplateUpdate_t",
                        "name": "update"
                    }
                ],
                "name": "Template_Update"
            },
            {
                "comment": "@desc: Changes the status of an existing template @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "templateID"
                    },
                    {
                        "is_array": false,
                        "type": "TemplateStatus_t",
                        "name": "status"
                    }
                ],
                "name": "Template_SetStatus"
            },
            {
                "comment": "@desc: Removes an existing template. If removeExternalFiles deletes external videos too (ie: youtube) @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "templateID"
                    },
                    {
                        "is_array": false,
                        "type": "bool",
                        "name": "removeExternalFiles"
                    }
                ],
                "name": "Template_Delete"
            },
            {
                "comment": "@desc: Returns all templates associated with an account @return: An array with all the templates",
                "returns": {
                    "optional": false,
                    "is_array": true,
                    "type": "Template_t"
                },
                "params": [],
                "name": "Template_List"
            },
            {
                "comment": "@desc: Assings a Media with an script variable within a Template @return: \"OK\" Template_Media_Assign (templateID string, media Media_t)                         string @desc: Creates a new Video from a template @return:  the video ID",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "templateID"
                    },
                    {
                        "is_array": false,
                        "type": "Video_t",
                        "name": "video"
                    }
                ],
                "name": "Template_Video_New"
            },
            {
                "comment": "@desc: Returns an array of videos created with a template @return: An array with the videos",
                "returns": {
                    "optional": false,
                    "is_array": true,
                    "type": "VideoInfo_t"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "templateID"
                    }
                ],
                "name": "Template_Video_List"
            },
            {
                "comment": "@desc: Returns the video info request by videoID @return: A video",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "VideoInfo_t"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    }
                ],
                "name": "Video_Get"
            },
            {
                "comment": "@desc: Issues a short-lived, scoped token for Player measurement events.",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    },
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "source"
                    }
                ],
                "name": "Measurement_Token_Issue"
            },
            {
                "comment": "@desc: Removes a video from an account. If removeFiles deletes external videos too (ie: youtube) @returns: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    },
                    {
                        "is_array": false,
                        "type": "bool",
                        "name": "removeFiles"
                    }
                ],
                "name": "Video_Delete"
            },
            {
                "comment": "@desc: Returns the link to download a video stored in Pirsonal @return: id and link of the video",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "VideoLink_t"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    },
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "pirsonalID"
                    }
                ],
                "name": "Video_Pirsonal_Link"
            },
            {
                "comment": "@desc: Returns array with all the links to download a video @return: array with video links",
                "returns": {
                    "optional": false,
                    "is_array": true,
                    "type": "VideoLink_t"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    }
                ],
                "name": "Video_Get_Links"
            },
            {
                "comment": "@desc: Update video metadata, also in youtube if available @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    },
                    {
                        "is_array": false,
                        "type": "VideoMetaData_t",
                        "name": "metaData"
                    }
                ],
                "name": "Video_Update_Metadata"
            },
            {
                "comment": "@desc: Update video info @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "videoID"
                    },
                    {
                        "is_array": false,
                        "type": "VideoUpdate_t",
                        "name": "videoUpdate"
                    }
                ],
                "name": "Video_Update"
            },
            {
                "comment": "@desc: Returns an array of medias associated with the account @return: An array with the medias",
                "returns": {
                    "optional": false,
                    "is_array": true,
                    "type": "PirsonalMedia_t"
                },
                "params": [],
                "name": "Media_List"
            },
            {
                "comment": "@desc: Removes a media associated the the account @return: \"OK\"",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "mediaID"
                    }
                ],
                "name": "Media_Delete"
            },
            {
                "comment": "@desc: Apply a pattern to a media. Parameter for audiolevel are JSON.stringify({threshold: value}) @return: \"OK or JSON Error\"       ",
                "returns": {
                    "optional": false,
                    "is_array": false,
                    "type": "string"
                },
                "params": [
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "mediaID"
                    },
                    {
                        "is_array": false,
                        "type": "Pattern_type_t",
                        "name": "patter"
                    },
                    {
                        "is_array": false,
                        "type": "Pattern_action_t",
                        "name": "action"
                    },
                    {
                        "is_array": false,
                        "type": "string",
                        "name": "parameters"
                    }
                ],
                "name": "Media_Apply_Pattern"
            }
        ],
        "type": "interface",
        "name": "PirsonalAPI"
    },
    {
        "barrister_version": "0.1.6",
        "type": "meta",
        "date_generated": 1574280840869,
        "checksum": "30597446359791e9c2b5d1f3f763f440"
    }
]