There is an API, but it's probably going to change a lot so I don't really feel like documenting it here.