get:
  tags:
    - All Resources
    - Playlists
    - Tracks
    - Public Playlists
  summary: 'Search for TrackPositions (public)'
  operationId: public.track_positions.search_playlists
  description: >-
    Resource route for getting a list of `TrackPositions`
    with filtering based on provided parameters. Currently only the latest results within the
    provided date range are included.  

    Omitting start and end dates will return latest data for the passed params. Only limited amount of data
    in the past is scanned for getting the latest, so some old tracks may not have data in this case.  
    
    Supports multi-field sorting e.g. `&sort_by=current,num_days_on&sort_order=asc,desc`  
    Sorting by streams: only sorting by `worldwide` streams is possible and requires `worldwide` to be passed in `streams_country_code` param.  
    Example of `sort_by` value for streaming: `streaming_info.worldwide.7.isrc_in_playlist`  
    
    Sort by values: 
      * playlist_id
      * current
      * date
      * dsp
      * isrc
      * trend
      * num_days_on
      * num_weeks_on,
      * earliest_position_date_time
      * latest_position_date_time
      * previous
      * top
      * streaming_info.worldwide.1.isrc_in_playlist
      * streaming_info.worldwide.1.playlist
      * streaming_info.worldwide.7.isrc_in_playlist
      * streaming_info.worldwide.7.playlist
      * streaming_info.worldwide.14.isrc_in_playlist
      * streaming_info.worldwide.14.playlist
      * previous_position_change_14_days
      * trend_change_14_days
      * last_date_change_14_days
      * playlist.followers
  security:
    - bearerAuth: [ ]
  parameters:
    - $ref: '../parameters/start_date_optional.yaml'
    - $ref: '../parameters/end_date_optional.yaml'
    - $ref: '../parameters/expand_isrc_by_track_positions.yaml'
    - $ref: '../parameters/include_ignored.yaml'
    - $ref: '../parameters/include_removed.yaml'
    - $ref: '../parameters/min_added_date_optional.yaml'
    - $ref: '../parameters/dsp.yaml'
    - $ref: '../parameters/playlist_id_array.yaml'
    - $ref: '../parameters/playlist_type_array.yaml'
    - $ref: '../parameters/playlist_owner_category_id.yaml'
    - $ref: '../parameters/playlist_name_contains.yaml'
    - $ref: '../parameters/artist_id.yaml'
    - $ref: '../parameters/isrc_array.yaml'
    - $ref: '../parameters/country_code_array_without_ww.yaml'
    - $ref: '../parameters/apple_country_code_array_without_ww.yaml'
    - $ref: '../parameters/amazon_country_code_array_without_ww.yaml'
    - $ref: '../parameters/streams_country_code_with_local_array.yaml'
    - $ref: '../parameters/include_public_tracklist_playlist.yaml'
    - $ref: '../parameters/limit_range.yaml'
    - $ref: '../parameters/cursor.yaml'
    - $ref: '../parameters/bigtable_limit.yaml'
    - $ref: '../parameters/offset.yaml'
    - $ref: '../parameters/group_by_field.yaml'
    - $ref: '../parameters/sort_by_public_track_positions_playlists_array.yaml'
    - $ref: '../parameters/sort_order_array.yaml'
  responses:
    200:
      $ref: '../responses/PublicPlaylistTrackPositionsResponse.yaml'
    400:
      $ref: '../responses/InvalidInput.yaml'
    401:
      $ref: '../responses/Unauthorized.yaml'
    500:
      $ref: '../responses/InternalError.yaml'