What do you mean by reference? As far as I'm aware there isn't a single reference, you have to piece things together from different sets of documentation.
In addition to the links Thomas has provided I would look at https://developer.atlassian.com/display/CONFDEV/Confluence+Objects+Accessible+From+Velocity and the API at http://docs.atlassian.com/atlassian-confluence/latest/ to see what objects and methods are available for you to use in your user macros.
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG