NAV Navbar
shell

Introduction

Welcome to the magpie API V2! You can use this API to incorporate user specific learning recommendations in your application based on various inputs. You will be able to generate recommendations from content in an instance of magpie and retrieve asset metadata, information on the configuration for your organisation and information in a user's profile.

Requests are made in the context of a user taking actions that trigger the API calls and not at an administrator level. The API uses the JSON-RPC protocol (jsonrpc2).

Authentication

Initial authentication HTTP authorisation header:

Authorization: Bearer <API_KEY> eeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI4MWkyY25hb3BmMDAyZ205bmJnIiwi
ZW1haWwiOiJhdEBmaWx0ZXJlZC5jb20iLCJmaXJzdE5hbWUiOiJBbGV4YW5kcnUiLCJsYXN0TmFtZSI6IlRyaWNhIn0.g_ZY56SDwIrIoc-e6e
noc1x69D5o2iW0S4KSqgx_UYY

Initial authentication response:

{
    "jsonrpc": "2.0",
    "result": {
        "jwt_access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiJiYmJuN2x2YXRhYWcwMjZpdjJtZyIsIk9yZ0lEIjoiZmlsdGVyZWQiLCJHcm91cElEIjoiZmlsdGVyZWQtZ2xvYmFsZmlsdGVyIn0.e7A_2EQLwS3v7dOVTq0I5afjnmSWYfqmBngFOlRsaJI",
        "refresh_token": "wZk2AnHuCuMplJ2P52a3hK0nZ2CfnQEWH1jLR7Nk"
    },
    "id": "json"
}

Other API calls HTTP authorisation header:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiJiYmJuN2x2YXRhYWcwMjZpdjJtZyIsIk9yZ0
lEIjoiZmlsdGVyZWQiLCJHcm91cElEIjoiZmlsdGVyZWQtZ2xvYmFsZmlsdGVyIn0.-r1E5oojKbvSaS-xKZW_VlYHThmBUCfC-5M6TaOsfyM

Authentication will be initiated on the client side using the User.Authenticate method. This method will either authenticate an existing user in our system or, in case the user does not yet exist in our system, create one. We will need in this initial call a user identifier that will be used to link data to said user. Optionally, meta data about the user can be provided. The user information will be stored in a JWT token, signed with a secret authentication key.

The system will return a structure containing an access token and a refresh token. The access token will be used in subsequent API requests until it expires. On expiration a new access token will be provided through the Token.Refresh method.

Api and secret authentication keys will be provided and used only during the authentication request. All future requests will use the server generated access token.

Client authentication JWT claims structure:

Name Type Notes
userID String Max ? chars. Any format. No personal information.
email String, Optional Max ? chars.
firstName String, Optional Max ? chars.
lastName String, Optional Max ? chars.

User

Authenticate

curl --data-binary '{"id":"1", "method":"user.Authenticate", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer 5dc78bab-4988-4a15-96a2-9eb084fba6f6 client.genrated.jwt.token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "jwt_access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiJiYmJuN2x2YXRhYWcwMjZpdjJtZyIsIk9yZ0lEIjoiZmlsdGVyZWQiLCJHcm91cElEIjoiZmlsdGVyZWQtZ2xvYmFsZmlsdGVyIn0.e7A_2EQLwS3v7dOVTq0I5afjnmSWYfqmBngFOlRsaJI",
        "refresh_token": "wZk2AnHuCuMplJ2P52a3hK0nZ2CfnQEWH1jLR7Nk"
    },
    "id": "json"
}

Authenticates the user and generates an access token and a refresh token.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/auth

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object

Token

Refresh

curl --data-binary '{"id":1, "method":"token.Refresh", "params":"refresh_token", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "jwt_access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiJiYmJuN2x2YXRhYWcwMjZpdjJtZyIsIk9yZ0lEIjoiZmlsdGVyZWQiLCJHcm91cElEIjoiZmlsdGVyZWQtZ2xvYmFsZmlsdGVyIn0.e7A_2EQLwS3v7dOVTq0I5afjnmSWYfqmBngFOlRsaJI",
        "refresh_token": "wZk2AnHuCuMplJ2P52a3hK0nZ2CfnQEWH1jLR7Nk"
    },
    "id": 1
}

Regenerates a new JWT access token for the client.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Type Description
string the refresh_token extractable from the JWT access token

Errors

Error Code Meaning
-32003 Mandatory JWT Claim missing
-32020 Refresh token has expired
-32606 Invalid arguments
-32603 Internal Server Error

Definitions

The following are the JSON data models referenced through the API documentation.

Access Token Model

Acces token model:

{
    "jwt_access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiJiYmJuN2x2YXRhYWcwMjZpdjJtZyIsIk9yZ0lEIjoiZmlsdGVyZWQiLCJHcm91cElEIjoiZmlsdGVyZWQtZ2xvYmFsZmlsdGVyIn0.e7A_2EQLwS3v7dOVTq0I5afjnmSWYfqmBngFOlRsaJI",
    "refresh_token": "wZk2AnHuCuMplJ2P52a3hK0nZ2CfnQEWH1jLR7Nk"
}
Name Type Definition
jwt_access_token string Server generate JWT token used in API requests
refresh_token string Token used to generate a new JWT token

Learning Asset Model

Learning asset model:

{
    "id": 8995,
    "hashID": "c872a5d2f4cabfa88149b03137896bb53279712e",
    "title": "Deadline Pressure Distorts Our Sense of Time",
    "description": "\u003cp\u003eThe difficulty of a task stretches out our perception of time. This time of year is deadline season for many people. It seems that wherever we look, there is a clock or a calendar pressuring us to move faster and stop dawdling. For some it is the end-of-semester crush, with papers to write and books to digest and comprehend, whereas others are rushing to tidy up a hundred loose ends before that big family vacation. Whatever the precise reason, the lament is the same: so much to do, so little time!\u003c/p\u003e\n",
    "mainImage": "",
    "screenshotImage": "/shot/la/c872a5d2f4cabfa88149b03137896bb53279712e-desktop.png",
    "screenshotImageMobile": "/shot/la/c872a5d2f4cabfa88149b03137896bb53279712e-mobile.png",
    "typeLabel": "Article",
    "lengthSeconds": "420",
    "lengthLabel": "7 minutes",
    "summaryUrl": "8995-deadline-pressure-distorts-our-sense-of-time",
    "directUrl": "https://www.scientificamerican.com/article/looming-deadlines/",
    "isFavourite": false,
    "launched": false,
    "dismissed": false,
    "completed": false,
    "notes": "",
    "restrictionCode": "free",
    "restrictionLabel": "Free",
    "provider": {
        "id": 310,
        "name": "",
        "image": "/shot/p/sq/310.png",
        "favicon": ""
    },
    "competencyList": [{
        "id": 21,
        "name": "Resilience \u0026 Adaptability"
    }]
}
Name Type Definition
id integer The asset identifier
hashID string A hash of the asset identifier
title string The title of the asset
description string The description body used for the asset
mainImage string A custom image attached to the asset
screenshotImage string Desktop version screenshot taken through the asset URL
screenshotImageMobile string Mobile version screenshot taken through the asset URL
typeLabel string The type of the asset
lengthSeconds string Assumed length of asset consumption time
lengthLabel string Human readable length
summaryUrl string Internal asset URL
directUrl string External asset URL
isFavourite boolean Flag if asset has been bookmarked
launched boolean Flag if asset has been launched
dismissed boolean Flag if asset has been suppressed
completed boolean Flag if asset has been marked as completed
notes string User's personal notes regarding the asset
restrictedCode string Defines any restrictions for an asset through code
restrictedLabel string Human readable restriction for an asset
provider object Vendor/Owner associated to the asset
competencyList object Contains a list of competencies associated to the asset

Competency Model

Competency model:

{
    "id": 10,
    "name": "Digital Collaboration"    
}
Name Type Definition
id integer The competency identifier
name string The competency name

Provider Model

Provider model:

{
    "id": 309,
    "name": "",
    "image": "/shot/p/sq/309.png",
    "favicon": ""
}
Name Type Definition
id integer The provider identifier
name string The provider name
image string The provider image link
favicon string A favicon for the provider

Playlist Model

Playlist model:

{
    "id": "21",
    "name": "Resilience \u0026 Adaptability",
    "type": "competency",
    "typeExtra": [{
        "id": 11,
        "name": "Personal Development"
    }, {
        "id": 21,
        "name": "Resilience \u0026 Adaptability"
    }],
    "laList": {}
}
Name Type Definition
id string The playlist identifier
name string The playlist name
type string The type of the playlist
typeExtra array The list of competencies present throughout all the contained assets
laList object An object containing the list of assets

Profile Model

Profile model:

{
    "function": 9,
    "sector": 9,
    "seniority": 5
}
Name Type Definition
function string Defines the user's general area of practice
sector string Defines the user's sector of work
seniority string Defines the user's experience

InputOption Model

InputOption model:

{
    "id": 1,
    "label": "CEO/C-suite",
    "sort": 1
}
Name Type Definition
id integer The identifier of the input
label string The text associated with the input
sort integer The priority of the input

ChatScript Model

ChatScript model:

{
    "jsonrpc": "2.0",
    "result": {
        "stage1": {
            "messages": {
                "finish": {
                    "type": "end"
                },
                "continue": {
                    "type": "choice",
                    "choices": [{
                        "label": "continue",
                        "value": 1,
                        "trigger": "stage1Kai"
                    }]
                },
                "stage1Kai": {
                    "text": "By telling me a little about you, I can make some recommendations personalised for you.",
                    "type": "text",
                    "rawOverride": {
                        "trigger": "stage1QuestSector"
                    }
                },
                "stage1Intro": {
                    "text": "Hi I'm magpie. I make recommendations from providers such as...",
                    "type": "text",
                    "rawOverride": {
                        "trigger": "stage1AssetImage"
                    }
                },
                "choiceFinish": {
                    "type": "choice",
                    "choices": [{
                        "label": "finish",
                        "value": 1,
                        "trigger": "finish"
                    }]
                },
                "stage1Sector": {
                    "type": "dropDown",
                    "profileKey": "sector",
                    "rawOverride": {
                        "trigger": "stage1QuestDept"
                    }
                },
                "stage2Senior": {
                    "type": "dropDown",
                    "profileKey": "seniority",
                    "rawOverride": {
                        "trigger": "stage1GetPlaylist"
                    }
                },
                "stage1QuestDept": {
                    "text": "Secondly, which department do you work in?",
                    "type": "text",
                    "rawOverride": {
                        "trigger": "stage1Department"
                    }
                },
                "choiceRedoInputs": {
                    "type": "choice",
                    "choices": [{
                        "label": "Update my role information",
                        "value": 2,
                        "trigger": "stage1QuestSector"
                    }]
                },
                "stage1AssetImage": {
                    "link": "https://learn.filtered.com/hubfs/provider-collage.png",
                    "type": "image",
                    "rawOverride": {
                        "trigger": "continue"
                    }
                },
                "stage1Department": {
                    "type": "dropDown",
                    "profileKey": "function",
                    "rawOverride": {
                        "trigger": "stage2QuestSenior"
                    }
                },
                "stage1DisplayTray": {
                    "type": "playlist",
                    "rawOverride": {
                        "trigger": "choiceRedoInputs"
                    }
                },
                "stage1GetPlaylist": {
                    "text": "Show some Recommendations",
                    "type": "buttonAction",
                    "clickAction": "getCompetencyPlaylists",
                    "rawOverride": {
                        "trigger": "stage1DisplayTray"
                    }
                },
                "stage1QuestSector": {
                    "text": "Which sector do you work in?",
                    "type": "text",
                    "rawOverride": {
                        "trigger": "stage1Sector"
                    }
                },
                "stage2QuestSenior": {
                    "text": "Thanks. And how senior are you at your company?",
                    "type": "text",
                    "rawOverride": {
                        "trigger": "stage2Senior"
                    }
                }
            }
        }
    },
    "id": "5"
}
Name Type Definition
result string Json formatted chat script

Goal Model

Goal model:

{
    "id": 1,
    "importance": 0.1,
    "confidence": 0.7
}
Name Type Definition
id integer The competency's identifier
importance float Value to define the importance of the competency
confidence float Value to define the confidence in the competency

Profile

Update

curl --data-binary '{"id":"10", "method":"profile.Update", "params":{"function":5, "sector":8, "seniority":1}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "function": 5,
        "sector": 8,
        "seniority": 1
    },
    "id": "10"
}

Updates the user’s profile data.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
sector (optional) integer defines the user's sector of work
function (optional) integer defines the user's role or general area of practice
seniority (optional) integer defines the user's experience or level of responsibility

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32610 Unsupported function input
-32609 Unsupported seniority input
-32608 Unsupported sector input
-32016 Profile input is empty

