Every MyVox application follows a simple architecture that makes it easy to deploy and maintain multi-user voice-enabled applications.

- Every application gets a VoiceRecorder. This represents your app within MyVox.
- Each instance of the app – for example, each user’s widget, if you are building a widget application – gets a RecordingList. This is a container for Recordings.
- As needed, you add Recordings to a RecordingList. For example, if you are building a voice-enabled slideshow widget, you’d add a Recording to a user’s widget’s RecordingList each time the user decided to add voice to another slide.
- When a user decides it’s time to record some voice, you select some Recordings from a RecordingList, and associate them with a RecordingSession. This preps the MyVox phone system to receive the call, and gives you a phone number and passcode to give to the user.
- The user calls and makes the Recording(s). Each gets stored or uploaded to your application (your preference), in the format of your choice.
All of these communications take place through the myVox API, which offers a REST-like interface to control all aspects of voice recording. You can learn more about the API from the API documentation.