<p>Seems like there are two categories of APIs for websites today.  </p>

<ol>
<li><p>APIs which allow the functionality of the site to be extended like Facebook, Myspace, etc.  These APIs seem to be very diverse.</p></li>
<li><p>APIs which allow interaction with the existing site functionality like Twitter, Flickr, etc.  These all claim to be REST based, but are in reality simply "data over HTTP".</p></li>
</ol>

<p>If you were creating a website that allowed both functional extension and outside interaction, what existing APIs would you use as a reference model?</p>

I would check out OpenSocial, a movement to create an API Standard for social network sices.  They use REST for this and have a 'user' centric approach.  But this is a very well documented approach which might help for even a site that is not totally Social based.  If you are looking for some internal code implementations look at Drupals hook system and Wordpress.
http://code.google.com/apis/opensocial/