In common with all automatically created documentation, the REST API has plenty of detail, but no indication of how to use it.
Thanks to the wonders of Fiddler, I’ve been able to do some basic integration using C#. The actual UI of Metabase is all handled in the massive Javascript app in your browser, so don’t expect anything pretty from the API, this is much more about admin. That said, as many of the questions on the forum have been about things such as synchronising users and groups with other applications, there’s a lot of useful stuff in here.

Below are methods from a test page I was working on. I’m playing ‘pass the parcel’ with the security token for clarity. You’ll probably want to tidy it into a class variable. I’ve also hardcoded my server address. It should be in web.config.
One of the things I found awkward was passing values to JSON in the correct format. Simplest approach appears to be to create a dictionary then convert. As dictionaries can be different formats (typically <string, string> or <string, int>), it was easier to keep converting to JSON to pass around.
The other pain is passing the token to the request. That’s what

request.Headers.Add("X-Metabase-Session: " + token);`

is doing.
I’ve not done anything with DELETE, but looks pretty easy compared to the rest.

What I really want to do next is to pass the token to the main Metabase page, but that doesn’t appear to be possible yet.

I think to be up to date, I’m supposed to use HTTPClient rather than WebRequest and WebResponse, but there you go! If anyone feels strongly, I’d be very happy for them to post a conversion. Some error handling would be useful too!

First, before doing anything else, you need to get the security token:

Finally, bringing it all together, this method adds a user to a group using the name of the group. It really needs an extra bit to create the group if it doesn’t already exist rather than just returning 0. If there were 100s of groups, the foreach would need some attention too: