Friendship Is Magic

-

API is currently accessible at api.fimplug.net


{
    "data": [],
    "meta": {},
    "status": "OK",
    "time": 0.142137
}
Property Type Description
data Array Array of object(s) containing the requested data
meta Object Metadata for the requested data
status String Response status
time Number Milliseconds it took to generate the response
{
    "format": 1,
    "cid": "1oQ4g-_VC2w",
    "author": "The Collaboratory",
    "title": "All This Time | PMV Collab |",
    "plays": {
        "total": 313,
        "week": 3,
        "month": 6
    },
    "score": {
        "upvotes": 3296,
        "curates": 198,
        "downvotes": 22
    },
    "firstPlay": {
       "time": "2014-11-15T13:46:32.000Z",
        "user": {
            "id": null,
            "username": "thepipfan",
            "slug": null,
            "role": 0
        }
    },
    "lastPlay": {
        "time": "2016-07-19T13:53:37.000Z",
        "user": {
            "id": 6040860,
            "username": "PeKaNo",
            "slug": "pekano",
            "role": 1
        }
    }
}
Property Type Description
format Number Media format (1: YouTube, 2: SoundCloud)
cid String Media content ID
author String Media author
title String Media title
plays Object
plays.total Number How many times the media has been played
plays.week Number How many times the media has been played in the past 7 days
plays.month Number How many times the media has been played in the past 30 days
score Object
score.upvotes Number How many times the media has been upvoted
score.curates Number How many times the media has been curated
score.downvotes Number How many times the media has been downvoted
firstPlay Object
firstPlay.time String Time
firstPlay.user Object
firstPlay.user.id Number | Null ID of the user that first played the media
firstPlay.user.username String Username of the user that first played the media
firstPlay.user.slug String | Null Slug of the user that first played the media
firstPlay.user.role Number Role of the user that first played the media
lastPlay Object
lastPlay.time String Time
lastPlay.user Object
lastPlay.user.id Number | Null ID of the user that last played the media
lastPlay.user.username String Username of the user that last played the media
lastPlay.user.slug String | Null Slug of the user that last played the media
lastPlay.user.role Number Role of the user that last played the media
{
    "page": 1,
    "limit": 25,
    "total": 27306
}
Property Type Description
page Number Page number
limit Number Item limit per-page
total Number Total items
{
    id: 3631645,
    username: "TML",
    slug: "tml",
    role: 0,
    firstSeen: "2015-02-07T20:51:35.000Z",
    lastSeen: "2016-08-17T17:22:34.000Z",
    plays: {
        first: 177,
        total: 3419
    },
    score: {
        given: {
            upvotes: 18825,
            downvotes: 84
        },
        received: {
            upvotes: 49444,
            downvotes: 1327
        }
    }
}
Property Type Description
id Number User ID
username String User username
slug String | Null User slug
role Number User role
firstSeen String Time user was created
lastSeen String Time user was last updated
plays Object
plays.first Number Amount of first plays
plays.total Number Total amount of plays
score Object
score.given Object
score.given.upvotes Number Times user has upvoted
score.given.downvotes Number Times user has downvoted
score.received Object
score.received.upvotes Number Times user has been upvoted
score.received.downvotes Number Times user has been downvoted

Get media table state

{
    "data": [
        {
            "unique": 27306,
            "total": 213121,
            "since": "2014-10-25T06:34:02.000Z"
        }
    ],
    "meta": {},
    "status": "OK",
    "time": 20.367529
}
Property Type Description
unique Number Amount of media in the table
total Number Total amount of plays in the table
since String Date of the first media in the table

Get media sorted by first play date

Query Type Description
page Number Page number to return
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Get media sorted by last play date

Query Type Description
page Number Page number to return
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Search for media by author or title

Query Type Description
page Number Page number to return
q String Search query
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Get media sorted by total plays

Query Type Description
page Number Page number to return
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Get media sorted by plays in the past 30 days

