Thanks a ton! If I may ask one more question, what are the slot and order fields used for?
If I may be a bit more specific: I'm trying to figure out which abilities someone has selected on their pet. I thought that the slot value would correspond to the actual slot in the ui (0-indexed, so going 0,1,2 would be the first 2nd 3rd slots) and that the order corresponded to the order in which they're unlocked, as the order (being 0-indexed) seemed to correspond to the levels they're unlocked, only that the last 3 abilities slot numbers were almost as identical as the first 3 abilities.
When viewing an ability without the context of a species, there is no slot/order.
When viewing an ability within the context of a species the slot is which vertical row the ability is in. The abilities with the same slot id represent the choice the user can make about which ability to have available.
The order is for UI display and represents (as you assumed):
0 1 2
3 4 5
We only have selected ability data for the pets in your battle pet slots. In the petSlots section of the character profile api we list the three abilities that a user has selected for that pet slot.