Ampache

Non-Data Methods
----------------

* [x] handshake
	* timestamp (Timestamp used in seed of password hash)
	* auth (Timestamp . Password SHA hash)
	* version (API Version that the application understands)
	* username
* [x] ping
	* auth (Session ID is optional) returns version information and extends the session if passed

Data Methods
------------

* [x] artists
	* filter (Value is Alpha Match for returned results, may be more then one letter/number)
	* exact (Boolean, if true filter is exact rather then fuzzy)
* [x] artist_songs
	* filter (UID of Artist, returns song XML)
* [x] artist_albums
	* filter (UID of Artist, returns Album XML)
* [x] albums
	* filter (Value is Alpha Match for returned results, may be more then one letter/number)
	* exact (Boolean, if true filter is exact rather then fuzzy)
* [x] album_songs
	* filter (UID of Album, returns song XML)
* [x] songs
	* filter (Value is Alpha Match for returned results, may be more then one letter/number)
	* exact (Boolean, if true filter is exact rather then fuzzy)
* [x] song
	* filter (UID of Song, returns song XML)
* [x] search_songs
	* filter (Value is Alpha Match for Song Title, Artist Name, Album Name, Genre Name returns song XML)

For artists, albums and songs are following additional arguments possible but they are not represented in the current data model:

 * add (ISO 8601 Date Format assumed filter method is newer then specified date, however [START]/[END] can be specified to receive only results added between two dates)
 * update (ISO 8601 Date Format assumed filter method is newer then specified date, however [START]/[END] can be specified to receive only results updated between two dates)

### Postponed queries

See #160