Call Write API complete

Probably needs more tests, but looks okay.