   :limit is the maxium number of tracks to return, default is 20.
   :offset is the index of the first track to return, default is 0.
 
-  Example: (get-a-list-of-featured-playlists {:locale \"sv_SE\" :country \"SE\" :timestamp \"2015-10-23T09:00:00\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")")
-
-(def-spotify-api-call get-a-list-of-new-releases client/get (str spotify-api-url "browse/new-releases")
+  Example: (get-a-list-of-featured-playlists {:locale \"sv_SE\" :country \"SE\" :timestamp \"2015-10-23T09:00:00\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")" (spotify-api-call client/get (str spotify-api-url "browse/featured-playlists")))
+
+(def get-a-list-of-new-releases  
   " Takes two arguments, a map m with query parameters and an optional oauth-token t.
   There are no compulsary keys in m, optional keys are :country, :limit and :offset.
   :country is an ISO 3166-1 alpha-2 country code.
   :limit is the maxium number of tracks to return, default is 20.
   :offset is the index of the first track to return, default is 0.
 
-  Example: (get-a-list-of-new-releases {:country \"SE\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")")
-
-(def-spotify-api-call get-a-list-of-categories client/get (str spotify-api-url "browse/categories")
+  Example: (get-a-list-of-new-releases {:country \"SE\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")"
+  (spotify-api-call client/get (str spotify-api-url "browse/new-releases")))
+
+(def get-a-list-of-categories 
   " Takes two arguments, a map m with query parameters and an optional oauth-token t.
   There are no compulsary keys in m, optional keys are :country, :limit and :offset.
   :country is an ISO 3166-1 alpha-2 country code.
   :limit is the maxium number of tracks to return, default is 20.
   :offset is the index of the first track to return, default is 0.
 
-  Example: (get-a-list-of-categories {:country \"SE\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")")
-
-(def-spotify-api-call get-a-category client/get (str spotify-api-url "browse/categories/category_id")
+  Example: (get-a-list-of-categories {:country \"SE\" :limit 50 :offset 50} \"BQBw-JtC..._7GvA\")" (spotify-api-call client/get (str spotify-api-url "browse/categories")))
+
+(def get-a-category 
   " Takes two arguments, a map m with query parameters and an optional oauth-token t.
   Compulsory key in m is :category_id, optional keys are :country and :locale.
   :category_id has to be a spotify category id.
   :country is an ISO 3166-1 alpha-2 country code.
   :locale is an ISO 639 language code and a ISO 3166-1 alpha-2 country code joined with an underscore.
 
-  Example: (get-a-category {:category_id \"dinner\" :country \"SE\" :locale \"sv_SE\"} \"BQBw-JtC..._7GvA\")")
-
-(def-spotify-api-call get-a-categorys-playlists client/get (str spotify-api-url "browse/categories/category_id/playlists") 
+  Example: (get-a-category {:category_id \"dinner\" :country \"SE\" :locale \"sv_SE\"} \"BQBw-JtC..._7GvA\")" (spotify-api-call client/get (str spotify-api-url "browse/categories/category_id")))
+
+(def get-a-categorys-playlists  
   " Takes two arguments, a map m with query parameters and an optional oauth-token t.
   Compulsory key in m is :category_id, optional keys are :country, :limit and :offset.
   :category_id has to be a spotify category id.

  "Parse body of http respose to json"
  [response]
  (with-meta
  (try
    (json-string-to-map (:body response))
    (catch java.lang.NullPointerException e {:error {:status "NullPointerException"  :message (.getMessage e)}})
    (catch Exception e {:error {:status "Exception"  :message (.getMessage e)}})
    ) {:status (:status response)}))

(defn- build-new-url
  "Do the building nescessary in replace-url-values here. url-parts is the split up url which values works as keys in param-map."

  :snapshot_id a playlist snapshot ID.
  See the spotify developer API for the logic behind deleting tracks.

  Example: (remove-tracks-from-playlist {:user_id \"elkalel\" :playlist_id \"6IIjEBw2BrRXbrSLerA7A6\" :tracks [{:uri \"spotify:track:4iV5W9uYEdYUVa79Axb7Rh\", :positions [2]} {:uri \"spotify:track:1301WleyT98MSxVHPZCA6M\", :positions [7]}]}  \"BQBw-JtC..._7GvA\")" (spotify-api-call client/delete (str spotify-api-url "users/user_id/playlists/playlist_id/tracks")))

(def reorder-a-playlists-tracks 
  " Takes two arguments, a map m with query parameters and an optional oauth-token t.
  Compulsory key in m are :user_id, :playlist_id, :range_start and :insert_before, optional keys are :range_length and :snapshot_id.
  :user_id is the users spotify id.
