This specification describes an Activity vocabulary for federated collaborative listening platforms.

Introduction

Classes

Class Description Example
Playlist URI: https://ns.u-wave.net/activitystreams#Playlist
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#Playlist",
  "id": "https://u-wave.example/as/playlists/5a7051c1b616185503ee4da9",
  "name": "My Playlist",
  "published": "2018-04-22T16:44:05Z",
  "updated": "2018-04-22T16:44:05Z",
  "totalItems": 200,
  "items": []
}
Notes:

Represents a named collection of playlist items.

Properties:

Inherits all properties from OrderedCollection

PlaylistItem URI: https://ns.u-wave.net/activitystreams#PlaylistItem
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#PlaylistItem",
  "id": "https://u-wave.example/as/playlistitems/5a7051c1b616185503ee4da9",
  "media": "https://u-wave.example/as/media/5a7051c1b616185503ee4da9",
  "published": "2018-04-22T16:44:05Z",
  "updated": "2018-04-22T16:44:05Z",
  "artist": "Song artist",
  "title": "Song title",
  "startSeconds": "PT0S",
  "endSeconds": "PT220S"
}
Notes:

Represents a playlist item.

The value of the startSeconds property MUST be at least PT0S and MUST be less than or equal to endSeconds. The value of the endSeconds property MUST be less than or equal to the related Media's duration and MUST be equal to or greater than startSeconds.

Properties:

media | artist | title | startSeconds | endSeconds

Inherits all properties from Object

Media URI: https://ns.u-wave.net/activitystreams#Media
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#Media",
  "id": "https://u-wave.example/as/playlistitems/5a7051c1b616185503ee4da9",
  "published": "2018-04-22T16:44:05Z",
  "updated": "2018-04-22T16:44:05Z",
  "url": "https://youtube.com/watch?v=abcdefxyz",
  "duration": "PT220S",
  "artist": "Song artist",
  "title": "Song title",
  "startSeconds": "PT0S",
  "endSeconds": "PT220S"
}
Notes:

Represents media from a local or remote source.

The value of the url property may either be a direct URL to a video or audio file, or a URL to a media watch page on a service known to the server.

The value of the startSeconds property MUST be at least PT0S and MUST be less than or equal to endSeconds. The value of the endSeconds property MUST be less than or equal to duration and MUST be equal to or greater than startSeconds.

Properties:

artist | title | startSeconds | endSeconds

Inherits all properties from Object

Properties

Term Description Example
playlists URI: https://ns.u-wave.net/activitystreams#playlists
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {"playlists": "https://ns.u-wave.net/activitystreams#playlists"}
  ],
  "type": "Person",
  "playlists": "https://u-wave.example/as/users/5a7051c1b616185503ee4da9/playlists"
}
Notes: A link to a collection of playlists this Person has created.
Domain: Person
Range: Link | Collection
media URI: https://ns.u-wave.net/activitystreams#media
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#PlaylistItem",
  "media": "https://u-wave.example/as/media/MEDIA-ID",
}
Notes: A link to the Media used by this playlist item.
Domain: PlaylistItem
Range: Media | Link
artist URI: https://ns.u-wave.net/activitystreams#artist
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#Media",
  "artist": "Song Artist",
  "title": "Song Title",
}
Notes: String name of the artist responsible for a Media.
Domain: Media | PlaylistItem
Range: xsd:string
title URI: https://ns.u-wave.net/activitystreams#title
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#Media",
  "artist": "Song Artist",
  "title": "Song Title",
}
Notes: String name of title of a Media.
Domain: Media | PlaylistItem
Range: xsd:string
startSeconds URI: https://ns.u-wave.net/activitystreams#startSeconds
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#PlaylistItem",
  "startSeconds": "PT0S",
  "endSeconds": "PT220S",
}
Notes: The time at in seconds which to start playing a Media.
Domain: Media | PlaylistItem
Range: xsd:duration
endSeconds URI: https://ns.u-wave.net/activitystreams#endSeconds
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://ns.u-wave.net/activitystreams#PlaylistItem",
  "startSeconds": "PT0S",
  "endSeconds": "PT220S",
}
Notes: The time at in seconds which to stop playing a Media.
Domain: Media | PlaylistItem
Range: xsd:duration