Get

curl --data-binary '{"id":"5", "method":"profile.Get", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "function": 5,
        "sector": 8,
        "seniority": 1
    },
    "id": "5"
}

Retrieves a user’s profile information.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32604 The requested user profile does not exist

GetInputOptions

curl --data-binary '{"id":"3", "method":"profile.GetInputOptions", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "seniority": [{
            "id": 1,
            "label": "CEO/C-suite",
            "sort": 1
        }, {
            "id": 2,
            "label": "Senior Manager",
            "sort": 2
        }, {
            "id": 3,
            "label": "Middle Manager",
            "sort": 3
        }, {
            "id": 4,
            "label": "Junior Manager",
            "sort": 4
        }],
        "sector": [{
            "id": 5,
            "label": "Beverages",
            "sort": 5
        }, {
            "id": 6,
            "label": "Building and Materials",
            "sort": 6
        }, {
            "id": 7,
            "label": "Domestic Goods",
            "sort": 7
        }, {
            "id": 8,
            "label": "Education",
            "sort": 8
        }],
        "function": [{
            "id": 9,
            "label": "Purchasing",
            "sort": 9
        }, {
            "id": 10,
            "label": "R&D",
            "sort": 10
        }, {
            "id": 11,
            "label": "Sales",
            "sort": 11
        }, {
            "id": 12,
            "label": "Senior Management",
            "sort": 12
        }]
    },
    "id": "3"
}

Retrieves available inputs available to an organisation.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object

SetFavouriteAsset

curl --data-binary '{"id":"3", "method":"profile.SetFavouriteAsset", "params":{"id":1, "saved":true, "playlist": {"id":"132", "type":"auto"}}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": "success",
    "id": "3"
}

Mark an asset as favourite for a user.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id integer the asset to be favourited's id
saved boolean the true/false status
playlist (optional) object playlist where the action was triggered from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32014 Unsupported asset

SetCompleteAsset

curl --data-binary '{"id":"3", "method":"profile.SetCompleteAsset", "params":{"id":1, "completedStatus":"useful", "playlist": {"id":"132", "type":"auto"}}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": "success",
    "id": "3"
}

Mark an asset as completed for a user.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id integer the asset to be completed id
completedStatus string Completed status must be equal to one of: "already_know", "useful", "not_relevant"
playlist (optional) object playlist where the action was triggered from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32014 Unsupported asset
-32017 Invalid completed status

FetchCompetencies

curl --data-binary '{"id":"7","method":"profile.FetchCompetencies","jsonrpc": "2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "competencies": [{
            "id": 15,
            "name": "Project Management"
        }, {
            "id": 13,
            "name": "Data Analysis"
        }, {
            "id": 4,
            "name": "Productivity"
        }, {
            "id": 3,
            "name": "Research"
        }, {
            "id": 11,
            "name": "Personal Development"
        }, {
            "id": 6,
            "name": "Spreadsheeting"
        }, {
            "id": 9,
            "name": "Communication, Influence \u0026 Teamwork"
        }, {
            "id": 12,
            "name": "Problem Solving \u0026 Decision Making"
        }, {
            "id": 1,
            "name": "Planning \u0026 Organizing"
        }, {
            "id": 5,
            "name": "Writing"
        }, {
            "id": 8,
            "name": "Email"
        }, {
            "id": 17,
            "name": "Organisational Management"
        }, {
            "id": 2,
            "name": "Maths"
        }, {
            "id": 16,
            "name": "Client Focus"
        }, {
            "id": 10,
            "name": "Digital Collaboration"
        }, {
            "id": 7,
            "name": "MS Office"
        }, {
            "id": 14,
            "name": "Business \u0026 Organisational Savvy"
        }, {
            "id": 19,
            "name": "Using Financials"
        }, {
            "id": 20,
            "name": "Ethics \u0026 Compliance"
        }, {
            "id": 18,
            "name": "People Management"
        }, {
            "id": 22,
            "name": "Mindfulness"
        }, {
            "id": 21,
            "name": "Resilience \u0026 Adaptability"
        }]
    },
    "id": "7"
}

Retrieve an organisation's available competencies

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object

Playlist

FetchAllPlaylists

