API to manage users and devices

Is there any API for FreePBX to manage users and extensions, eg. XML/SOAP, or using a socket.

We want to use FreePBX as the technical and feature GUI, and then have our billing/CRM system to keep keeping track of users and devices (get, create, delete, change).