1. Docs for webhooks are located in our app (after login). But a basic outline is that you add your URL, add any custom headers you wish, get the signing key, subscribe to an event and you're off the races. Events that we currently support are Job Success, Job Failure, New Data, Diff Data. Probably the most popular event (as you have alluded to in your next question) is our Diff Data event. The payload for this event will return only the data that has changed for a particular record since the last time we received data from a PMS.
2. Currently, not via the API. We will be adding more features like this to the API in the coming weeks. For now, our customers seem to prefer the Diff Data webhook anyway.
3. We do cache the data. One of the hallmarks of PMS APIs is that they are unreliable. That being the case, all of the data served from our API is from our cache so we can pass along our uptime SLA benefits to our customers.