curl --data-binary '{"id":"5", "method":"playlist.FetchAllPlaylists", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Using Financials",
        "type": "competency",
        "typeExtra": [{
            "id": 19,
            "name": "Using Financials"
        }],
        "laList": {
            "0": {
                "id": 958
                "hashID": "2096012a912d5d8d7a9501dbf706c8df6df03803",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 419,
                "hashID": "9173522e110a0345256a504274efe7ec43ca7e40",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "Personal Development",
        "type": "group",
        "typeExtra": [{
            "id": 11,
            "name": "Personal Development"
        }],
        "laList": {
            "0": {
                "id": 8995,
                "hashID": "c872a5d2f4cabfa88149b03137896bb53279712e",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

Returns a user’s playlists (competency, group, favourite, bifrost) in order.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found

FetchFavouritePlaylist

curl --data-binary '{"id":"5","method":"playlist.FetchFavouritePlaylist","jsonrpc": "2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "id": "",
        "name": "Favourites",
        "type": "favourite",
        "typeExtra": [{
            "id": 1,
            "name": "Planning \u0026 Organizing"
        }, {
            "id": 4,
            "name": "Productivity"
        }],
        "laList": {
            "0": {
                "id": 319,
                "hashID": "48abb63828ef165a3c95913c3e106e78a1aa6b97",
                "title": "To-Do Lists Don't Work",
                "description": "\u003cp\u003eMarkovitz uses research to explain why to-do lists don’t work and presents a case for using our calendars - the best measure of our capacity - as a means for project management and becoming more productive. He proposes “living in your calendar” as a solution.\u003c/p\u003e\n",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "18000",
                "lengthLabel": "5 hours ",
                "summaryUrl": "10-to-do-lists-dont-work",
                "directUrl": "https://hbr.org/2012/01/to-do-lists-dont-work",
                "isFavourite": true,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": {
                    "String": "",
                    "Valid": false
                },
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 31,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }, {
                    "id": 4,
                    "name": "Productivity"
                }]
            }
        }
    },
    "id": "5"
}

Retrieve the user’s favourite assets playlist.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 Playlists not found

FetchCompetencyPlaylists

curl --data-binary '{"id":"5", "method":"playlist.FetchCompetencyPlaylists", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Using Financials",
        "type": "competency",
        "typeExtra": [{
            "id": 19,
            "name": "Using Financials"
        }],
        "laList": {
            "0": {
                "id": 675,
                "hashID": "14b5221d04bb0041bcc8b11f8d668bb323bb6c6c",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 1809,
                "hashID": "9bd340ccc5a43eb9d583efe4e094d2851c402c3e",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "Personal Development",
        "type": "competency",
        "typeExtra": [{
            "id": 11,
            "name": "Personal Development"
        }],
        "laList": {
            "0": {
                "id": 1907,
                "hashID": "0134e6775690dd572da42e0981874a8f24a6d292",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

Retrieve a user’s list of competency playlists.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found

FetchCompetencyPlaylist

curl --data-binary '{"id":"5", "method":"playlist.FetchCompetencyPlaylist", "params":{"id":"1"}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "id": "1",
        "name": "Planning \u0026 Organizing",
        "type": "competency",
        "typeExtra": [{
            "id": 1,
            "name": "Planning \u0026 Organizing"
        }],
        "laList": {
            "0": {
                "id": 649,
                "hashID": "5d1bf4482e667ffd8fc1fb60287b75f4a06655e6",
                "title": "Multi-tasking: you're making yourself slower and dumber",
                "description": "\u003cp\u003eDoing two things at once is actually a very bad idea. Your productivity drops by 40%. By focussing on a single task and clustering various smaller ones you become less distracted, less stressed and more productive.\u003c/p\u003e\n",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Podcast",
                "lengthSeconds": "14400",
                "lengthLabel": "4 hours ",
                "summaryUrl": "1-multi-tasking-youre-making-yourself-slower-and-dumber",
                "directUrl": "https://www.bbc.co.uk/programmes/p047v0xc",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 4,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }, {
                    "id": 4,
                    "name": "Productivity"
                }]
            },
            "1": {
                "id": 1140,
                "hashID": "65e6cfe5ae4c21a885e033ae4c9484945aec72cf",
                "title": "To-Do Lists Don't Work",
                "description": "\u003cp\u003eMarkovitz uses research to explain why to-do lists don’t work and presents a case for using our calendars - the best measure of our capacity - as a means for project management and becoming more productive. He proposes “living in your calendar” as a solution.\u003c/p\u003e\n",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "18000",
                "lengthLabel": "5 hours ",
                "summaryUrl": "10-to-do-lists-dont-work",
                "directUrl": "https://hbr.org/2012/01/to-do-lists-dont-work",
                "isFavourite": true,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 31,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }, {
                    "id": 4,
                    "name": "Productivity"
                }]
            }
        }
    },
    "id": "5"
}