Query Type Description
page Number Page number to return
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Get media sorted by plays in the past 7 days

Query Type Description
page Number Page number to return
{
    "data": [
        {media-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 26.387351
}

Get media by format and content id

Parameter Type Description
format Number Media format
cid String Media content id
{
    "data": [
        {media-object}
    ],
    "meta": {},
    "status": "OK",
    "time": 2.172895
}

Get room state

{
    "data": [
        {
            "name": "FiM: Brony and Pony Music!",
            "media": {
                "author": "Night Breeze",
                "format": 1,
                "image": "http://i1.ytimg.com/vi/2qHkD-2_9ZU/default.jpg",
                "cid": "2qHkD-2_9ZU",
                "duration": 267,
                "title": "Night Breeze | Childhood Eyes",
                "id": 213505069
            },
            "dj": {
                "avatarID": "classic08",
                "badge": "bt-g",
                "gRole": 0,
                "grab": false,
                "id": 3631645,
                "joined": "2013-05-19 18:36:56.961000",
                "language": "fi",
                "level": 15,
                "role": 0,
                "slug": "tml",
                "status": 1,
                "sub": 1,
                "username": "TML",
                "vote": 0
            },
            "population": 29,
            "guests": 0
        }
    ],
    "meta": {},
    "status": "OK",
    "time": 1.837708
}
Property Type Description
name String Room name
media Object Current media (plug.dj media object)
dj Object Current DJ (plug.dj user object)
population Number Users in room
guests Number Guests in room

Get room staff

{
    "data": [
        {
            "avatarID": "classic07",
            "badge": "ss-g",
            "gRole": 0,
            "grab": false,
            "id": 3730413,
            "joined": "2013-12-27 15:29:02.022000",
            "language": "en",
            "level": 17,
            "role": 3,
            "slug": "bot",
            "status": 1,
            "sub": 0,
            "username": "Bot",
            "vote": 1
        },
        {...}
    ],
    "meta": {
        "total": 27
    },
    "status": "OK",
    "time": 1.837708
}

Get room users

{
    "data": [
        {
            "avatarID": "classic07",
            "badge": "ss-g",
            "gRole": 0,
            "grab": false,
            "id": 3730413,
            "joined": "2013-12-27 15:29:02.022000",
            "language": "en",
            "level": 17,
            "role": 3,
            "slug": "bot",
            "status": 1,
            "sub": 0,
            "username": "Bot",
            "vote": 1
        },
        {...}
    ],
    "meta": {
        "total": 27
    },
    "status": "OK",
    "time": 1.837708
}

Get room waitlist

{
    "data": [
        {
            "avatarID": "classic07",
            "badge": "ss-g",
            "gRole": 0,
            "grab": false,
            "id": 3730413,
            "joined": "2013-12-27 15:29:02.022000",
            "language": "en",
            "level": 17,
            "role": 3,
            "slug": "bot",
            "status": 1,
            "sub": 0,
            "username": "Bot",
            "vote": 1
        },
        {...}
    ],
    "meta": {
        "total": 27
    },
    "status": "OK",
    "time": 1.837708
}

Get users table state

{
    "data": [
        {
            "users": 2041,
            "since": "2015-02-06T01:18:18.000Z"
        }
    ],
    "meta": {},
    "status": "OK",
    "time": 3.833063
}
Property Type Description
users Number Amount of users in the table
since String Date of the first user in the table

Search for users by username

Query Type Description
page Number Page number to return
q String Search query
{
    "data": [
        {user-object},
        {...}
    ],
    "meta": {pagination-object},
    "status": "OK",
    "time": 5.218364
}

Get user by ID

Parameter Type Description
id Number User ID
{
    "data": [
        {user-object}
    ],
    "meta": {},
    "status": "OK",
    "time": 1.172895
}

Get user by slug

Redirects to /users/:id endpoint.