Hi @Anonymous,
Sure - the HTTP calls give us access to things that SharePoint can do that aren't built into actions. We have things like Create an Item, Update an Item, etc - these are the things Microsoft turned into easy actions where we can just put in our data, and away it goes, and does the action. The HTTP lets us access everything else.
When you run one of these guys, it calls back to you. It lets you know what it has done. It returns this information in a JSON, which is just a way of saying it's formatted in a certain way. By using the Parse JSON action, you can turn that JSON into something that is readable as dynamic content. It's a very useful action that gets used a lot.
The first thing we need to do, is break inheritance. Imagine you are doing this inside of SharePoint itself, manually - you would need to click that "Break Inheritance" button. That's all the first HTTP is doing.
The second one, we need to get a list of everyone who is currently on that folder, because we need to tell SharePoint to remove each group / person individually. So in the "List all users with permissions", we are just getting a list of their information we can use. If we were doing this manually, this would be the same as us looking at the list and checking each of their names / group names.
Then, the Parse JSON - so we can make sense of the data returned to us; so we can use the People information that is returned.
Finally, we remove all permissions - we've broken inheritance so we won't run into an error that it inherits from the parent - and we also know every group and person we need to remove it from. This is like pushing the "Remove" button, manually, after checking all the people you want to remove.
The "Apply to Each" is going through each individual person / group from the "List all permissions" output. Imagine if you had to do that manually - check one group, then remove. Check another group, and then remove. That's what Power Automate has to do.
Is that helpful?