Design the API by determining what resources are needed, the methods defined for each, which can be cached, etc... After this is defined, start implementing each resource separately (each having its own issue).