{"openapi":"3.1.0","info":{"title":"Pirsonal Video API","version":"3.0.0","description":"Official API Specification for the Pirsonal Dynamic Video Generation & Media Engine (16 Barrister JSON-RPC Methods + Direct Binary Upload).","contact":{"name":"Pirsonal Developer Support","url":"https://pirsonal.com","email":"support@pirsonal.com"}},"servers":[{"url":"https://app.pirsonal.com","description":"Production Server"},{"url":"https://dev2.pirsonal.com","description":"Development & Sandbox Server"}],"components":{"securitySchemes":{"accountSecretQuery":{"type":"apiKey","in":"query","name":"accountSecret","description":"Account Secret Key query parameter"},"accountIDQuery":{"type":"apiKey","in":"query","name":"accountID","description":"Account Identifier query parameter"},"basicAuth":{"type":"http","scheme":"basic","description":"HTTP Basic Authentication for webhook deliveries and authorized endpoints"}},"schemas":{"MediaType_t":{"type":"string","description":"","enum":["none","audio","video","text","image","rectangle"]},"VideoOutputTypes_t":{"type":"string","description":"","enum":["pirsonal","awsS3","youtube","sezion"]},"TemplateStatus_t":{"type":"string","description":"","enum":["active","inactive"]},"VideoStatusCode_t":{"type":"string","description":"","enum":["created","queued","processing","done","error","deleted"]},"WebAuth_t":{"type":"string","description":"","enum":["none","basic","digest"]},"VideoFormat_t":{"type":"string","description":"","enum":["MP4_H264_AAC","MPG_MPEG2_MP2","OGG_THEORA_VORBIS","WEBM_VP8_VORBIS"]},"Pattern_type_t":{"type":"string","description":"","enum":["audiolevel"]},"Pattern_action_t":{"type":"string","description":"","enum":["info","one","multi"]},"CTAFormFieldType":{"type":"string","description":"","enum":["email","text","password"]},"VideoResolution_t":{"type":"object","description":"","properties":{"width":{"type":"integer"},"height":{"type":"integer"}},"additionalProperties":false,"required":["width","height"]},"VideoAspect_t":{"type":"object","description":"","properties":{"numerator":{"type":"integer"},"denominator":{"type":"integer"}},"additionalProperties":false,"required":["numerator","denominator"]},"CTAFormInputField_t":{"type":"object","description":"","properties":{"fieldType":{"type":"string","enum":["email","text","password"]},"fieldName":{"type":"string"}},"additionalProperties":false,"required":["fieldType","fieldName"]},"CTAPasswordInputField_t":{"type":"object","description":"","properties":{"fieldPlaceholder":{"type":"string"},"fieldName":{"type":"string"}},"additionalProperties":false,"required":["fieldPlaceholder","fieldName"]},"CTAForm_t":{"type":"object","description":"","properties":{"title":{"type":"string"},"description":{"type":"string"},"inputFields":{"type":"array","items":{"$ref":"#/components/schemas/CTAFormInputField_t"}},"required":{"type":"boolean"},"showAtStart":{"type":"boolean"},"showAtEnd":{"type":"boolean"}},"additionalProperties":false},"CTAPassword_t":{"type":"object","description":"","properties":{"title":{"type":"string"},"description":{"type":"string"},"inputFields":{"type":"array","items":{"$ref":"#/components/schemas/CTAPasswordInputField_t"}},"secureCode":{"type":"string"},"isPasswordProvided":{"type":"boolean"},"buttonText":{"type":"string"}},"additionalProperties":false},"VideoProfile":{"type":"object","description":"","properties":{"name":{"type":"string"},"format":{"type":"string","enum":["MP4_H264_AAC","MPG_MPEG2_MP2","OGG_THEORA_VORBIS","WEBM_VP8_VORBIS"]},"resolution":{"$ref":"#/components/schemas/VideoResolution_t"},"aspect":{"$ref":"#/components/schemas/VideoAspect_t"},"videoBitrate":{"type":"integer","description":"@desc: Example: 1500000 for 1.5Mbps"},"videoFPS":{"type":"integer","description":"@min: 1 @max: 60"},"audioSampleRate":{"type":"integer","description":"@desc: Typecal values are: 11025, 22050, 44100, 48000, 96000"},"audioChannels":{"type":"integer","description":"@min: 1 @max: 2"},"audioBitrate":{"type":"integer","description":"@dect: Example 128000 for 128kbps"}},"additionalProperties":false,"required":["name","format","resolution","aspect","videoBitrate","videoFPS","audioSampleRate","audioChannels","audioBitrate"]},"YoutubeOutput_t":{"type":"object","description":"","properties":{"id":{"type":"string"},"license":{"type":"string"},"privacy":{"type":"string"},"category":{"type":"string"},"keywords":{"type":"string"}},"additionalProperties":false,"required":["id","license","privacy","category"]},"VideoOutput_t":{"type":"object","description":"","properties":{"type":{"type":"string","enum":["pirsonal","awsS3","youtube","sezion"]},"awsS3Bucket":{"type":"string","description":"@desc: fill only if awsS3 selected"},"youtube":{"$ref":"#/components/schemas/YoutubeOutput_t","description":"@desc: fill only if youtube selected"}},"additionalProperties":false,"required":["type"]},"AWSS3_t":{"type":"object","description":"","properties":{"bucket":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false,"required":["bucket","key"]},"VoiceSettings_t":{"type":"object","description":"Voice settings for AI Text-To-Speech audio media","properties":{"provider":{"type":"string","description":"@desc: TTS provider (elevenlabs, azure, cartesia)"},"voiceId":{"type":"string","description":"@desc: Voice ID or model voice identifier"},"language":{"type":"string","description":"@desc: Language code"},"stability":{"type":"number","format":"float","description":"@desc: Stability (0.0 - 1.0)"},"similarityBoost":{"type":"number","format":"float","description":"@desc: Similarity boost (0.0 - 1.0)"},"speed":{"type":"number","format":"float","description":"@desc: Speed multiplier"},"textTemplate":{"type":"string","description":"@desc: Script template with variable tokens"},"saveToMediaLibrary":{"type":"boolean","description":"@desc: Flag indicating whether this audio has been saved to Media Library"},"savedMediaId":{"type":"string","description":"@desc: The Media Library asset ID for this voiceover"},"savedMediaName":{"type":"string","description":"@desc: The display file name for the saved voiceover"}},"additionalProperties":false},"Media_t":{"type":"object","description":"@desc: Fill only one of: text, http, pirsonalID or awsS3","properties":{"inputID":{"type":"string"},"type":{"type":"string","enum":["none","audio","video","text","image","rectangle"]},"name":{"type":"string","description":"@maxLenght: 500"},"text":{"type":"string","description":"@desc: Fill only if text media. \\n@maxLenght: 1000 "},"http":{"type":"string"},"pirsonalID":{"type":"string"},"awsS3":{"$ref":"#/components/schemas/AWSS3_t"},"voiceSettings":{"$ref":"#/components/schemas/VoiceSettings_t","description":"@desc: Voice settings for AI Text-To-Speech audio media"},"sezionID":{"type":"string"}},"additionalProperties":false,"required":["inputID","type"]},"PirsonalMedia_t":{"type":"object","description":"","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["none","audio","video","text","image","rectangle"]},"name":{"type":"string","description":"@maxLenght: 500"},"description":{"type":"string","description":"@maxLenght: 1000"},"size":{"type":"integer"},"temp":{"type":"boolean"}},"additionalProperties":false,"required":["id","type"]},"VideoInputs_t":{"type":"object","description":"","properties":{"audio":{"type":"integer","description":"@max: 4"},"video":{"type":"integer","description":"@max: 4"},"text":{"type":"integer","description":"@max: 4"},"image":{"type":"integer","description":"@max: 4"}},"additionalProperties":false,"required":["audio","video","text","image"]},"WebHook_t":{"type":"object","description":"","properties":{"url":{"type":"string"},"auth":{"type":"string","enum":["none","basic","digest"]},"username":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false,"required":["auth"]},"TemplateNew_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"@maxLenght: 200"},"description":{"type":"string","description":"@maxLenght: 1000"},"template_type":{"type":"string","description":"@maxLenght: 200"},"GATrackingCode":{"type":"string","description":"@desc: Google Analytics tracking code."},"webhook":{"$ref":"#/components/schemas/WebHook_t"},"inputScripts":{"type":"array","items":{"type":"string"}},"outProfiles":{"type":"array","items":{"type":"string"}},"customProfiles":{"type":"array","items":{"$ref":"#/components/schemas/VideoProfile"}},"videoOutput":{"$ref":"#/components/schemas/VideoOutput_t"},"videoInputs":{"$ref":"#/components/schemas/VideoInputs_t"},"inputMedias":{"type":"array","items":{"$ref":"#/components/schemas/Media_t"}},"deduplicationMode":{"type":"string","description":"@desc: Deduplication mode (virtual, copy, disabled)"},"updatedAt":{"type":"string"}},"additionalProperties":false,"required":["name","videoOutput"]},"Template_t":{"type":"object","description":"Inherits from TemplateNew_t","properties":{"name":{"type":"string","description":"@maxLenght: 200"},"description":{"type":"string","description":"@maxLenght: 1000"},"template_type":{"type":"string","description":"@maxLenght: 200"},"GATrackingCode":{"type":"string","description":"@desc: Google Analytics tracking code."},"webhook":{"$ref":"#/components/schemas/WebHook_t"},"inputScripts":{"type":"array","items":{"type":"string"}},"outProfiles":{"type":"array","items":{"type":"string"}},"customProfiles":{"type":"array","items":{"$ref":"#/components/schemas/VideoProfile"}},"videoOutput":{"$ref":"#/components/schemas/VideoOutput_t"},"videoInputs":{"$ref":"#/components/schemas/VideoInputs_t"},"inputMedias":{"type":"array","items":{"$ref":"#/components/schemas/Media_t"}},"deduplicationMode":{"type":"string","description":"@desc: Deduplication mode (virtual, copy, disabled)"},"updatedAt":{"type":"string"},"id":{"type":"string"},"secret":{"type":"string"},"date":{"type":"string"},"analytics":{"$ref":"#/components/schemas/TemplateAnalytics_t","description":"@desc: Template analytics"},"status":{"type":"string","enum":["active","inactive"]},"videosCSV":{"type":"integer"}},"additionalProperties":false,"required":["name","videoOutput","id","secret","date","status"]},"TemplateUpdate_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"@maxLenght: 200"},"description":{"type":"string","description":"@maxLenght: 1000"},"template_type":{"type":"string","description":"@maxLenght: 200"},"GATrackingCode":{"type":"string","description":"@desc: Google Analytics tracking code."},"webhook":{"$ref":"#/components/schemas/WebHook_t"},"inputScripts":{"type":"array","items":{"type":"string"}},"outProfiles":{"type":"array","items":{"type":"string"}},"customProfiles":{"type":"array","items":{"$ref":"#/components/schemas/VideoProfile"}},"videoOutput":{"$ref":"#/components/schemas/VideoOutput_t"},"videoInputs":{"$ref":"#/components/schemas/VideoInputs_t"},"inputMedias":{"type":"array","items":{"$ref":"#/components/schemas/Media_t"}},"analyticsInfo":{"$ref":"#/components/schemas/TemplateAnalyticsUpdate_t","description":"@desc: Template analytics"},"analytics":{"$ref":"#/components/schemas/TemplateAnalytics_t","description":"@desc: Template analytics"},"videosCSV":{"type":"integer"},"deduplicationMode":{"type":"string","description":"@desc: Deduplication mode (virtual, copy, disabled)"},"updatedAt":{"type":"string"}},"additionalProperties":false},"Variable_t":{"type":"object","description":"","properties":{"name":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"required":["name","value"]},"Video_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"@maxLenght: 500"},"description":{"type":"string","description":"@maxLenght: 1000"},"email":{"type":"string","description":"@desc: Email associated to the created video."},"firstName":{"type":"string","description":"@desc: Contact first name associated to the created video."},"lastName":{"type":"string","description":"@desc: Contact last name associated to the created video."},"inputScripts":{"type":"array","items":{"type":"string"}},"playerInfo":{"$ref":"#/components/schemas/PlayerInfo_t","description":"@desc: Info to create a player"},"landingInfo":{"$ref":"#/components/schemas/LandingInfo_t","description":"@desc: Info to create the Landing Page"},"inputVariables":{"type":"array","items":{"$ref":"#/components/schemas/Variable_t"}},"inputMedias":{"type":"array","items":{"$ref":"#/components/schemas/Media_t"}},"videoOutput":{"$ref":"#/components/schemas/VideoOutput_t"},"keywords":{"type":"string"},"data":{"type":"string","description":"@maxLenght: 1024 bytes\\n@desc: User attached data to video object. Will be returned by the webhook if set"},"deduplicationMode":{"type":"string","description":"@desc: Deduplication mode (virtual, copy, disabled)"}},"additionalProperties":false},"VideoStorage_t":{"type":"object","description":"@desc: Only one must be defined","properties":{"pirsonalID":{"type":"string"},"awsS3":{"$ref":"#/components/schemas/AWSS3_t"},"youtubeID":{"type":"string"},"youtubeAccountID":{"type":"string"}},"additionalProperties":false},"VideoFiles_t":{"type":"object","description":"","properties":{"name":{"type":"string"},"profile":{"type":"string"},"size":{"type":"integer"},"storage":{"$ref":"#/components/schemas/VideoStorage_t"},"deleted":{"type":"boolean","description":"Video file deleted flag"},"purged":{"type":"boolean","description":"Video file purged flag"}},"additionalProperties":false,"required":["name","profile","size"]},"VideoStatus_t":{"type":"object","description":"","properties":{"code":{"type":"string","enum":["created","queued","processing","done","error","deleted"]},"error":{"type":"string"}},"additionalProperties":false,"required":["code"]},"MeasurementController_t":{"type":"object","description":"","properties":{"name":{"type":"string"},"contact":{"type":"string"},"privacyPolicyUrl":{"type":"string"}},"additionalProperties":false},"MeasurementRetention_t":{"type":"object","description":"","properties":{"consentReceiptDays":{"type":"integer"},"individualEventDays":{"type":"integer"},"aggregateRollupDays":{"type":"integer"},"operationalEventDays":{"type":"integer"}},"additionalProperties":false,"required":["consentReceiptDays","individualEventDays","aggregateRollupDays","operationalEventDays"]},"MeasurementLocalizedCopy_t":{"type":"object","description":"","properties":{"locale":{"type":"string"},"title":{"type":"string"},"introduction":{"type":"string"}},"additionalProperties":false,"required":["locale"]},"MeasurementPolicySnapshot_t":{"type":"object","description":"","properties":{"versionID":{"type":"string"},"mode":{"type":"string"},"provenance":{"type":"string"},"resolvedFrom":{"type":"string"},"consentRequired":{"type":"boolean"},"aggregateMeasurementAllowed":{"type":"boolean"},"individualMeasurementAllowed":{"type":"boolean"},"defaultLocale":{"type":"string"},"copyVersion":{"type":"string"},"copyOverrides":{"type":"array","items":{"$ref":"#/components/schemas/MeasurementLocalizedCopy_t"}},"purposes":{"type":"array","items":{"type":"string"}},"retention":{"$ref":"#/components/schemas/MeasurementRetention_t"},"controller":{"$ref":"#/components/schemas/MeasurementController_t"}},"additionalProperties":false,"required":["versionID","mode","provenance","resolvedFrom","consentRequired","aggregateMeasurementAllowed","individualMeasurementAllowed","defaultLocale"]},"VideoInfo_t":{"type":"object","description":"","properties":{"credits":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"template_type":{"type":"string"},"template_media":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string","description":"@desc: Contact first name associated to the created video."},"lastName":{"type":"string","description":"@desc: Contact last name associated to the created video."},"id":{"type":"string"},"duration":{"type":"integer"},"status":{"$ref":"#/components/schemas/VideoStatus_t"},"procTime":{"type":"integer"},"date":{"type":"string"},"inputVariables":{"type":"array","items":{"$ref":"#/components/schemas/Variable_t"}},"outFiles":{"type":"array","items":{"$ref":"#/components/schemas/VideoFiles_t"}},"keywords":{"type":"string","description":"@desc: comma separated values\\n@maxLenght: 50"},"landingInfo":{"$ref":"#/components/schemas/LandingInfo_t","description":"@desc: Info to create the Landing Page"},"playerInfo":{"$ref":"#/components/schemas/PlayerInfo_t","description":"@desc: Info to create a player"},"analytics":{"$ref":"#/components/schemas/VideoAnalytics_t","description":"@desc: Video analytics"},"data":{"type":"string","description":"@maxLenght: 1024 bytes\\n@desc: User attached data to video object. Will be returned by the webhook if set"},"formData":{"type":"array","items":{"type":"string"},"description":"@maxLenght: 1024 bytes\\n@desc: User form data for video object"},"GATrackingCode":{"type":"string","description":"@desc: Google Analytics tracking code."},"measurementPolicy":{"$ref":"#/components/schemas/MeasurementPolicySnapshot_t","description":"@desc: Effective privacy-aware measurement policy for this video."},"poweredbyPirsonalLogo":{"type":"boolean","description":"@desc: remove pirsonal logo."},"inputMedias":{"type":"array","items":{"$ref":"#/components/schemas/Media_t"},"description":"@desc: allow input medias too."},"shortUrl":{"type":"string","description":"@desc: Short URL for SMS marketing and quick sharing."},"subdomainLandingAccess":{"type":"boolean","description":"@desc: Custom brand subdomain access flag."},"landingSubdomain":{"type":"string","description":"@desc: Custom brand subdomain."},"cnameLandingAccess":{"type":"boolean","description":"@desc: Custom CNAME landing domain access flag."},"landingCname":{"type":"string","description":"@desc: Custom CNAME landing domain."},"landingCnameStatus":{"type":"string","description":"@desc: Custom CNAME landing domain status."},"filesPurged":{"type":"boolean","description":"@desc: Video files purged flag."},"purgedAt":{"type":"string","description":"@desc: Video purge timestamp."},"contentHash":{"type":"string","description":"@desc: Deduplication content hash."},"deduplicatedFrom":{"type":"string","description":"@desc: Source video ID if deduplicated."},"isDeduplicated":{"type":"boolean","description":"@desc: Video deduplication flag."},"isVirtualDeduplication":{"type":"boolean","description":"@desc: Virtual deduplication flag."},"deduplicationMode":{"type":"string","description":"@desc: Deduplication mode."}},"additionalProperties":false,"required":["id","status","date"]},"LandingInfo_t":{"type":"object","description":"","properties":{"logoImageUrl":{"type":"string","description":"Landing Page Logo Image"},"bannerImageUrl":{"type":"string","description":"Landing Page Banner Image"},"embedIframeUrl":{"type":"string","description":"Embed any external application within the landing page."},"subdomain":{"type":"string","description":"Brand subdomain for custom landing page."},"cname":{"type":"string","description":"Brand custom CNAME for landing page."}},"additionalProperties":false},"PlayerInfo_t":{"type":"object","description":"","properties":{"videoUrl":{"type":"string","description":"Video URL of videos hosted in Pirsonal, YouTube or Amazon S3."},"CTAForm":{"$ref":"#/components/schemas/CTAForm_t","description":"@desc: Custom user form definition."},"CTAPassword":{"$ref":"#/components/schemas/CTAPassword_t","description":"@desc: Custom user password definition."},"CTAType":{"type":"string","description":"@desc: CTA type. Must be one of [text,html]"},"CTACustomHTML":{"type":"string","description":"@desc: Custom HTML (upto 5000 characters) to be used as CTA content. Cannot contain Javascript"},"CTABodyText":{"type":"string","description":"Main Call to Action text"},"CTAButtonText":{"type":"string","description":"Text displayed at the button of the CTA of a video."},"CTAButtonUrl":{"type":"string","description":"CTA Button URL: The URL that will be added to the button of a personalized video."},"CTAStartTime":{"type":"integer","description":"CTA Start Time: Time (in seconds) when the CTA should be shown."},"CTAEndTime":{"type":"integer","description":"CTA End Time: Time (in seconds) when the CTA should be hidden."},"CTAOpenOnClick":{"type":"boolean","description":"Shows CTA when CTA icon (...) is clicked by the user."},"CTAShowOnPause":{"type":"boolean","description":"Shows CTA when user pauses the video."},"CTAPauseOnShow":{"type":"boolean","description":"Pauses video automatically when user clicks on show CTA."},"CTAShowAtStart":{"type":"boolean","description":"Shows CTA when the video starts."},"CTAShowAtEnd":{"type":"boolean","description":"Shows CTA when the video ends."},"CTAAllowClose":{"type":"boolean","description":"Allows user to close the CTA."},"autoPlay":{"type":"boolean","description":"Allows user to auto play video."},"CTADuration":{"type":"integer","description":"@desc: Duration (in seconds) for which CTA is shown. Should be set only if CTAAllowClose is false."},"thumbnail":{"type":"string","description":"Thumbnail: The image that will be used as a thumbnail of a video."},"customCss":{"type":"string","description":"Allows user to add custom css on player page."}},"additionalProperties":false},"VideoAnalytics_t":{"type":"object","description":"","properties":{"plays":{"type":"integer","description":"Amount of times a video has been played"},"engagementRate":{"type":"number","format":"float","description":"Viewing percentage of a video. 0-100"},"CTALinkClicks":{"type":"integer","description":"Amount of clicks of the Call to Action (CTA) button."},"CTAIconClicks":{"type":"integer","description":"Amount of clicks of the Call to Action (CTA) icon."},"CTAContentShow":{"type":"integer","description":"Number of times the Call to Action (CTA) content is shown."},"CTAContentHide":{"type":"integer","description":"Number of times the Call to Action (CTA) content is hidden."},"CTALinkClickRate":{"type":"number","format":"float","description":"Percentage of Call to Action (CTA) button clicks generated in a video. 0-100"},"playDetails":{"type":"array","items":{"$ref":"#/components/schemas/playDetails_t"},"description":"Percentage of Call to Action (CTA) button clicks generated in a video. 0-100"}},"additionalProperties":false},"playDetails_t":{"type":"object","description":"","properties":{"date":{"type":"string","description":"Analytics date"},"requestTime":{"type":"string","description":"Analytics requestTime"},"deviceInformation":{"$ref":"#/components/schemas/deviceInformation_t","description":"Analytics deviceInformation"},"locationInformation":{"$ref":"#/components/schemas/locationInformation_t","description":"Analytics locationInformation"},"_id":{"type":"string","description":"ID"}},"additionalProperties":false},"deviceInformation_t":{"type":"object","description":"","properties":{"browser":{"$ref":"#/components/schemas/browser_t","description":"Analytics browser"},"engine":{"$ref":"#/components/schemas/engine_t","description":"Analytics engine"},"os":{"$ref":"#/components/schemas/os_t","description":"Analytics OS"},"device":{"$ref":"#/components/schemas/device_t","description":"Analytics device"},"cpu":{"$ref":"#/components/schemas/cpu_t","description":"Analytics CPU"},"ua":{"type":"string","description":"Analytics UA"}},"additionalProperties":false},"browser_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"name"},"version":{"type":"string","description":"version"},"major":{"type":"string","description":"major"}},"additionalProperties":false},"engine_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"name"},"version":{"type":"string","description":"version"}},"additionalProperties":false},"os_t":{"type":"object","description":"","properties":{"name":{"type":"string","description":"name"},"version":{"type":"string","description":"version"}},"additionalProperties":false},"device_t":{"type":"object","description":"","properties":{"vendor":{"type":"string","description":"vendor"},"model":{"type":"string","description":"model"},"type":{"type":"string","description":"type"}},"additionalProperties":false},"cpu_t":{"type":"object","description":"","properties":{"architecture":{"type":"string","description":"architecture"}},"additionalProperties":false},"locationInformation_t":{"type":"object","description":"","properties":{"country":{"type":"string","description":"Analytics country"},"region":{"type":"string","description":"Analytics region"},"eu":{"type":"string","description":"EU region"},"timezone":{"type":"string","description":"timezone"},"area":{"type":"integer","description":"area"},"city":{"type":"string","description":"Analytics city"},"metro":{"type":"integer","description":"Analytics metro"},"zip":{"type":"integer","description":"Analytics zip"},"range":{"type":"array","items":{"type":"integer"},"description":"Analytics range"},"ll":{"type":"array","items":{"type":"number","format":"float"},"description":"Analytics ll"}},"additionalProperties":false},"TemplateAnalytics_t":{"type":"object","description":"","properties":{"plays":{"type":"integer","description":"Amount of times any video in a template has been played"},"engagementRate":{"type":"number","format":"float","description":"Viewing percentage of a template. 0-100"},"CTALinkClicks":{"type":"integer","description":"Amount of clicks of the Call to Action (CTA) button."},"CTAIconClicks":{"type":"integer","description":"Amount of clicks of the Call to Action (CTA) icon."},"CTAContentShow":{"type":"integer","description":"Number of times the Call to Action (CTA) content is shown."},"CTAContentHide":{"type":"integer","description":"Number of times the Call to Action (CTA) content is hidden."},"CTALinkClickRate":{"type":"number","format":"float","description":"Percentage of Call to Action (CTA) button clicks generated in a template. 0-100"}},"additionalProperties":false},"VideoAnalyticsUpdate_t":{"type":"object","description":"","properties":{"played":{"type":"integer","description":" If the video was played (at least a piece)"},"engagementRate":{"type":"number","format":"float","description":"Viewing percentage of the video. 0-100"},"CTALinkClicked":{"type":"integer","description":"if the user click in the Call to Action (CTA) button."},"CTAIconClicked":{"type":"integer","description":"if the user click in the Call to Action (CTA) icon."},"CTAContentShown":{"type":"integer","description":"if the the Call to Action (CTA) content is shown to the user."},"CTAContentHidden":{"type":"integer","description":"if the the Call to Action (CTA) content is hidden by the user."},"playDetails":{"type":"array","items":{"$ref":"#/components/schemas/playDetails_t"},"description":"Percentage of Call to Action (CTA) button clicks generated in a video. 0-100"}},"additionalProperties":false},"TemplateAnalyticsUpdate_t":{"type":"object","description":"","properties":{"played":{"type":"integer","description":" If a video in a template was played (at least a piece)"},"engagementRate":{"type":"number","format":"float","description":"Viewing percentage of all videos in a template. 0-100"},"CTALinkClicked":{"type":"integer","description":"if the user click in the Call to Action (CTA) button."},"CTAIconClicked":{"type":"integer","description":"if the user click in the Call to Action (CTA) icon."},"CTAContentShown":{"type":"integer","description":"if the the Call to Action (CTA) content is shown to the user."},"CTAContentHidden":{"type":"integer","description":"if the the Call to Action (CTA) content is hidden by the user."}},"additionalProperties":false},"YoutubeMetaData_t":{"type":"object","description":"","properties":{"license":{"type":"string","description":"@desc: creativeCommon or youtube"},"privacy":{"type":"string","description":"@desc: private,public or unlisted"},"category":{"type":"string","description":"@desc: check https://developers.google.com/youtube/v3/docs/videoCategories/list"}},"additionalProperties":false,"required":["category"]},"VideoMetaData_t":{"type":"object","description":"","properties":{"name":{"type":"string"},"description":{"type":"string"},"keywords":{"type":"string","description":"@desc: comma separated values\\n@maxLenght: 50"},"data":{"type":"string"},"youtube":{"$ref":"#/components/schemas/YoutubeMetaData_t"}},"additionalProperties":false},"VideoUpdate_t":{"type":"object","description":"","properties":{"name":{"type":"string"},"description":{"type":"string"},"firstName":{"type":"string","description":"@desc: Contact first name associated to the created video."},"lastName":{"type":"string","description":"@desc: Contact last name associated to the created video."},"keywords":{"type":"string","description":"@desc: comma separated values\\n@maxLenght: 50"},"data":{"type":"string"},"formData":{"type":"string"},"youtube":{"$ref":"#/components/schemas/YoutubeMetaData_t"},"landingInfo":{"$ref":"#/components/schemas/LandingInfo_t","description":"@desc: Info to create the Landing Page"},"playerInfo":{"$ref":"#/components/schemas/PlayerInfo_t","description":"@desc: Info to create a player"},"analyticsInfo":{"$ref":"#/components/schemas/VideoAnalyticsUpdate_t","description":"@desc: Video analytics"}},"additionalProperties":false},"VideoLink_t":{"type":"object","description":"","properties":{"id":{"type":"string"},"profile":{"type":"string"},"url":{"type":"string"},"deleted":{"type":"boolean","description":"Video file deleted flag"},"purged":{"type":"boolean","description":"Video file purged flag"}},"additionalProperties":false,"required":["id"]}}},"security":[{"accountSecretQuery":[],"accountIDQuery":[]}],"paths":{"/api":{"post":{"summary":"Pirsonal JSON-RPC 2.0 Unified Endpoint","description":"Primary Barrister JSON-RPC 2.0 endpoint for all 16 PirsonalAPI operations.\n\nSupported RPC methods: `PirsonalAPI.Template_New`, `PirsonalAPI.Template_Update`, `PirsonalAPI.Template_SetStatus`, `PirsonalAPI.Template_Delete`, `PirsonalAPI.Template_List`, `PirsonalAPI.Template_Video_New`, `PirsonalAPI.Template_Video_List`, `PirsonalAPI.Video_Get`, `PirsonalAPI.Measurement_Token_Issue`, `PirsonalAPI.Video_Delete`, `PirsonalAPI.Video_Pirsonal_Link`, `PirsonalAPI.Video_Get_Links`, `PirsonalAPI.Video_Update_Metadata`, `PirsonalAPI.Video_Update`, `PirsonalAPI.Media_List`, `PirsonalAPI.Media_Delete`, `PirsonalAPI.Media_Apply_Pattern`","operationId":"executeRpc","parameters":[{"name":"accountID","in":"query","description":"Account Identifier (required for account-level access)","required":false,"schema":{"type":"string"}},{"name":"accountSecret","in":"query","description":"Account Secret Key (required for account-level access)","required":false,"schema":{"type":"string"}},{"name":"templateID","in":"query","description":"Template Identifier (optional for restricted template access)","required":false,"schema":{"type":"string"}},{"name":"templateSecret","in":"query","description":"Template Secret Key (optional for restricted template access)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Request envelope for PirsonalAPI.Template_New","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_New"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_New (template)","prefixItems":[{"$ref":"#/components/schemas/TemplateNew_t","title":"template"}],"items":false,"minItems":1,"maxItems":1}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_Update","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_Update"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_Update (templateID, update)","prefixItems":[{"type":"string","title":"templateID"},{"$ref":"#/components/schemas/TemplateUpdate_t","title":"update"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_SetStatus","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_SetStatus"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_SetStatus (templateID, status)","prefixItems":[{"type":"string","title":"templateID"},{"type":"string","enum":["active","inactive"],"title":"status"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_Delete","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_Delete"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_Delete (templateID, removeExternalFiles)","prefixItems":[{"type":"string","title":"templateID"},{"type":"boolean","title":"removeExternalFiles"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_List","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_List"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_List (empty)","prefixItems":[],"items":false,"minItems":0,"maxItems":0}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_Video_New","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_Video_New"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_Video_New (templateID, video)","prefixItems":[{"type":"string","title":"templateID"},{"$ref":"#/components/schemas/Video_t","title":"video"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Template_Video_List","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Template_Video_List"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Template_Video_List (templateID)","prefixItems":[{"type":"string","title":"templateID"}],"items":false,"minItems":1,"maxItems":1}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Get","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Get"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Get (videoID)","prefixItems":[{"type":"string","title":"videoID"}],"items":false,"minItems":1,"maxItems":1}}},{"type":"object","description":"Request envelope for PirsonalAPI.Measurement_Token_Issue","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Measurement_Token_Issue"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Measurement_Token_Issue (videoID, source)","prefixItems":[{"type":"string","title":"videoID"},{"type":"string","title":"source"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Delete","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Delete"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Delete (videoID, removeFiles)","prefixItems":[{"type":"string","title":"videoID"},{"type":"boolean","title":"removeFiles"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Pirsonal_Link","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Pirsonal_Link"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Pirsonal_Link (videoID, pirsonalID)","prefixItems":[{"type":"string","title":"videoID"},{"type":"string","title":"pirsonalID"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Get_Links","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Get_Links"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Get_Links (videoID)","prefixItems":[{"type":"string","title":"videoID"}],"items":false,"minItems":1,"maxItems":1}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Update_Metadata","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Update_Metadata"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Update_Metadata (videoID, metaData)","prefixItems":[{"type":"string","title":"videoID"},{"$ref":"#/components/schemas/VideoMetaData_t","title":"metaData"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Video_Update","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Video_Update"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Video_Update (videoID, videoUpdate)","prefixItems":[{"type":"string","title":"videoID"},{"$ref":"#/components/schemas/VideoUpdate_t","title":"videoUpdate"}],"items":false,"minItems":2,"maxItems":2}}},{"type":"object","description":"Request envelope for PirsonalAPI.Media_List","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Media_List"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Media_List (empty)","prefixItems":[],"items":false,"minItems":0,"maxItems":0}}},{"type":"object","description":"Request envelope for PirsonalAPI.Media_Delete","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Media_Delete"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Media_Delete (mediaID)","prefixItems":[{"type":"string","title":"mediaID"}],"items":false,"minItems":1,"maxItems":1}}},{"type":"object","description":"Request envelope for PirsonalAPI.Media_Apply_Pattern","required":["jsonrpc","method","params","id"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"method":{"type":"string","enum":["PirsonalAPI.Media_Apply_Pattern"]},"params":{"type":"array","description":"Positional parameters for PirsonalAPI.Media_Apply_Pattern (mediaID, patter, action, parameters)","prefixItems":[{"type":"string","title":"mediaID"},{"type":"string","enum":["audiolevel"],"title":"patter"},{"type":"string","enum":["info","one","multi"],"title":"action"},{"type":"string","title":"parameters"}],"items":false,"minItems":4,"maxItems":4}}}]}}}},"responses":{"200":{"description":"Standard JSON-RPC 2.0 response containing result or error object","content":{"application/json":{"schema":{"anyOf":[{"type":"object","description":"Success response for PirsonalAPI.Template_New","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Template_Update","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Template_SetStatus","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Template_Delete","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Template_List","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Template_t"}}}},{"type":"object","description":"Success response for PirsonalAPI.Template_Video_New","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Template_Video_List","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"array","items":{"$ref":"#/components/schemas/VideoInfo_t"}}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Get","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"$ref":"#/components/schemas/VideoInfo_t"}}},{"type":"object","description":"Success response for PirsonalAPI.Measurement_Token_Issue","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Delete","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Pirsonal_Link","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"$ref":"#/components/schemas/VideoLink_t"}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Get_Links","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"array","items":{"$ref":"#/components/schemas/VideoLink_t"}}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Update_Metadata","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Video_Update","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Media_List","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"array","items":{"$ref":"#/components/schemas/PirsonalMedia_t"}}}},{"type":"object","description":"Success response for PirsonalAPI.Media_Delete","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"Success response for PirsonalAPI.Media_Apply_Pattern","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"result":{"type":"string"}}},{"type":"object","description":"JSON-RPC Error response","required":["jsonrpc","id","error"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":"string","example":"1"},"error":{"type":"object","required":["code","message"],"additionalProperties":false,"properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{}}}}}]}}}}}}},"/api/upload":{"post":{"summary":"Direct Binary Media Upload","description":"Upload audio, image, or video media directly to Pirsonal storage. File contents must be streamed in the HTTP request body.","operationId":"uploadMedia","parameters":[{"name":"accountID","in":"query","required":true,"description":"Account Identifier","schema":{"type":"string"}},{"name":"accountSecret","in":"query","required":true,"description":"Account Secret Key","schema":{"type":"string"}},{"name":"x-szn-filename","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Custom media filename (URI encoded if non-ASCII)"},{"name":"x-szn-description","in":"header","required":false,"schema":{"type":"string","maxLength":1000},"description":"Optional media description (URI encoded if non-ASCII)"}],"requestBody":{"required":true,"content":{"video/*":{"schema":{"type":"string","format":"binary"}},"image/*":{"schema":{"type":"string","format":"binary"}},"audio/*":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Upload successful, returns media record container { media: PirsonalMedia_t }","content":{"application/json":{"schema":{"type":"object","required":["media"],"additionalProperties":false,"properties":{"media":{"$ref":"#/components/schemas/PirsonalMedia_t"}}}}}}}}}}}