# AS3 per-app JSON schema issue

**URL:** <https://community.f5.com/t/as3-per-app-json-schema-issue/77185>\
**Category:** Technical Forums\
**Tags:** deployment, dev, as3\
**Created:** [June 11, 2026, 10:20pm UTC](https://community.f5.com/t/as3-per-app-json-schema-issue/77185 "2026-06-11T22:20:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkyrc](https://avatars.discourse-cdn.com/v4/letter/m/8491ac/32.png) [@mkyrc](https://community.f5.com/u/mkyrc)\
**Post date:** [June 11, 2026, 10:20pm UTC](https://community.f5.com/t/as3-per-app-json-schema-issue/77185/1 "2026-06-11T22:20:31Z")

</div>

Hello,

I’d like to validate per-app declaration against vendor specific `per-app-schema` json schema file in vscode editor. Therefore I added there ‘$schema’ object with valid schema file url, but it seems, that `$schema` object is not valid for per-app declaration.

Here is my simple example (f5as3-ltm\_app-based.cfg.yaml.as3.json file):

```json
{
    "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/per-app-schema.json",
    "schemaVersion": "3.54.0",
    "id": "urn:uuid:9ee77479-b1d9-5dfe-b0e6-bd1c65c10b8d",
    "controls": {
        "class": "Controls",
        "logLevel": "debug",
        "trace": true
    },
    "app_test": {
        "class": "Application",
        "mon-tcp_test": {
            "class": "Monitor",
            "monitorType": "tcp",
            "remark": "AS3>app_test"
        }
    }
}

```

When I validate this file against per-app-schema.json it fails with this message:

```bash
$ jsonschema -i f5as3-ltm_app-based.cfg.yaml.as3.json per-app-schema.json

https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/per-app-schema.json: 'https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/per-app-schema.json' is not of type 'object'

$schema: '$schema' does not match '^[A-Za-z][0-9A-Za-z_.-]*$'

```

When ‘$schema’ object is removed, validation using e.g. jsonschema is correct, but vscode can’t validate edited file. I know, that I can map file to local schema file, but I’d like to use ‘$schema’ object with url to vendor’s schema file.

It works for ‘tenant-based’ declaration (in vscode, also validation using e.g. jsonchema is correct):

```json
{
    "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/as3-schema.json",
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.56.0",
        "id": "urn:uuid:9ee77479-b1d9-5dfe-b0e6-bd1c65c10b8d",
        "updateMode": "selective",
        "tenant_test": {
            "class": "Tenant",
            "defaultRouteDomain": 0,
            "app_test": {
                "class": "Application",
                "mon-tcp_test": {
                    "class": "Monitor",
                    "monitorType": "tcp"
                }
            }
        }
    }
}

```

I checked per-app-schema.json file and it seems, ‘$schema’ object is not valid configuration object - why? 🙂

martin

---

<div class="post-metadata">

**Author:** ![Nikoolayy1](https://d1p9zq3aats0t8.cloudfront.net/user_avatar/community.f5.com/nikoolayy1/32/3589_2.png) [@Nikoolayy1](https://community.f5.com/u/Nikoolayy1)\
**Post date:** [June 13, 2026, 8:50am UTC](https://community.f5.com/t/as3-per-app-json-schema-issue/77185/2 "2026-06-13T08:50:35Z")

</div>

Maybe the schema version “schemaVersion”: “3.54.0”, needs to be 3.56 as [https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/per-app-schema.json](https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/refs/heads/main/schema/3.56.0/per-app-schema.json) is 3.56

---

<div class="post-metadata">

**Author:** ![steve\_d1](https://avatars.discourse-cdn.com/v4/letter/s/2bfe46/32.png) [@steve\_d1](https://community.f5.com/u/steve_d1)\
**Post date:** [June 13, 2026, 7:42pm UTC](https://community.f5.com/t/as3-per-app-json-schema-issue/77185/3 "2026-06-13T19:42:21Z")

</div>

For full AS3 declaration validation:

```auto
{
    "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/main/schema/3.54.0/as3-schema.json",
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.54.0",

```

Per app:

```auto
{
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/main/schema/3.54.0/per-app-schema.json",
        "schemaVersion": "3.54.0"
        .....
    }
}

```