Returns a specific competency playlist for a user.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id string the playlist's identifier

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found
-32013 Unsupported competency

FetchGroupPlaylists

curl --data-binary '{"id":"5", "method":"playlist.FetchGroupPlaylists", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Using Financials",
        "type": "group",
        "typeExtra": [{
            "id": 19,
            "name": "Using Financials"
        }],
        "laList": {
            "0": {
                "id": 650,
                "hashID": "625d63c4b26f65be6d78fe6f7d0301758d916fa5",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 1146,
                "hashID": "a0a7376fe143806ec851c9221e5b7da5cec0f5b7",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "Personal Development",
        "type": "group",
        "typeExtra": [{
            "id": 11,
            "name": "Personal Development"
        }],
        "laList": {
            "0": {
                "id": 626,
                "hashID": "b7b94f753b3dc905ae0d57acc24624d06b1be883",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

Retrieve a user’s list of group playlists.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found

FetchNexRexPlaylists

curl --data-binary '{"id":"5", "method":"playlist.FetchNexRexPlaylists", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Editor's picks",
        "type": "nexRex",
        "typeExtra": [{
            "id": 19,
            "name": "Editor's picks"
        }],
        "laList": {
            "0": {
                "id": 650,
                "hashID": "625d63c4b26f65be6d78fe6f7d0301758d916fa5",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 1146,
                "hashID": "a0a7376fe143806ec851c9221e5b7da5cec0f5b7",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "What should I learn next",
        "type": "nexRex",
        "typeExtra": [{
            "id": 11,
            "name": "What should I learn next"
        }],
        "laList": {
            "0": {
                "id": 626,
                "hashID": "b7b94f753b3dc905ae0d57acc24624d06b1be883",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

Retrieve a user’s list of nexrex playlists.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found

FetchBifrostPlaylists

curl --data-binary '{"id":"5", "method":"playlist.FetchBifrostPlaylists", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Using Financials",
        "type": "algorithm",
        "typeExtra": [{
            "id": 19,
            "name": "Using Financials"
        }],
        "laList": {
            "0": {
                "id": 159,
                "hashID": "5651fa735f3a7147b3fa034a5d34d7c4babfc8fe",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 885,
                "hashID": "fdad1c42f572206d46c3ff3911435834c9a0b848",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "Personal Development",
        "type": "algorithm",
        "typeExtra": [{
            "id": 11,
            "name": "Personal Development"
        }],
        "laList": {
            "0": {
                "id": 8928,
                "hashID": "6aa268246e373578b578f0e10bd24cdcd9d8c4b5",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": "",
                    "favicon": "",
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

Retrieve a user’s list of bifrost playlists.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found

FetchPlaylistsByTypes

curl --data-binary '{"id":"5", "method":"playlist.FetchPlaylistsByTypes", "params":{"types":["competency", "group"]}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": [{
        "id": "19",
        "name": "Using Financials",
        "type": "competency",
        "typeExtra": [{
            "id": 19,
            "name": "Using Financials"
        }],
        "laList": {
            "0": {
                "id": 8929,
                "hashID": "094bb658b5dfb922e1d495574652b75a3d7d77e3",
                "title": "A rare interview with the mathematician who cracked Wall Street",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "82800",
                "lengthLabel": "23 hours ",
                "summaryUrl": "18-a-rare-interview-with-the-mathematician-who-cracked-wall-street",
                "directUrl": "https://www.ted.com/talks/jim_simons_a_rare_interview_with_the_mathematician_who_cracked_wall_street",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 19,
                    "name": "Using Financials"
                }]
            },
            "1": {
                "id": 8993,
                "hashID": "26c84a23c24d080e091d3057c5cd6055b7547044",
                "title": "The surprisingly logical minds of babies",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Video",
                "lengthSeconds": "72000",
                "lengthLabel": "20 hours ",
                "summaryUrl": "187-the-surprisingly-logical-minds-of-babies",
                "directUrl": "https://www.ted.com/talks/laura_schulz_the_surprisingly_logical_minds_of_babies",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 56,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 12,
                    "name": "Problem Solving \u0026 Decision Making"
                }]
            }
        }
    }, {
        "id": "12",
        "name": "Personal Development",
        "type": "group",
        "typeExtra": [{
            "id": 11,
            "name": "Personal Development"
        }],
        "laList": {
            "0": {
                "id": 2782,
                "hashID": "7d2f4b827c1404f2e456e4d3279da66f186bc1df",
                "title": "How to Run a Brainstorming Session",
                "description": "",
                "mainImage": "",
                "screenshotImage": "",
                "screenshotImageMobile": "",
                "typeLabel": "Article",
                "lengthSeconds": "21600",
                "lengthLabel": "6 hours ",
                "summaryUrl": "107-how-to-run-a-brainstorming-session",
                "directUrl": "http://www.inc.com/guides/2010/11/how-to-run-a-brainstorming-session.html",
                "isFavourite": false,
                "launched": false,
                "dismissed": false,
                "completed": false,
                "notes": "",
                "restrictionCode": "free",
                "restrictionLabel": "Free",
                "provider": {
                    "id": 32,
                    "name": "",
                    "image": ""
                },
                "competencyList": [{
                    "id": 1,
                    "name": "Planning \u0026 Organizing"
                }]
            }
        }

    }],
    "id": "5"
}

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
types array of strings the types for the desired playlists(competency, group, user, algorithm, nexRex)
limit (optional) integer number of playlists (default limit is 10
offset (optional) integer starting from

Errors

Error Code Meaning
-32603 Internal Server Error
-32003 Mandatory JWT Claim missing
-32600 The JSON sent is not a valid Request object
-32605 No playlists found
-32015 Non-existing playlist type

FetchPlaylistByID

The above command returns JSON structured like this:

{
}

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id string the playlist's identifier

ArePlaylistsGenerated

The above command returns JSON structured like this:

{
}

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Goal

Update

curl --data-binary '{"id":"5", "method":"goal.Update", "params":{"id":1, "importance":0.1, "confidence":0.7}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "id": 1,
        "importance": 0.1,
        "confidence": 0.7,
        "order": 1
    },
    "id": "5"
}

Update a user’s goal inputs for a given competency.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id integer the competency’s identifier
importance (optional) float the importance value (must be between 0.1 and 0.9)
confidence (optional) float the confidence value (must be between 0.1 and 0.9)

Errors

Error Code Meaning
-32603 "Internal Server Error"
-32003 "Mandatory JWT Claim missing"
-32011 "No goals set"
-32013 "Unsupported competency"
-32014 "Value is out of range"

FetchAll

curl --data-binary '{"id":"3", "method":"goal.FetchAll", "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "goals": [{
            "id": "1",
            "importance": 0.1,
            "confidence": 0.1,
            "order": 1
        }, {
            "id": "2",
            "importance": 0.8,
            "confidence": 0.5,
            "order":2
        }]
    },
    "id": "3"
}

Retrieve a user’s goal inputs.

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Errors

Error Code Meaning
-32603 "Internal Server Error"
-32003 "Mandatory JWT Claim missing"
-32011 "No goals set"

FetchByCompetencyID

curl --data-binary '{"id":"6", "method":"goal.FetchByCompetencyID", "params":{"id":2}, "jsonrpc":"2.0"}'
  -H 'Authorization: Bearer jwt_access_token'
  -H 'content-type:application/json;'

The above command returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "result": {
        "id": "2",
        "importance": 0.8,
        "confidence": 0.5,
        "order": 1
    },
    "id": "6"
}

Retrieve a user’s goal inputs for a given competency

HTTP Request

POST https://api.test.filtered.com/v2/jsonrpc/mgp

Parameters

Parameter Type Description
id integer the competency’s identifier

Errors

Error Code Meaning
-32603 "Internal Server Error"
-32003 "Mandatory JWT Claim missing"
-32011 "No goals set"
-32013 "Unsupported competency"
-32012 "Goal is not set"