GraphQL schema:

type GET_me_top__type_Root {
  href: String
  items: [JSON]
  limit: Int
  """
  Field "next" is defined as JSON since its value was always 'null'
  """
  next: JSON
  offset: Int
  """
  Field "previous" is defined as JSON since its value was always 'null'
  """
  previous: JSON
  total: Int
}

type Query {
  GET_me_top__type_(
    spotify_access_token: String!
    type: String!
  ): GET_me_top__type_Root
    @rest(
      endpoint: "https://api.spotify.com/v1/me/top/$type;"
      headers: [
        { name: "authorization", value: "Bearer $spotify_access_token;" }
      ]
    )
}
type GET_artists__id__top_tracks_Album {
  album_type: String
  artists: [GET_artists__id__top_tracks_ArtistsEntry]
  external_urls: GET_artists__id__top_tracks_ExternalUrls1
  href: String
  id: String
  images: [GET_artists__id__top_tracks_ImagesEntry]
  is_playable: Boolean
  name: String
  release_date: String
  release_date_precision: String
  total_tracks: Int
  type: String
  uri: String
}

type GET_artists__id__top_tracks_Artists1Entry {
  external_urls: GET_artists__id__top_tracks_ExternalUrls2
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_artists__id__top_tracks_ArtistsEntry {
  external_urls: GET_artists__id__top_tracks_ExternalUrls
  href: String
  id: String
  name: String
  type: String
  uri: String
}

type GET_artists__id__top_tracks_ExternalIds {
  isrc: String
}

type GET_artists__id__top_tracks_ExternalUrls {
  spotify: String
}

type GET_artists__id__top_tracks_ExternalUrls1 {
  spotify: String
}

type GET_artists__id__top_tracks_ExternalUrls2 {
  spotify: String
}

type GET_artists__id__top_tracks_ExternalUrls3 {
  spotify: String
}

type GET_artists__id__top_tracks_ImagesEntry {
  height: Int
  url: String
  width: Int
}

type GET_artists__id__top_tracks_Root {
  tracks: [GET_artists__id__top_tracks_TracksEntry]
}

type GET_artists__id__top_tracks_TracksEntry {
  album: GET_artists__id__top_tracks_Album
  artists: [GET_artists__id__top_tracks_Artists1Entry]
  disc_number: Int
  duration_ms: Int
  explicit: Boolean
  external_ids: GET_artists__id__top_tracks_ExternalIds
  external_urls: GET_artists__id__top_tracks_ExternalUrls3
  href: String
  id: String
  is_local: Boolean
  is_playable: Boolean
  name: String
  popularity: Int
  """
  Field "preview_url" is defined as JSON since its value was always 'null'
  """
  preview_url: JSON
  track_number: Int
  type: String
  uri: String
}

type Query {
  GET_artists__id__top_tracks(
    id: String!
    spotify_access_token: String!
  ): GET_artists__id__top_tracks_Root
    @rest(
      endpoint: "https://api.spotify.com/v1/artists/$id;/top-tracks"
      headers: [
        { name: "authorization", value: "Bearer $spotify_access_token;" }
      ]
    )
}

Utterance: Give me a song of my favorite artist