update api

slimming it down, DRYing it up.
specs exists, currently have sensitive data in it to be purged.