Migrate postSkills

This guide details how the Create a tag endpoint has changed (previously known as postSkills in v1).

💡

Key changes

  • Terminology: The API v2 uses different terms for what was previously known as 'skills' in API v1.
    • Where you previously used 'skill' in API v1, you'll now use 'tag'.
    • Skill in API v2 now refers to a separate platform solution.

Documentation links

Here is the link to the API reference for the API v2

🛑

The documentation for the API v1 is not publicly available.

Endpoint mapping

Here's the direct correlation between the v1 and v2 endpoint URLs:

  • API v1: /api/v1/skills
  • API v2: /api/v2/tags

Input changes

This section details the specific alterations to the input requirements between API versions.

API v1 input example

curl -X POST \
  https://app.360learning.com/skills \
  -H 'Content-Type: application/json' \
  -d '[
	{
    "name": "Active listening",
    "isMain": true,
    "externalId": "1234",
    "sourceLang": "en",
    "defaultLang": "fr",
    "translationsLangs": [
      {
        "lang": "fr",
        "published": true,
        "translators": [
          "[email protected]",
          "[email protected]"
        ]
      }
    ],
    "translations": [
      {
        "lang": "fr",
        "name": "Ecoute active"
      }
    ],
    "pathId": [
      "5f0c106968d47378d573e642"
    ],
    "courseId": [
      "5f0c106968d47378d573783"
    ],
    "programTemplateId": [
      "6398b1c5f9b8d1e21b50e09c"
    ]
  }
]'

API v2 input example

curl --request POST \
     --url https://app.360learning.com/api/v2/tags \
     --header '360-api-version: v2.0' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer access_token' \
     --header 'content-type: application/json' \
     --data '
{
  "isMain": true,
  "name": "Active listening",
  "externalId": "1743"
}
'

Main input differences

Change typeAPI v1API v2
Removed
Body parameter
sourceLang: The source language for the skill. Removed from endpoint v2, not replaced.

Removed
Body parameter
defaultLang: The default language for the skill. Removed from endpoint v2, not replaced.

Removed
Body parameter
translationsLangs: Array of objects for each translation language. Removed from endpoint v2 , not replaced.

Removed
Body parameter
translations: Translations data for the skill. Removed from endpoint v2, not replaced.

Removed
Body parameter
courseId (Optional): Course ID to link this skill to. Removed from endpoint v2, not replaced.

Removed
Body parameter
programId (Optional): Program ID to link this skill to. Removed from endpoint v2, not replaced.

Removed
Body parameter
pathId (Optional): Path ID to link this skill to. Removed from endpoint v2, not replaced.

Output changes

This section details the specific alterations to the successful output returned between API versions.

API v1 output example

{
 "status": "skill_created",
 "_id": "5be2b954b44a1b6e3526e091"
}

API v2 output example

{
  "isMain": true,
  "_id": "5be2b954b44a1b6e3526e091",
  "name": "Active listening",
  "externalId": "1743"
}

Main output differences

Change typeAPI v1API v2
Removed
Output property
status: Removed from endpoint v2, not replaced.

Modified
Success output
200201: Returns the created tag.
Added
Output property

isMain (Required): True if the tag is to be set as a main tag; false otherwise.
Added
Output property

name (Required): The name of the tag.
Added
Output property

externalId (Optional): The external identifier of the tag if it is being synced from external sources.

Did this page help you?