In our initial Tag spec we had two attributes needed for proper flexibility for GUI:
Due to backend constraints "type" was omitted from the API for awhile, now it seems to be exist, but the values of type are uncertain to me- inbox, outbox, spam, etc... are all attributes of "type"
This is a misunderstanding.
The "type" attribute was never meant for use by the UI. It is used internally by the Mailpile back-end to find the right tags for various functions without having to depend on hard-coded tag names. Please continue to ignore "type" completely in the front-end. If display and friends are insufficient for the front-end's needs, we will add more attributes.
Updated the title of issue. Since "type" is something you've claimed and are using in the backend it should not exist in the public JSON data as it's not usable for UI and confuses things!
That won't work. Once you create a UI that allows users to edit the tags and their properties, you will need to see and be able to set this property.