LPs, LPTs, Emails, and ETs (and Forms, which aren't on your list) can be grabbed using the Asset API. But your goal as a whole can't be accomplished, since details like Smart List triggers/filters and Flow steps aren't exportable.
Marketo -- like most complex SaaS applications, I must say -- doesn't provide you with one-click reproducibility of your entire instance setup. Some things remain UI-only.
That doesn't seem very user-friendly, why aren't our data kept at least for a few years should we start using Marketo again in the future?
User-friendliness isn't so important for ex-users.
Seriously and personally (as someone who has worked on several SaaS platforms) the appeal of giving customers an offboarding method that they can use to rebuild entirely on a competing platforms is... limited? Though we understand that people might use the backup so they can get back in action on our platform, the cost of building a thorough export format for everything is way more than just keeping a copy of their setup around for a year or so (but in our proprietary format, not as a dumpfile or anything). But it's not a guaranteed thing, more like "I think these guys are legitimately coming back" vs. "These guys are off and running with a competitor, fuggedaboutit" case-by-case.
If you want your Marketo setup to be kept "on the side" of another product, you could in theory wipe the entire lead database and downgrade your subscription to a more affordable level?
Thanks for the explanation.
Can you provide more detail on the "asset API" you mentioned? I looked at the documentation but I'm not seeing info on how to export stuff, only tasks like create/edit/delete/approve etc. So far we have our leads and email templates exported only, the other things I haven't found an efficient way to export yet.