TODO only. I'm calling an API method from action. I'm guessing I need to
move it all back into the API. It's a bitch though. There's so damn much
code to cram into API. I'm sure there's a better way, but I don't know
what it is.