Communication protocol for custom built ground control

I’m working on a project which will require a custom built interface to control an APM powered quad, but I haven’t actually used APM yet, so my apologies if this question has an obvious answer!

What kind of comm protocols are used to talk to APM from ground control software, and where can I find API documentation? Are there any easily re-used components from other open source GCS projects that abstract the comm interface?


The MavLink communication protocol is used for communication between the APM and a Ground Control Station.