Actually the declaration was ok, but when the tile type is "app", then we always make a POST when adding the tile: which only works if the tile has a schema.
So basically schema is mandatory when using an app tile.
Plone Foundation Code of Conduct