type mbid = string type isrc = string type additional_info = { ?artist_mbids : mbid list option; ?release_group_mbid : mbid list option; ?release_mid : mbid option; ?recording_mbid : mbid option; ?track_mbid : mbid option; ?work_mbids : mbid list option; ?tracknumber : int option; ?isrc : isrc option; ?spotify_id : string option; ?tags : string list option; ?listening_from : string option; } type track_metadata = { artist_name : string; track_name : string; ?listened_at : int option; ?additional_info : additional_info option; ?release_name : string option; } type listen_type = [ Single | Playing_now | Import ] type listen_payload = { listened_at : int; track_metadata : track_metadata; } type submission = { listen_type : listen_type; payload : listen_payload list; } type response = { count : int; user_id : mbid; listens : listen_payload list; } type validate_token = { code : int; message : string; valid : bool; user: string; } type delete_listen = { listened_at : int; recording_msid : string; }