Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.
Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast. Whether you want to display breaking news, weather updates, sports scores, or social media feeds, API Data Sources make it possible to keep your audience informed with dynamic, up-to-date content.
JSON/XML Endpoints: Structured data from third-party services
By connecting these data sources to Visual Radio Assist, you can create dynamic elements like news tickers, live updates, and contextual information that enhances your broadcast’s relevance and engagement.
Every API Data Source in Visual Radio Assist consists of two main components:Base URL: The primary domain or server address (e.g., api.visualradioassist.cloud)Endpoint: The specific path to the data you want to access (e.g., /test-endpoint or /authentication)Together, these create the complete URL that will be requested: api.visualradioassist.cloud/test-endpointThis structure allows you to organize multiple endpoints under a single base URL, making it easier to manage related data sources from the same service.
Visual Radio Assist offers different methods for retrieving data:Cloud Proxied: The Visual Radio Cloud server fetches the data on your behalf. This is essential when:
The feed doesn’t allow direct browser requests
CORS (Cross-Origin Resource Sharing) restrictions prevent browser access
Browser Direct: Your browser fetches the data directly from the source (use only when the feed explicitly allows browser access).
When in doubt, start with Cloud Proxied. If you’re unsure whether a feed allows direct browser access, test it first. Switching to Cloud Proxied typically resolves most fetch errors related to CORS restrictions.
Once configured, use the Test Request button to verify that data is loading correctly. This allows you to inspect the data structure and confirm that your endpoint is responding as expected.
Many professional APIs and internal systems require authentication to access their data. Visual Radio Assist supports authenticated feeds through:Authorization Tokens: Add bearer tokens or API keys directly into the configurationCustom Headers: Configure custom HTTP headers for specialized authentication methodsEndpoint Parameters: Include authentication credentials as URL parameters when requiredThis flexibility enables you to work with:
With your data displaying correctly, enhance the appearance and layout using the Visual Designer’s full suite of tools:Layer Management: Stack multiple layers to create complex layoutsBranding Elements: Add station logos, background graphics, and color schemesAdditional Data Fields: Display descriptions, publication times, author names, or other metadata from the same feedStyling Controls: Adjust fonts, colors, sizes, animations, and positioningThe Visual Designer gives you complete control over how your external data appears on screen, ensuring it integrates seamlessly with your broadcast’s visual identity.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Docs","description":"Visual Radio Assist documentation. Learn how to visualize your radio station.","colors":{"primary":"#FF6105","light":"#FF8A45","dark":"#D8530A"},"logo":{"light":"https://mintcdn.com/visualradioassist/FtWAVem9Hck71vB2/images/vra-logo-black.svg?fit=max\u0026auto=format\u0026n=FtWAVem9Hck71vB2\u0026q=85\u0026s=6f30c65e5c6370ada56e3a6e4842a4f4","dark":"https://mintcdn.com/visualradioassist/FtWAVem9Hck71vB2/images/vra-logo-white.svg?fit=max\u0026auto=format\u0026n=FtWAVem9Hck71vB2\u0026q=85\u0026s=1f5e4b39b7ba2535c7cf51961f30c5bf","href":"https://visualradioassist.live?utm_source=docs\u0026utm_medium=internal_link\u0026utm_campaign=docs_to_homepage"},"favicon":"https://mintcdn.com/visualradioassist/FtWAVem9Hck71vB2/images/vra-icon.svg?fit=max\u0026auto=format\u0026n=FtWAVem9Hck71vB2\u0026q=85\u0026s=d71e65d12a79a26cae2ff06d04866e66","api":{"playground":{"display":"interactive","proxy":false}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://visualradio.cloud/support","label":"Support"}],"primary":{"type":"button","label":"Open Cloud","href":"https://cloud.visualradioassist.live"}},"footer":{"socials":{"website":"https://visualradio.cloud"},"links":[{"header":"Visual Radio Assist","items":[{"label":"Changelog","href":"https://visualradioassist.live/changelog"}]}]},"search":{"prompt":"Search the docs..."},"seo":{"metatags":{"og:site_name":"Visual Radio Assist Docs","canonical":"https://docs.visualradioassist.live"},"indexing":"navigable"},"fonts":{"heading":{"family":"Familjen Grotesk","weight":600},"body":{"family":"Inter","weight":400}},"contextual":{"options":["copy","download-pdf","claude","chatgpt","mcp","add-mcp","assistant","view"],"display":"header"},"interaction":{"drilldown":true},"markdown":{"instructions":["Use the names from the glossary at https://docs.visualradioassist.live/glossary: Audio Manager (two words), command (never commando), on air and off air (never live) for programs and studios, and server apps for the VRA apps installed in the studio.","Say which app an answer applies to, like VRA Cloud, the Core or the Output Player, and the version when the page names one.","Only give settings, values and steps that are in these docs. Never invent one. If the docs don't cover it, say so.","When the docs don't answer the question, send the user to Visual Radio Assist support at https://cloud.visualradioassist.live/support."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"visualradioassist","hasAudioNarration":false,"actualSubdomain":"visualradioassist","customDomains":["docs.visualradioassist.live"],"gitSource":{"type":"github","owner":"vra-bv","repo":"cloud","deployBranch":"master","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada6612ab7d294f05be170b","collectionId":"a59a9533-322c-4bd4-8e73-f18c74f11a34","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada6612ab7d294f05be170b"},"entitlements":{},"buildId":"6adb358a1ada550105799cb5","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Develop with VRA","count":103},{"language":"default","tag":"Core Control API","count":93},{"language":"default","tag":"Reference","count":78},{"language":"default","tag":"Products","count":38},{"language":"default","tag":"Devices and integrations","count":26},{"language":"default","tag":"Link radio automation","count":19},{"language":"default","tag":"signals","count":17},{"language":"default","tag":"outputs","count":14},{"language":"default","tag":"Outputs","count":11},{"language":"default","tag":"cameras","count":9}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#navbar,#sidebar{font-family:\"Familjen Grotesk\",sans-serif}.sidebar-group-header{font-size:.875rem;font-weight:600;letter-spacing:-.005em}.sidebar-group-header h5{font-size:inherit;font-weight:inherit}"}],"page":{"pagePath":"api-data-sources","slug":"/api-data-sources","pageMetadata":{"title":"API Data Sources","icon":"plug","description":"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.","href":"/api-data-sources"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedFrame,OptimizedImage,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast. Whether you want to display breaking news, weather updates, sports scores, or social media feeds, API Data Sources make it possible to keep your audience informed with dynamic, up-to-date content.`}),`\n`,_jsx(OptimizedFrame,{width:`100%`,height:`400`,src:`https://www.youtube.com/embed/qAvtOskWEyQ`,title:`API Data Sources`,frameBorder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true}),`\n`,_jsx(Heading,{level:`2`,id:`what-are-api-data-sources`,children:`What Are API Data Sources?`}),`\n`,_jsx(_components.p,{children:`An API Data Source is an external data feed that supplies real-time information to your Visual Radio broadcast. These sources can include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`RSS Feeds`}),`: News feeds, blog updates, and content syndication`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`REST APIs`}),`: Weather data, sports scores, stock prices, and custom integrations`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`JSON/XML Endpoints`}),`: Structured data from third-party services`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`By connecting these data sources to Visual Radio Assist, you can create dynamic elements like news tickers, live updates, and contextual information that enhances your broadcast’s relevance and engagement.`}),`\n`,_jsx(Heading,{level:`2`,id:`understanding-api-data-source-structure`,children:`Understanding API Data Source Structure`}),`\n`,_jsx(_components.p,{children:`Every API Data Source in Visual Radio Assist consists of two main components:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Base URL`}),`: The primary domain or server address (e.g., `,_jsx(_components.code,{children:`api.visualradioassist.cloud`}),`)`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Endpoint`}),`: The specific path to the data you want to access (e.g., `,_jsx(_components.code,{children:`/test-endpoint`}),` or `,_jsx(_components.code,{children:`/authentication`}),`)`]}),`\n`,_jsxs(_components.p,{children:[`Together, these create the complete URL that will be requested: `,_jsx(_components.code,{children:`api.visualradioassist.cloud/test-endpoint`})]}),`\n`,_jsx(_components.p,{children:`This structure allows you to organize multiple endpoints under a single base URL, making it easier to manage related data sources from the same service.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-add-an-api-data-source`,children:`How to Add an API Data Source`}),`\n`,_jsx(_components.p,{children:`Creating an API Data Source involves configuring the connection to your external feed and linking it to a variable for use in your visuals.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-set-up-the-feed-as-a-data-source`,children:`Step 1: Set Up the Feed as a Data Source`}),`\n`,_jsx(_components.p,{children:`We’ll use the BBC World News feed as an example to demonstrate the setup process.`}),`\n`,_jsx(Heading,{level:`3`,id:`configure-base-url-and-endpoint`,children:`Configure Base URL and Endpoint`}),`\n`,_jsxs(_components.p,{children:[`The complete BBC World feed URL is: `,_jsx(_components.code,{children:`https://feeds.bbci.co.uk/news/world/rss.xml`})]}),`\n`,_jsx(_components.p,{children:`To set this up in Visual Radio Assist:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Settings`}),` and select the `,_jsx(_components.strong,{children:`Data Sources`}),` tab`]}),`\n`,_jsx(_components.li,{children:`Click to create a new Data Source`}),`\n`,_jsxs(_components.li,{children:[`Set the `,_jsx(_components.strong,{children:`Base URL`}),` to `,_jsx(_components.code,{children:`https://feeds.bbci.co.uk/news`})]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`RSS`}),` as the data format`]}),`\n`,_jsxs(_components.li,{children:[`Specify the `,_jsx(_components.strong,{children:`Endpoint`}),` as `,_jsx(_components.code,{children:`/world/rss.xml`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`choose-the-fetch-type`,children:`Choose the Fetch Type`}),`\n`,_jsx(_components.p,{children:`Visual Radio Assist offers different methods for retrieving data:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cloud Proxied`}),`: The Visual Radio Cloud server fetches the data on your behalf. This is essential when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The feed doesn’t allow direct browser requests`}),`\n`,_jsx(_components.li,{children:`CORS (Cross-Origin Resource Sharing) restrictions prevent browser access`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Browser Direct`}),`: Your browser fetches the data directly from the source (use only when the feed explicitly allows browser access).`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`When in doubt, start with `,_jsx(_components.strong,{children:`Cloud Proxied`}),`. If you’re unsure whether a feed allows direct browser access, test it first. Switching to Cloud Proxied typically resolves most fetch errors related to CORS restrictions.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`test-your-connection`,children:`Test Your Connection`}),`\n`,_jsxs(_components.p,{children:[`Once configured, use the `,_jsx(_components.strong,{children:`Test Request`}),` button to verify that data is loading correctly. This allows you to inspect the data structure and confirm that your endpoint is responding as expected.`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-link-the-feed-to-a-variable`,children:`Step 2: Link the Feed to a Variable`}),`\n`,_jsx(_components.p,{children:`After your feed loads successfully, you need to connect it to a variable to make the data accessible within the Visual Designer.`}),`\n`,_jsx(Heading,{level:`3`,id:`auto-generate-variables`,children:`Auto-Generate Variables`}),`\n`,_jsxs(_components.p,{children:[`The simplest method is to enable the `,_jsx(_components.strong,{children:`Auto-generate variable`}),` toggle. When you save the API Data Source, Visual Radio Assist will automatically:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Create a new variable with a descriptive name based on your feed`}),`\n`,_jsx(_components.li,{children:`Make the variable accessible throughout all visual creation areas`}),`\n`,_jsx(_components.li,{children:`Allow you to use the data in tickers, lower thirds, full-screen updates, and more`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This automated approach saves time and ensures consistent naming conventions across your data sources.`}),`\n`,_jsx(Heading,{level:`2`,id:`working-with-authenticated-feeds`,children:`Working with Authenticated Feeds`}),`\n`,_jsx(_components.p,{children:`Many professional APIs and internal systems require authentication to access their data. Visual Radio Assist supports authenticated feeds through:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Authorization Tokens`}),`: Add bearer tokens or API keys directly into the configuration`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Custom Headers`}),`: Configure custom HTTP headers for specialized authentication methods`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Endpoint Parameters`}),`: Include authentication credentials as URL parameters when required`]}),`\n`,_jsx(_components.p,{children:`This flexibility enables you to work with:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Internal company APIs`}),`\n`,_jsx(_components.li,{children:`Paid data services`}),`\n`,_jsx(_components.li,{children:`Restricted or private feeds`}),`\n`,_jsx(_components.li,{children:`Enterprise-level integrations`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=a11f2eb28bef13f3d5b4b38e17a5063d`,alt:``,\"data-og-width\":`1730`,width:`1730`,\"data-og-height\":`1826`,height:`1826`,\"data-path\":`images/api-data-sources/1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=280\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=14dc6d245b4a278da07e4889116d8c58 280w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=560\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=e821665ae087822bd749ea2409e94b47 560w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=840\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=5f80755709aac93b7da92871621de1e4 840w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=975826f93ecea5a04a770133e8bba45d 1100w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=1d897d886deb032126ba1ba662cc6101 1650w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=539916b2ee17aca682d1878149a12f70 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`using-api-data-sources-in-your-visuals`,children:`Using API Data Sources in Your Visuals`}),`\n`,_jsx(_components.p,{children:`Once your data source is configured and linked to a variable, you can display the information in your visual content.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-a-text-layer`,children:`Step 1: Create a Text Layer`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Visual Designer`}),` and navigate to the visual where you want to display data`]}),`\n`,_jsxs(_components.li,{children:[`Create a new `,_jsx(_components.strong,{children:`Text Layer`})]}),`\n`,_jsx(_components.li,{children:`Select the API Data Source Variable you just created`}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Data Selector`}),` to browse the feed’s complete structure`]}),`\n`,_jsxs(_components.li,{children:[`Choose the specific data field you want to display (e.g., `,_jsx(_components.code,{children:`title`}),` for news headlines)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-configure-data-display`,children:`Step 2: Configure Data Display`}),`\n`,_jsx(_components.p,{children:`To display multiple items from your feed:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Text Helper`}),` panel`]}),`\n`,_jsxs(_components.li,{children:[`Copy the `,_jsx(_components.code,{children:`loop`}),` helper code`]}),`\n`,_jsx(_components.li,{children:`Paste it into your text field`}),`\n`,_jsx(_components.li,{children:`This will automatically loop through all feed items and display the selected field for each`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`creating-a-news-ticker`,children:`Creating a News Ticker`}),`\n`,_jsx(_components.p,{children:`To transform your data feed into a scrolling news ticker:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Select your text layer containing the feed data`}),`\n`,_jsxs(_components.li,{children:[`Scroll to the bottom of the `,_jsx(_components.strong,{children:`Properties Panel`})]}),`\n`,_jsxs(_components.li,{children:[`Enable the `,_jsx(_components.strong,{children:`Ticker Effect`})]}),`\n`,_jsx(_components.li,{children:`Adjust ticker speed, direction, and behavior to suit your needs`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Your real-time news ticker is now ready to display!`}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-design-your-visual`,children:`Step 3: Design Your Visual`}),`\n`,_jsx(_components.p,{children:`With your data displaying correctly, enhance the appearance and layout using the Visual Designer’s full suite of tools:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Layer Management`}),`: Stack multiple layers to create complex layouts`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Branding Elements`}),`: Add station logos, background graphics, and color schemes`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Additional Data Fields`}),`: Display descriptions, publication times, author names, or other metadata from the same feed`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Styling Controls`}),`: Adjust `,_jsx(_components.a,{href:`/getting-started/use-your-custom-font`,children:_jsx(_components.strong,{children:`fonts`})}),`, colors, sizes, animations, and positioning`]}),`\n`,_jsx(_components.p,{children:`The Visual Designer gives you complete control over how your external data appears on screen, ensuring it integrates seamlessly with your broadcast’s visual identity.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=f96edfd652d1529429938a380dbd0126`,alt:``,\"data-og-width\":`1462`,width:`1462`,\"data-og-height\":`818`,height:`818`,\"data-path\":`images/api-data-sources/2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=280\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=17ff95e98ff7b7044ea9f7c790966b0e 280w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=560\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=2073a6b3326dcef8cbfd8896264c6459 560w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=840\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=1bdc3b346fb92917d61865f43852d706 840w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=89cb0330fbab2023b878b74c36b9b4f1 1100w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=c772a6ff09667e2cd258357e9c49bd9f 1650w, https://mintcdn.com/visualradioassist/1LQdAqmw3LInyH_s/images/api-data-sources/2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=1LQdAqmw3LInyH_s\u0026q=85\u0026s=e8cf9a8551c1c91b2f79782a00bf18b1 2500w`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"API Data Sources","icon":"plug","description":"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.","href":"/api-data-sources"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What Are API Data Sources?","slug":"what-are-api-data-sources","depth":2,"children":[]},{"title":"Understanding API Data Source Structure","slug":"understanding-api-data-source-structure","depth":2,"children":[]},{"title":"How to Add an API Data Source","slug":"how-to-add-an-api-data-source","depth":2,"children":[{"title":"Step 1: Set Up the Feed as a Data Source","slug":"step-1-set-up-the-feed-as-a-data-source","depth":3,"children":[]},{"title":"Configure Base URL and Endpoint","slug":"configure-base-url-and-endpoint","depth":3,"children":[]},{"title":"Choose the Fetch Type","slug":"choose-the-fetch-type","depth":3,"children":[]},{"title":"Test Your Connection","slug":"test-your-connection","depth":3,"children":[]},{"title":"Step 2: Link the Feed to a Variable","slug":"step-2-link-the-feed-to-a-variable","depth":3,"children":[]},{"title":"Auto-Generate Variables","slug":"auto-generate-variables","depth":3,"children":[]}]},{"title":"Working with Authenticated Feeds","slug":"working-with-authenticated-feeds","depth":2,"children":[]},{"title":"Using API Data Sources in Your Visuals","slug":"using-api-data-sources-in-your-visuals","depth":2,"children":[{"title":"Step 1: Create a Text Layer","slug":"step-1-create-a-text-layer","depth":3,"children":[]},{"title":"Step 2: Configure Data Display","slug":"step-2-configure-data-display","depth":3,"children":[]},{"title":"Creating a News Ticker","slug":"creating-a-news-ticker","depth":3,"children":[]},{"title":"Step 3: Design Your Visual","slug":"step-3-design-your-visual","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"visualradioassist","siteName":"Docs","title":"API Data Sources - Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-28T12:07:21.398Z","originalFileLocation":"api-data-sources.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"API Data Sources - Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Visual Radio Assist Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.visualradioassist.live/api-data-sources\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://visualradioassist.mintlify.app/_mintlify/api/og/v2?division=Outputs\u0026amp;title=API+Data+Sources\u0026amp;description=Visual+Radio+Assist+allows+you+to+integrate+external+data+feeds+directly+into+your+visual+content%2C+bringing+real-time+information+to+your+broadcast.\u0026amp;theme=d79041a3cf899c43d09d3785\u0026amp;signature=22f882968a49ea3d7b032e32966173184f4e1ddac60621932e89e272b8378393\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"API Data Sources - Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://visualradioassist.mintlify.app/_mintlify/api/og/v2?division=Outputs\u0026amp;title=API+Data+Sources\u0026amp;description=Visual+Radio+Assist+allows+you+to+integrate+external+data+feeds+directly+into+your+visual+content%2C+bringing+real-time+information+to+your+broadcast.\u0026amp;theme=d79041a3cf899c43d09d3785\u0026amp;signature=22f882968a49ea3d7b032e32966173184f4e1ddac60621932e89e272b8378393\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/visualradioassist/Bdk1piwVgLhKVO3e/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF6105\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.visualradioassist.live/api-data-sources\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-data-sources.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.visualradioassist.live/#organization\",\"name\":\"Docs\",\"url\":\"https://docs.visualradioassist.live\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/visualradioassist/FtWAVem9Hck71vB2/images/vra-logo-black.svg?fit=max\u0026auto=format\u0026n=FtWAVem9Hck71vB2\u0026q=85\u0026s=6f30c65e5c6370ada56e3a6e4842a4f4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.visualradioassist.live#website\",\"name\":\"Docs\",\"url\":\"https://docs.visualradioassist.live\",\"publisher\":{\"@id\":\"https://docs.visualradioassist.live/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.visualradioassist.live/api-data-sources#webpage\",\"url\":\"https://docs.visualradioassist.live/api-data-sources\",\"name\":\"API Data Sources\",\"description\":\"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\",\"dateModified\":\"2026-07-28T12:07:21.398Z\",\"isPartOf\":{\"@id\":\"https://docs.visualradioassist.live#website\"},\"breadcrumb\":{\"@id\":\"https://docs.visualradioassist.live/api-data-sources#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.visualradioassist.live/api-data-sources#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Products\",\"item\":\"https://docs.visualradioassist.live/scheduling\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Outputs\",\"item\":\"https://docs.visualradioassist.live/output-settings\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"API Data Sources\",\"item\":\"https://docs.visualradioassist.live/api-data-sources\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.visualradioassist.live/api-data-sources#article\",\"headline\":\"API Data Sources\",\"name\":\"API Data Sources\",\"description\":\"Visual Radio Assist allows you to integrate external data feeds directly into your visual content, bringing real-time information to your broadcast.\",\"url\":\"https://docs.visualradioassist.live/api-data-sources\",\"mainEntityOfPage\":{\"@id\":\"https://docs.visualradioassist.live/api-data-sources#webpage\"},\"dateModified\":\"2026-07-28T12:07:21.398Z\",\"publisher\":{\"@id\":\"https://docs.visualradioassist.live/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.visualradioassist.live#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Docs","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Getting started","icon":"compass","href":"/getting-started"},{"title":"Essentials","icon":"clover","href":"/essentials"},{"title":"Studio Overview","icon":"sliders","href":"/studio-overview"},{"title":"Video guides","icon":"clapperboard","href":"/video-guides"},{"group":"Try Out","icon":"flask","pages":[{"title":"Try Out","icon":"flask","href":"/try-out"},{"title":"Try Out – Fair Use Policy","icon":"scale-balanced","href":"/try-out/try-out-fair-use-policy"}]},{"title":"Glossary","icon":"book","href":"/glossary"}]},{"group":"Products","pages":[{"group":"Scheduling","icon":"calendar","pages":[{"title":"Scheduling","icon":"calendar","href":"/scheduling"},{"title":"Create a program","icon":"calendar-plus","href":"/scheduling/create-a-new-program"},{"title":"Presenters","icon":"users","href":"/presenters"},{"title":"Scheduling overrides","icon":"layer-group","href":"/scheduling/overrides"},{"title":"Program and presenter settings","icon":"gear","href":"/scheduling/program-settings"},{"title":"Troubleshoot Scheduling","icon":"wrench","href":"/scheduling/troubleshooting"}]},{"group":"Cameras","icon":"video","pages":[{"title":"Cameras","icon":"video","href":"/cameras"},{"title":"Camera Editor","icon":"sliders","href":"/cameras/camera-editor"},{"title":"Migrate from legacy cameras","icon":"arrow-right-arrow-left","href":"/cameras/migrate-from-camera-angles"}]},{"group":"Audio Manager","icon":"volume-high","pages":[{"title":"Get Started with Audio Directed auto-switching","icon":"volume-high","href":"/audio-manager"},{"title":"Audio Triggers","icon":"wave-square","href":"/audio-manager/audio-triggers"},{"title":"Fallback scenarios","icon":"life-ring","href":"/audio-manager/fallback-scenarios"},{"title":"Tweak Trigger Settings","icon":"sliders","href":"/audio-manager/tweak-trigger-settings"}]},{"group":"Automations and macros","icon":"bolt","pages":[{"title":"Automations","icon":"robot","href":"/automations"},{"title":"Macros","icon":"wand-magic-sparkles","href":"/macros"}]},{"group":"Outputs","icon":"tv","pages":[{"title":"Output Settings","icon":"gear","href":"/output-settings"},{"group":"Output Editor","icon":"table-list","pages":[{"title":"Output Editor","icon":"table-list","href":"/output-editor"},{"title":"Create your first Output","icon":"tv","href":"/getting-started/create-your-first-output"},{"title":"Output Rundowns","icon":"list-check","href":"/output-editor/output-rundowns"}]},{"title":"Manual Playout","icon":"play","href":"/manual-playout"},{"title":"Episode Playout","icon":"list-ol","href":"/episode-playout"},{"title":"Composition Editor","icon":"layer-group","href":"/composition-editor"},{"title":"Media Hub","icon":"photo-film","href":"/media-hub"},{"title":"Media Meta Data","icon":"tags","href":"/media-meta-data"},{"title":"Variables","icon":"brackets-curly","description":"Variables hold the values your visuals read at playout. Every variable has a scope: Station or Visual.","href":"/variables"},{"title":"API Data Sources","icon":"plug","href":"/api-data-sources"}]},{"group":"Visual Designer","icon":"pen-ruler","pages":[{"title":"Get Started with Visual Radio Graphics","icon":"pen-ruler","description":"Design animated graphics with live data in the Visual Designer: create a Visual, add text, shape and media layers, and show it on your Outputs.","href":"/visual-designer"},{"title":"Design your first Visual","icon":"paintbrush","href":"/getting-started/design-your-first-visual"},{"title":"Visual Templates","icon":"swatchbook","href":"/visual-designer/visual-templates"},{"title":"Bodymovin / Lottie Animation Layer","icon":"sparkles","href":"/visual-designer/bodymovin-lottie-animation-layer"},{"title":"Use your custom font","icon":"font","href":"/getting-started/use-your-custom-font"}]},{"group":"Clips","icon":"scissors","pages":[{"title":"Get Started with Clips","icon":"scissors","href":"/clips"},{"group":"Media Server ingest sources","icon":"server","pages":[{"title":"Media Server Ingest Sources","icon":"server","href":"/clips/media-server-ingest-sources"},{"title":"Media Connections","icon":"plug","href":"/clips/media-server-ingest-sources/media-connections"}]},{"title":"Managing your Clips recordings","icon":"film","href":"/clips/managing-your-clips-recordings"},{"title":"Editing your Clips in a Project","icon":"pen-to-square","href":"/clips/editing-your-clips-in-a-project"},{"title":"Making your Clips ready for publish","icon":"upload","href":"/clips/making-your-clips-ready-for-publish"}]},{"title":"Dashboards","icon":"gauge","href":"/dashboards"}]},{"group":"Install and set up","pages":[{"title":"Machine Specs","icon":"microchip","href":"/machine-specs"},{"title":"Network Connectivity","icon":"network-wired","href":"/network-connectivity"},{"title":"Setup","icon":"sliders","href":"/set-up"},{"title":"Set up a new Core App","icon":"server","href":"/set-up/set-up-a-new-core-app"},{"group":"Advanced installation","icon":"download","root":{"title":"Advanced Installation","icon":"download","href":"/advanced-installation"},"pages":[{"title":"Update Policy","href":"/advanced-installation/update-policy"},{"title":"Manual Update Process","href":"/advanced-installation/manual-update-process"},{"title":"Direct Local Bus / API SSL Connection","href":"/advanced-installation/direct-local-bus-api-ssl-connection"}]}]},{"group":"Devices and integrations","pages":[{"group":"Video switcher configuration","icon":"shuffle","root":{"title":"Video Switcher Configuration","href":"/set-up/video-switcher-configuration"},"pages":[{"title":"Use ATEM as Video Switcher for Visual Radio","sidebarTitle":"ATEM","href":"/set-up/video-switcher-configuration/use-atem-as-video-switcher-for-visual-radio"},{"title":"Use vMix as Video Playout for Visual Radio","sidebarTitle":"vMix","href":"/set-up/video-switcher-configuration/use-vmix-as-video-playout-for-visual-radio"},{"title":"Use OBS as Video Switcher for Visual Radio","sidebarTitle":"OBS","href":"/set-up/video-switcher-configuration/use-obs-as-video-switcher-for-visual-radio"},{"title":"Use your Output Player as Input in OBS","sidebarTitle":"Output player in OBS","href":"/getting-started/use-your-output-player-as-input-in-obs"}]},{"group":"Link radio automation","icon":"link","root":{"title":"Link Radio Automation","href":"/set-up/link-radio-automation"},"pages":[{"title":"Radio Automation Data (AutomationLink)","sidebarTitle":"AutomationLink data","href":"/radio-automation-data"},{"title":"Link AerOn Studio to Visual Radio","sidebarTitle":"AerOn Studio","href":"/set-up/link-radio-automation/link-aeron-studio-to-visual-radio"},{"title":"Link Audisi GML to Visual Radio","sidebarTitle":"Audisi GML","href":"/set-up/link-radio-automation/link-audisi-gml-to-visual-radio"},{"title":"Link Caliope OnAir to Visual Radio","sidebarTitle":"Caliope OnAir","href":"/set-up/link-radio-automation/link-caliope-onair-to-visual-radio"},{"title":"Link mAirList to Visual Radio","sidebarTitle":"mAirList","href":"/set-up/link-radio-automation/link-mairlist-to-visual-radio"},{"title":"Link OmniPlayer to Visual Radio","sidebarTitle":"OmniPlayer","href":"/set-up/link-radio-automation/link-omniplayer-to-visual-radio"},{"title":"Use OmniPlayer Video Files with Visual Radio","sidebarTitle":"OmniPlayer video files","href":"/set-up/link-radio-automation/use-omniplayer-video-files-with-visual-radio"},{"title":"Link Power Studio to Visual Radio","sidebarTitle":"Power Studio","href":"/set-up/link-radio-automation/link-power-studio-to-visual-radio"},{"title":"Link ProppFrexx ONAIR to Visual Radio","sidebarTitle":"ProppFrexx ONAIR","href":"/set-up/link-radio-automation/link-proppfrexx-onair-to-visual-radio"},{"title":"Link RCS Zetta to Visual Radio","sidebarTitle":"RCS Zetta","href":"/set-up/link-radio-automation/link-rcs-zetta-to-visual-radio"},{"title":"Link Text File Now Playing to Visual Radio","sidebarTitle":"Text file","href":"/set-up/link-radio-automation/link-text-file-now-playing-to-visual-radio"},{"title":"Link Zenon Media to Visual Radio","sidebarTitle":"Zenon Media","href":"/set-up/link-radio-automation/link-zenon-media-to-visual-radio"},{"group":"Request an integration","pages":[{"title":"Link PlayIt Live to Visual Radio","sidebarTitle":"PlayIt Live","href":"/set-up/link-radio-automation/link-playit-live-data-to-visual-radio"},{"title":"Link RadioDJ to Visual Radio","sidebarTitle":"RadioDJ","href":"/set-up/link-radio-automation/link-radiodj-to-visual-radio"},{"title":"Link winMedia to Visual Radio","sidebarTitle":"winMedia","href":"/set-up/link-radio-automation/link-winmedia-to-visual-radio"},{"title":"Link Dalet to Visual Radio","sidebarTitle":"Dalet","href":"/set-up/link-radio-automation/link-dalet-to-visual-radio"},{"title":"Link RCS Sound Software to Visual Radio","sidebarTitle":"RCS Sound Software","href":"/set-up/link-radio-automation/link-rcs-sound-software-to-visual-radio"},{"title":"Link DAVID Systems to Visual Radio","sidebarTitle":"DAVID Systems","href":"/set-up/link-radio-automation/link-david-systems-to-visual-radio"},{"title":"Link DABiS 800 to Visual Radio","sidebarTitle":"DABiS 800","href":"/set-up/link-radio-automation/link-dabis-800-to-visual-radio"}]}]},{"title":"Connect PTZ cameras","icon":"camera","href":"/set-up/connect-ptz-cameras"},{"title":"Map Output Player Devices","icon":"diagram-project","href":"/set-up/map-output-player-devices"},{"title":"Audio devices","icon":"microphone","href":"/set-up/configure-available-audio-device-inputs"}]},{"group":"Administration","pages":[{"title":"User Management","icon":"users-gear","href":"/user-management"},{"title":"Broadcaster Management","icon":"building","href":"/broadcaster-management"},{"title":"Lock Resources","icon":"lock","href":"/lock-resources"},{"title":"Resource archival","icon":"box-archive","href":"/resource-archival"},{"title":"Tagging Resources","icon":"tag","href":"/tagging-resources"}]},{"group":"Troubleshooting","pages":[{"title":"Troubleshooting","icon":"life-ring","href":"/troubleshooting"},{"title":"Troubleshoot the server apps","icon":"screwdriver-wrench","href":"/set-up/troubleshooting"},{"title":"Troubleshoot the Output Player","icon":"tv","href":"/output-settings/troubleshooting"}]},{"group":"Develop with VRA","pages":[{"title":"Develop with VRA","icon":"code","href":"/develop-with-vra"},{"group":"Develop visual graphics","icon":"palette","pages":[{"title":"Develop Visual Graphics","icon":"palette","href":"/develop-with-vra/develop-visual-graphics"},{"title":"Layer Transition Lifecycle for CSS","href":"/develop-with-vra/develop-visual-graphics/layer-transition-lifecycle-for-css"},{"title":"GSAP Animations with Visual Radio Graphics","href":"/develop-with-vra/develop-visual-graphics/gsap-animations-with-visual-radio-graphics"}]},{"group":"Core Control API","icon":"plug","pages":[{"title":"Core Control API","icon":"plug","href":"/develop-with-vra/core-control-api"},{"title":"Connectivity and Access management","href":"/develop-with-vra/core-control-api/connectivity-and-access-management"},{"title":"Authentication and LAN access","href":"/develop-with-vra/core-control-api/authentication-and-lan-access"},{"title":"Routes","href":"/develop-with-vra/core-control-api/routes"},{"title":"Plain-text routes","href":"/develop-with-vra/core-control-api/plain-text-routes"},{"title":"TCP and OSC","href":"/develop-with-vra/core-control-api/tcp-and-osc"},{"title":"Station safety","href":"/develop-with-vra/core-control-api/station-safety"},{"title":"Errors and status codes","href":"/develop-with-vra/core-control-api/errors-and-status-codes"},{"title":"Stream Deck","href":"/develop-with-vra/core-control-api/stream-deck"},{"title":"Bitfocus Companion Module","href":"/develop-with-vra/core-control-api/bitfocus-companion-module"},{"title":"Bitfocus Companion Control over Visual Radio","href":"/develop-with-vra/core-control-api/bitfocus-companion-control-over-visual-radio"},{"title":"SKAARHOJ","href":"/develop-with-vra/core-control-api/skaarhoj"},{"title":"OpenAPI","href":"/develop-with-vra/core-control-api/openapi"},{"group":"Reference","pages":[{"group":"system","pages":[{"title":"API info","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/","href":"/api-reference/system/api-info"},{"title":"State snapshot","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/state","href":"/api-reference/system/state-snapshot"},{"title":"Health check","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/health","href":"/api-reference/system/health-check"},{"title":"List fleet apps","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/clients","href":"/api-reference/system/list-fleet-apps"},{"title":"Request log","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/requests","href":"/api-reference/system/request-log"},{"title":"SKAARHOJ parameter files","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/presets/skaarhoj","href":"/api-reference/system/skaarhoj-parameter-files"}]},{"group":"core","pages":[{"title":"Get Core","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core","href":"/api-reference/core/get-core"},{"title":"Get Core state","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/state","href":"/api-reference/core/get-core-state"},{"title":"Check if Core is active","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/active","href":"/api-reference/core/check-if-core-is-active"},{"title":"Activate Core","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/activate","href":"/api-reference/core/activate-core"},{"title":"Deactivate Core","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/deactivate","href":"/api-reference/core/deactivate-core"},{"title":"Toggle Core","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/toggle","href":"/api-reference/core/toggle-core"},{"title":"Reload Core configuration","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/reload-config","href":"/api-reference/core/reload-core-configuration"},{"title":"Restart fleet apps","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/core/restart-apps","href":"/api-reference/core/restart-fleet-apps"}]},{"group":"studio","pages":[{"title":"Get studio","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio","href":"/api-reference/studio/get-studio"},{"title":"Get studio status","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/status","href":"/api-reference/studio/get-studio-status"},{"title":"Put studio on air","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/onair","href":"/api-reference/studio/put-studio-on-air"},{"title":"Put studio in recording","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/recording","href":"/api-reference/studio/put-studio-in-recording"},{"title":"Take studio off air","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/offair","href":"/api-reference/studio/take-studio-off-air"},{"title":"Toggle studio on air","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/toggle","href":"/api-reference/studio/toggle-studio-on-air"},{"title":"Set studio status","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/studio/set","href":"/api-reference/studio/set-studio-status"}]},{"group":"station","pages":[{"title":"Get station","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/station","href":"/api-reference/station/get-station"},{"title":"Get programs","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/station/program","href":"/api-reference/station/get-programs"},{"title":"Get program title","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/station/program/title","href":"/api-reference/station/get-program-title"}]},{"group":"signals","pages":[{"title":"List signals","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals","href":"/api-reference/signals/list-signals"},{"title":"Get signal","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}","href":"/api-reference/signals/get-signal"},{"title":"Get signal value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}/value","href":"/api-reference/signals/get-signal-value"},{"title":"Switch signal on","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}/on","href":"/api-reference/signals/switch-signal-on"},{"title":"Switch signal off","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}/off","href":"/api-reference/signals/switch-signal-off"},{"title":"Toggle signal","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}/toggle","href":"/api-reference/signals/toggle-signal"},{"title":"Set signal value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/signals/{id}/set","href":"/api-reference/signals/set-signal-value"},{"title":"Get Audio Director","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/audio-director","href":"/api-reference/signals/get-audio-director"},{"title":"Get Audio Director value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/audio-director/value","href":"/api-reference/signals/get-audio-director-value"},{"title":"Switch Audio Director on","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/audio-director/on","href":"/api-reference/signals/switch-audio-director-on"},{"title":"Switch Audio Director off","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/audio-director/off","href":"/api-reference/signals/switch-audio-director-off"},{"title":"Toggle Audio Director","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/audio-director/toggle","href":"/api-reference/signals/toggle-audio-director"},{"title":"Get Camera Assist","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/camera-assist","href":"/api-reference/signals/get-camera-assist"},{"title":"Get Camera Assist value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/camera-assist/value","href":"/api-reference/signals/get-camera-assist-value"},{"title":"Switch Camera Assist on","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/camera-assist/on","href":"/api-reference/signals/switch-camera-assist-on"},{"title":"Switch Camera Assist off","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/camera-assist/off","href":"/api-reference/signals/switch-camera-assist-off"},{"title":"Toggle Camera Assist","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/camera-assist/toggle","href":"/api-reference/signals/toggle-camera-assist"}]},{"group":"macros","pages":[{"title":"List macros","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/macros","href":"/api-reference/macros/list-macros"},{"title":"Get macro","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/macros/{id}","href":"/api-reference/macros/get-macro"},{"title":"Check if macro is running","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/macros/{id}/active","href":"/api-reference/macros/check-if-macro-is-running"},{"title":"Trigger macro","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/macros/{id}/trigger","href":"/api-reference/macros/trigger-macro"}]},{"group":"automations","pages":[{"title":"List automations","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/automations","href":"/api-reference/automations/list-automations"},{"title":"Get automation","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/automations/{id}","href":"/api-reference/automations/get-automation"},{"title":"Get automation state","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/automations/{id}/state","href":"/api-reference/automations/get-automation-state"}]},{"group":"cameras","pages":[{"title":"List cameras","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras","href":"/api-reference/cameras/list-cameras"},{"title":"Get camera","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}","href":"/api-reference/cameras/get-camera"},{"title":"List camera angles","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}/angles","href":"/api-reference/cameras/list-camera-angles"},{"title":"Check if camera is on air","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}/on-air","href":"/api-reference/cameras/check-if-camera-is-on-air"},{"title":"Get angle","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/angles/{id}","href":"/api-reference/cameras/get-angle"},{"title":"Cut camera to program","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}/cut","href":"/api-reference/cameras/cut-camera-to-program"},{"title":"Take camera to preview","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}/preview","href":"/api-reference/cameras/take-camera-to-preview"},{"title":"Run angle","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/angles/{id}/trigger","href":"/api-reference/cameras/run-angle"},{"title":"Run camera angle","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/cameras/{id}/angles/{angle}/trigger","href":"/api-reference/cameras/run-camera-angle"}]},{"group":"variables","pages":[{"title":"List variables","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables","href":"/api-reference/variables/list-variables"},{"title":"Get variable","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}","href":"/api-reference/variables/get-variable"},{"title":"Get variable value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}/value","href":"/api-reference/variables/get-variable-value"},{"title":"Set variable value","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}/set","href":"/api-reference/variables/set-variable-value"},{"title":"Set variable to true","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}/on","href":"/api-reference/variables/set-variable-to-true"},{"title":"Set variable to false","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}/off","href":"/api-reference/variables/set-variable-to-false"},{"title":"Toggle variable","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/variables/{name}/toggle","href":"/api-reference/variables/toggle-variable"}]},{"group":"outputs","pages":[{"title":"List outputs","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs","href":"/api-reference/outputs/list-outputs"},{"title":"Get output","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}","href":"/api-reference/outputs/get-output"},{"title":"Get output status","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/status","href":"/api-reference/outputs/get-output-status"},{"title":"Get on-air scene","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/scene","href":"/api-reference/outputs/get-on-air-scene"},{"title":"List output scenes","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/scenes","href":"/api-reference/outputs/list-output-scenes"},{"title":"Get playout scenes","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/playout","href":"/api-reference/outputs/get-playout-scenes"},{"title":"Take scene","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/scenes/{scene}/take","href":"/api-reference/outputs/take-scene"},{"title":"Take next rundown item","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/rundown/next","href":"/api-reference/outputs/take-next-rundown-item"},{"title":"Take previous rundown item","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/rundown/previous","href":"/api-reference/outputs/take-previous-rundown-item"},{"title":"Take rundown item","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/rundown/take","href":"/api-reference/outputs/take-rundown-item"},{"title":"Set next rundown item","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/rundown/set-next","href":"/api-reference/outputs/set-next-rundown-item"},{"title":"Play clip","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/clips/{number}/play","href":"/api-reference/outputs/play-clip"},{"title":"Take out all graphics","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/graphics/take-out-all","href":"/api-reference/outputs/take-out-all-graphics"},{"title":"Reload output","deprecated":null,"version":null,"openapi":"/api-reference/core-api/openapi.json get /api/v2/outputs/{slot}/reload","href":"/api-reference/outputs/reload-output"}]}]},{"title":"Legacy routes","href":"/develop-with-vra/core-control-api/legacy-routes"},{"title":"Core API Endpoints","href":"/develop-with-vra/core-control-api/core-api-endpoints"}]},{"group":"Cloud GraphQL API","icon":"diagram-project","pages":[{"title":"Cloud GraphQL API","icon":"diagram-project","href":"/develop-with-vra/cloud-graphql-api"},{"title":"Machine Users","href":"/develop-with-vra/cloud-graphql-api/machine-users"},{"title":"AutomationLink ingest","icon":"music","href":"/develop-with-vra/cloud-graphql-api/automationlink-ingest"},{"title":"Studio control","icon":"tower-broadcast","href":"/develop-with-vra/cloud-graphql-api/studio-control"}]},{"title":"Generic HTTP Radio Automation Link","icon":"globe","href":"/develop-with-vra/generic-http-radio-automation-link"},{"title":"Connecting with AutomationLink","icon":"link","href":"/develop-with-vra/connecting-with-automationlink"}]}]},"title":"API Data Sources - Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-B0E5HDf_.js","lightbox-handle-r17bVUz3.js"]}