App blocks schema

emcfarlane
Visitor
2 0 4

What is the full app blocks schema?

https://shopify.dev/apps/online-store/theme-app-extensions/extensions-framework#schema shows its similar to https://shopify.dev/themes/architecture/sections/section-schema#app-block-schema but adding the key "blocks" I get the error uploading the app: unknown key 'block

...
    "blocks": [
      {
        "name": "Slide",
        "type": "slide",
        "settings": [
          {
            "type": "image_picker",
            "id": "image",
            "label": "Image"
          }
        ]
      }
    ]
{% endschema %}
Replies 3 (3)
LitExtension
Shopify Partner
4859 1001 1101

Refer https://github.com/Shopify/dawn/blob/main/sections/apps.liquid
You just need to use "type": "@app", it will work fine.
Hope it helps!

LitExtension - Shopping Cart Migration Expert
Check out our Shopify migration app to migrate your online store to Shopify
jagthedrummer
Shopify Partner
6 1 4

I'm also curious about this. My app needs to have some repeated blocks. It would be convenient to allow people to manage them in the theme customization area. But the `blocks` attribute doesn't seem to be supported in the `schema` section for an app extension. It would be nice to have a full schema reference so we know what all is available and/or not allowed. The current documentation makes it sound like everything supported by the section schema is also supported in app extensions, but that doesn't seem to be the case.

Jamflynt
Shopify Partner
12 0 7

@emcfarlane @jagthedrummer Did you ever find anything? I am struggling with the same thing. 

@LitExtension That is not what they were asking for. When you use the same schema in an Theme App Extension block you get the the following error: 

Validation errors                                                           │
│    • bundle: [blocks/styles-selector-container.liquid] Invalid tag           │
│      'schema': unknown key 'blocks',                                         │
│      [blocks/styles-selector-container.liquid] Invalid tag 'schema':         │
│      unknown key 'presets'   


Using @app doesn't help in this case, only when building a section to take app blocks, not within the app block itself.