Are we able to append fields to existing forms using the update endpoint

You add with the /fields.json endpoint.

How is existing form logic handled when updating a form? i.e. layers of visibility rules and progressive profiling

There's an endpoint for VRs, /visibility.json. ProgPro is considered a pseudo-field in itself.

You can learn a lot more by reverse-engineering forms. The methods are not all totally clear from the docs (though, to be fair it, it's one of the most complete doc sections on the Developer site -- it's just really complex).

How can we mass export all approved form names with their ID numbers?

The main /forms.json endpoint.

Is it possible to update all of the Marketo landing pages where these forms live at the same time?

Approving LP Templates and LPs is done via those other endpoints, not the Forms endpoints.

Is it possible to see what non-Marketo pages are using our forms?

No, not if you haven't already set up some kind of auditing process (i.e. using the Munchkin API to send an activity to Marketo when a form is loaded).

Are we able to append fields to existing forms using the update endpoint

You add with the /fields.json endpoint.

Say we have a case of "Episode II: The GDPR Strikes Back" and we need to modify ALL forms with an additional checkbox... It's possible to mass modify all forms with this same modification via API? (If yes, I wish I had known and I really need to look into becoming a developer) I imagine that this would also be a case of "With great power comes great responsibility" since you could also break all of your forms in one fell swoop, which would bring me to another question:

Could you export all of your form's current settings / setup as a backup?

Is it possible to see what non-Marketo pages are using our forms?

No, not if you haven't already set up some kind of auditing process (i.e. using the Munchkin API to send an activity to Marketo when a form is loaded).

This a very interesting setup, could you share a little more information on this?

I'm a total stranger to the API world, but I feel like I should get to know it better.

Currently we are in the process of "spring cleaning" (#globalwarming) and would like to inventory all of our assets to determine which ones are currently active.

With landing pages we could run reports, but with forms I'm not sure about how to determine the ones currently in use, so I suggested we (and by we I mean them, our developers) build something like a web crawler that looks for all embedded forms (since this seem to be a preferred method for injecting them) in our website and lists at least their form ID.

Your solution seems to work by sending something like a "heartbeat" for every form right? How are you collecting and reporting on that?

Say we have a case of "Episode II: The GDPR Strikes Back" and we need to modify ALL forms with an additional checkbox...

Episode V tho.

It's possible to mass modify all forms with this same modification via API?

Yes, but it's certainly not worth learning the Forms REST Asset API for this. It would be easier to add the field using the Forms JS API (in the browser). Even so, how many forms do you have? This is a good reason to have < 10 global forms, or centralize your forms starting now.

I imagine that this would also be a case of "With great power comes great responsibility" since you could also break all of your forms in one fell swoop

Absolutely.

Could you export all of your form's current settings / setup as a backup?

Unfortunately, not completely. There are still some parts of the form descriptor (the final version parsed in the browser) which are not exposed via REST Asset API.

Your solution seems to work by sending something like a "heartbeat" for every form right? How are you collecting and reporting on that?

Right. A synthetic Visits Web Page event to be exact. Then run a Web Page Activity report.

For "Is it possible to see what non-Marketo pages are using our forms?", if you are looking to see where the forms are situated on your hosted pages. Is it not possible to run a scan of the html for the marketo form id? Just checking

Of course this would not work for the pages that you are not hosting - such as a 3 party website etc.

Say we have a case of "Episode II: The GDPR Strikes Back" and we need to modify ALL forms with an additional checkbox...

Episode V tho.

Haha, yes, sorry I meant "the first, second movie" that was released. I guess the fact that they started with the fourth movie confused me for life...

It's possible to mass modify all forms with this same modification via API?

Yes, but it's certainly not worth learning the Forms REST Asset API for this. It would be easier to add the field using the Forms JS API (in the browser). Even so, how many forms do you have? This is a good reason to have < 10 global forms, or centralize your forms starting now.

So, learning how to use REST Asset API for this is a worse investment than doing Forms JS API with a reduced number of global forms? Yes, I would love to use less forms, but at the moment we have way more than 10... We are in the process of cleaning assets as I said.

I take it you mean by using JS, you can transform your global forms into any other form you need by hiding or showing what is asked (how do you handle different "mandatory field" requests like this?), giving them different shapes according to the situation. Are you also using a "dynamic label" solution for this? I mean changing labels according to country using something like a translation file.

The advantage of JS API would also be that you are "reading" and not "writing"? So you are chosing to show or hide something on the fly, but not actually modifying the base form?

I'm unfamiliar with this method, could you share a resource to check out?

Your solution seems to work by sending something like a "heartbeat" for every form right? How are you collecting and reporting on that?

Right. A synthetic Visits Web Page event to be exact. Then run a Web Page Activity report.

I'm also unfamiliar with this. I know how to pull a Page activity report, but what is a synthetic "visit web page" event mean? Did you tweak that event (unfamiliar with "events" in Marketo I have a very high level understanding of this concept in general: a specific circumstance you can somehow listen to and trigger actions from once it happens) so that it shows form id on the report? Or you tweaked the report?

You said you are using the Munchkin API to generate an activity on people's logs showing the form that was loaded?