{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
        "slug": "resolve-an-axis-transformation-input-before-accepting-its-output-version",
        "url": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/resolve-an-axis-transformation-input-before-accepting-its-output-version/"
        },
        "title": "Resolve an Axis transformation input before accepting its output version",
        "summary": "Check the input topic behind an Axis transformation before interpreting its default output version. A missing input can produce a temporary 0.0.0 placeholder rather than verified output.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "advisory",
            "name": "Advisory"
        },
        "featured": false,
        "image": {
            "theme": "physical-security",
            "label": "Physical security",
            "alt": "Integrated video surveillance and controlled entry at a modern commercial facility.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/physical-security-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/physical-security-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/physical-security-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            },
            {
                "slug": "video-surveillance",
                "name": "Video Surveillance",
                "url": "https://update.dsesecurity.com/topic/video-surveillance/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-10-29T19:50:02+00:00",
        "modified_at": "2026-10-29T19:50:08+00:00",
        "reviewed_on": "2026-10-29",
        "reading_minutes": 3,
        "word_count": 532,
        "potentially_affected": "Axis products exposing the documented Data transformation API interface; confirm actual device, hardware and software applicability before applying the proposed checks.",
        "dse_recommendation": "DSE recommends recording the input dependency and version-selection mode with every transformation acceptance check.",
        "primary_source": {
            "name": "Axis Communications — Data transformation API",
            "url": "https://developer.axis.com/vapix/device-configuration/data-transformation/",
            "published_on": null,
            "authority": "Axis Communications"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<p><strong>Bottom line:</strong> Resolve the transformation’s input dependency before accepting its output-version label. Keep a deliberately supplied version separate from the documented defaulting behavior, and verify actual transformed data before connecting a consumer.</p>\n<h2>Source fact: documented behavior</h2>\n<p>Axis’s <a href=\"https://developer.axis.com/vapix/device-configuration/data-transformation/\" target=\"_blank\" rel=\"noopener noreferrer\">Data transformation API</a> configures transformations from an input topic to an output topic using JQ expressions for Device Data Hub JSON data.</p>\n<p>If <code>outputTopicVersion</code> is omitted, its default follows the input topic’s version; when that input is absent at creation, the documented placeholder is <code>0.0.0</code> and updates when the input becomes available.</p>\n<p>The available-input topic list is a current observation rather than a fixed catalog: the source allows transformations to be configured for topics that do not yet exist.</p>\n<h2>What the source does not establish</h2>\n<p>Do not interpret every observed <code>0.0.0</code> as proof of a missing input. First establish whether the version was explicitly configured or obtained through the described default. Do not treat successful creation of a transform as acceptance of its output schema, expression correctness or delivery to an external consumer.</p>\n<h2>Applicability questions</h2>\n<ul>\n<li>Which exact input topic should supply this transformation?</li>\n<li>Was an output version explicitly supplied or left to default?</li>\n<li>Is the expected input currently available on this device?</li>\n<li>Which approved input and expected output will demonstrate the intended transformation?</li>\n</ul>\n<h2>DSE recommendation: controlled next steps</h2>\n<p><em>The following steps are DSE recommendations based on the cited source.</em></p>\n<p>DSE recommends recording the input dependency and version-selection mode with every transformation acceptance check.</p>\n<ol>\n<li>Read the transformation configuration and identify the input topic, expression and intended output. Record whether the output version is explicit or defaulted. Retrieve the current available-input list and compare the exact topic identifier, rather than using a similar display name. Keep an absent input visible as a dependency to resolve with its producer owner.</li>\n<li>For a proposed isolated exercise, prepare an approved transformation before its test input becomes available, using the documented default-version behavior. Mark that sequence as a fixture, not an observed device state. Inspect the saved configuration and version, then introduce the supported input through its approved producer workflow. Re-read the version and retain the actual transition instead of assuming it occurred.</li>\n<li>Use harmless representative JSON input and compare the resulting output with the consumer’s written requirement. Review transformation statistics through the supported interface when investigating missing or unexpected output. Keep input availability, expression processing and consumer receipt as separate observations. Do not change a version string merely to conceal an unresolved producer dependency.</li>\n</ol>\n<h2>Verification and evidence</h2>\n<p>Retain sanitized configuration, version-selection mode, available-topic observations and the permitted input/output comparison. Identify when the input became available and when the output was actually observed. Have a reviewer explain the placeholder case without treating the version label alone as evidence that useful data was produced.</p>\n<p>Add a separate desk case with an explicitly chosen version and require the reviewer to avoid applying the default-placeholder explanation automatically. Preserve failures and unavailable evidence as open items. The proposed checks do not establish a tested transformation, a particular producer release or an external delivery guarantee.</p>\n<h2>Official references</h2>\n<ul>\n<li><a href=\"https://developer.axis.com/vapix/device-configuration/data-transformation/\" target=\"_blank\" rel=\"noopener noreferrer\">Data transformation API</a> — Axis Communications; official VAPIX documentation.</li>\n</ul>\n<p>Source review completed October 29, 2026. Recheck the official documentation and the deployed device’s capabilities before changing production settings.</p>\n",
        "content_text": "Bottom line: Resolve the transformation’s input dependency before accepting its output-version label. Keep a deliberately supplied version separate from the documented defaulting behavior, and verify actual transformed data before connecting a consumer.\nSource fact: documented behavior\nAxis’s Data transformation API configures transformations from an input topic to an output topic using JQ expressions for Device Data Hub JSON data.\nIf outputTopicVersion is omitted, its default follows the input topic’s version; when that input is absent at creation, the documented placeholder is 0.0.0 and updates when the input becomes available.\nThe available-input topic list is a current observation rather than a fixed catalog: the source allows transformations to be configured for topics that do not yet exist.\nWhat the source does not establish\nDo not interpret every observed 0.0.0 as proof of a missing input. First establish whether the version was explicitly configured or obtained through the described default. Do not treat successful creation of a transform as acceptance of its output schema, expression correctness or delivery to an external consumer.\nApplicability questions\n\nWhich exact input topic should supply this transformation?\nWas an output version explicitly supplied or left to default?\nIs the expected input currently available on this device?\nWhich approved input and expected output will demonstrate the intended transformation?\n\nDSE recommendation: controlled next steps\nThe following steps are DSE recommendations based on the cited source.\nDSE recommends recording the input dependency and version-selection mode with every transformation acceptance check.\n\nRead the transformation configuration and identify the input topic, expression and intended output. Record whether the output version is explicit or defaulted. Retrieve the current available-input list and compare the exact topic identifier, rather than using a similar display name. Keep an absent input visible as a dependency to resolve with its producer owner.\nFor a proposed isolated exercise, prepare an approved transformation before its test input becomes available, using the documented default-version behavior. Mark that sequence as a fixture, not an observed device state. Inspect the saved configuration and version, then introduce the supported input through its approved producer workflow. Re-read the version and retain the actual transition instead of assuming it occurred.\nUse harmless representative JSON input and compare the resulting output with the consumer’s written requirement. Review transformation statistics through the supported interface when investigating missing or unexpected output. Keep input availability, expression processing and consumer receipt as separate observations. Do not change a version string merely to conceal an unresolved producer dependency.\n\nVerification and evidence\nRetain sanitized configuration, version-selection mode, available-topic observations and the permitted input/output comparison. Identify when the input became available and when the output was actually observed. Have a reviewer explain the placeholder case without treating the version label alone as evidence that useful data was produced.\nAdd a separate desk case with an explicitly chosen version and require the reviewer to avoid applying the default-placeholder explanation automatically. Preserve failures and unavailable evidence as open items. The proposed checks do not establish a tested transformation, a particular producer release or an external delivery guarantee.\nOfficial references\n\nData transformation API — Axis Communications; official VAPIX documentation.\n\nSource review completed October 29, 2026. Recheck the official documentation and the deployed device’s capabilities before changing production settings.",
        "content_markdown": "Bottom line: Resolve the transformation’s input dependency before accepting its output-version label. Keep a deliberately supplied version separate from the documented defaulting behavior, and verify actual transformed data before connecting a consumer.\n\n## Source fact: documented behavior\n\nAxis’s [Data transformation API](https://developer.axis.com/vapix/device-configuration/data-transformation/) configures transformations from an input topic to an output topic using JQ expressions for Device Data Hub JSON data.\n\nIf outputTopicVersion is omitted, its default follows the input topic’s version; when that input is absent at creation, the documented placeholder is 0.0.0 and updates when the input becomes available.\n\nThe available-input topic list is a current observation rather than a fixed catalog: the source allows transformations to be configured for topics that do not yet exist.\n\n## What the source does not establish\n\nDo not interpret every observed 0.0.0 as proof of a missing input. First establish whether the version was explicitly configured or obtained through the described default. Do not treat successful creation of a transform as acceptance of its output schema, expression correctness or delivery to an external consumer.\n\n## Applicability questions\n\n- Which exact input topic should supply this transformation?\n\n- Was an output version explicitly supplied or left to default?\n\n- Is the expected input currently available on this device?\n\n- Which approved input and expected output will demonstrate the intended transformation?\n\n## DSE recommendation: controlled next steps\n\nThe following steps are DSE recommendations based on the cited source.\n\nDSE recommends recording the input dependency and version-selection mode with every transformation acceptance check.\n\n- Read the transformation configuration and identify the input topic, expression and intended output. Record whether the output version is explicit or defaulted. Retrieve the current available-input list and compare the exact topic identifier, rather than using a similar display name. Keep an absent input visible as a dependency to resolve with its producer owner.\n\n- For a proposed isolated exercise, prepare an approved transformation before its test input becomes available, using the documented default-version behavior. Mark that sequence as a fixture, not an observed device state. Inspect the saved configuration and version, then introduce the supported input through its approved producer workflow. Re-read the version and retain the actual transition instead of assuming it occurred.\n\n- Use harmless representative JSON input and compare the resulting output with the consumer’s written requirement. Review transformation statistics through the supported interface when investigating missing or unexpected output. Keep input availability, expression processing and consumer receipt as separate observations. Do not change a version string merely to conceal an unresolved producer dependency.\n\n## Verification and evidence\n\nRetain sanitized configuration, version-selection mode, available-topic observations and the permitted input/output comparison. Identify when the input became available and when the output was actually observed. Have a reviewer explain the placeholder case without treating the version label alone as evidence that useful data was produced.\n\nAdd a separate desk case with an explicitly chosen version and require the reviewer to avoid applying the default-placeholder explanation automatically. Preserve failures and unavailable evidence as open items. The proposed checks do not establish a tested transformation, a particular producer release or an external delivery guarantee.\n\n## Official references\n\n- [Data transformation API](https://developer.axis.com/vapix/device-configuration/data-transformation/) — Axis Communications; official VAPIX documentation.\n\nSource review completed October 29, 2026. Recheck the official documentation and the deployed device’s capabilities before changing production settings."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
                "url": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-10-29"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "IT",
                        "item": "https://update.dsesecurity.com/topic/it/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 3,
                        "name": "Resolve an Axis transformation input before accepting its output version",
                        "item": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/#article",
                "identifier": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
                "url": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/",
                "headline": "Resolve an Axis transformation input before accepting its output version",
                "description": "Check the input topic behind an Axis transformation before interpreting its default output version.",
                "abstract": "Check the input topic behind an Axis transformation before interpreting its default output version. A missing input can produce a temporary 0.0.0 placeholder rather than verified output.",
                "articleBody": "Bottom line: Resolve the transformation’s input dependency before accepting its output-version label. Keep a deliberately supplied version separate from the documented defaulting behavior, and verify actual transformed data before connecting a consumer.\nSource fact: documented behavior\nAxis’s Data transformation API configures transformations from an input topic to an output topic using JQ expressions for Device Data Hub JSON data.\nIf outputTopicVersion is omitted, its default follows the input topic’s version; when that input is absent at creation, the documented placeholder is 0.0.0 and updates when the input becomes available.\nThe available-input topic list is a current observation rather than a fixed catalog: the source allows transformations to be configured for topics that do not yet exist.\nWhat the source does not establish\nDo not interpret every observed 0.0.0 as proof of a missing input. First establish whether the version was explicitly configured or obtained through the described default. Do not treat successful creation of a transform as acceptance of its output schema, expression correctness or delivery to an external consumer.\nApplicability questions\n\nWhich exact input topic should supply this transformation?\nWas an output version explicitly supplied or left to default?\nIs the expected input currently available on this device?\nWhich approved input and expected output will demonstrate the intended transformation?\n\nDSE recommendation: controlled next steps\nThe following steps are DSE recommendations based on the cited source.\nDSE recommends recording the input dependency and version-selection mode with every transformation acceptance check.\n\nRead the transformation configuration and identify the input topic, expression and intended output. Record whether the output version is explicit or defaulted. Retrieve the current available-input list and compare the exact topic identifier, rather than using a similar display name. Keep an absent input visible as a dependency to resolve with its producer owner.\nFor a proposed isolated exercise, prepare an approved transformation before its test input becomes available, using the documented default-version behavior. Mark that sequence as a fixture, not an observed device state. Inspect the saved configuration and version, then introduce the supported input through its approved producer workflow. Re-read the version and retain the actual transition instead of assuming it occurred.\nUse harmless representative JSON input and compare the resulting output with the consumer’s written requirement. Review transformation statistics through the supported interface when investigating missing or unexpected output. Keep input availability, expression processing and consumer receipt as separate observations. Do not change a version string merely to conceal an unresolved producer dependency.\n\nVerification and evidence\nRetain sanitized configuration, version-selection mode, available-topic observations and the permitted input/output comparison. Identify when the input became available and when the output was actually observed. Have a reviewer explain the placeholder case without treating the version label alone as evidence that useful data was produced.\nAdd a separate desk case with an explicitly chosen version and require the reviewer to avoid applying the default-placeholder explanation automatically. Preserve failures and unavailable evidence as open items. The proposed checks do not establish a tested transformation, a particular producer release or an external delivery guarantee.\nOfficial references\n\nData transformation API — Axis Communications; official VAPIX documentation.\n\nSource review completed October 29, 2026. Recheck the official documentation and the deployed device’s capabilities before changing production settings.",
                "datePublished": "2026-10-29T19:50:02+00:00",
                "dateModified": "2026-10-29T19:50:08+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/resolve-an-axis-transformation-input-before-accepting-its-output-version/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/physical-security-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/physical-security-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Resolve an Axis transformation input before accepting its output version"
                },
                "articleSection": [
                    "IT",
                    "Video Surveillance"
                ],
                "keywords": [
                    "IT",
                    "Video Surveillance",
                    "Guide",
                    "Advisory priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    },
                    {
                        "@type": "Thing",
                        "name": "Video Surveillance",
                        "url": "https://update.dsesecurity.com/topic/video-surveillance/"
                    }
                ],
                "wordCount": 532,
                "timeRequired": "PT3M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Axis Communications — Data transformation API",
                    "url": "https://developer.axis.com/vapix/device-configuration/data-transformation/"
                }
            }
        ]
    }
}