At work I use a Polycom IP phone, and they have a pretty extensive API. Most features I’ve implemented were publicly available API’s but some, like updating the main image, I had to reverse engineer from the phone's internal api for the admin.
If you use a Polycom phone at work, this extension will help you out by letting you store numbers in Chrome and dial them right from your browser, with shorcuts like use ‘ext’ to pause and then enter extensions when saving numbers. Check the chrome store listing for a full feature list, change log, etc.