2 Answers
2

POST body has full details of the company, including both profile address and billing address. As noted by v0idnull, return value should be a 201 Created with a Location header with the URL of the newly created resource.

To set the billing address:

Fetch the current company representation:

GET /company/123

Update the representation with the new billing address, and do:

PUT /company/123

With the full new representation of the company.

PROS

Reduce the number of requests for some workflows.

Caching is "easier" as you need to only worry about the caching of the one resource.

Easier to understand for more API customers.

CONS

If you have frequent updates to the company resource for different reasons, you can hit issues with concurrent updates

No ability to have fine grained cache control for the different aspects of the company.