code: def create_track(self, href=None, media_url=None, label=None,
                       audio_channel=None):
          
  
          # Argument error checking.
          assert href is not None
          assert media_url is not None
  
          # Prepare the data we're going to write.
          data = None
  
          fields = {}
          fields['media_url'] = media_url
          if label is not None:
              fields['label'] = label
          if audio_channel is not None:
              fields['audio_channel'] = audio_channel
  
          if len(fields) > 0:
              data = fields
  
          raw_result = self.post(href, data)
  
          if raw_result.status < 200 or raw_result.status > 202:
              raise APIException(raw_result.status, raw_result.json)
  
          # Convert the JSON to a python data struct.
  
          return self._parse_json(raw_result.json)
docs: Add a new track to a bundle.  Note that the total number of
          allowable tracks is limited. See the API documentation for
          details.
  
          'href' the relative href to the tracks list. May not be None.
          'media_url' public URL to media file. May not be None.
          'label' short name for the track. May be None.
          'audio_channel' the channel(s) to use in a stereo file. May be
          None. For details see the API documentation.
  
          Returns a data structure equivalent to the JSON returned by the
          API.
  
          If the response status is not 2xx, or if the maximum number of
          tracks is exceeded, throws an APIException.  If the JSON to
          python data struct conversion fails, throws an
          APIDataException.