Migrate getGroupCatalog

This guide details how the List all content IDs in a group catalog endpoint has replaced the v1 getGroupCatalog.

💡

Key changes

  • Content type: The v2 endpoint retrieves content for a single, specified content type (e.g., course or path-session), whereas the v1 endpoint returned all content types in one request.
  • Pagination: The v2 endpoint is paginated, returning a maximum of 10,000 unique content IDs per page.
  • Behavior: The v2 endpoint returns only a list of IDs, not full content objects.

Documentation links

Here are the links to the API reference for:

Endpoint mapping

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

  • API v1: /api/v1/groups/:group_id/catalog
  • API v2: /api/v2/groups/{groupId}/catalog/{contentType}-ids

Input changes

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

API v1 input example

curl --location -g 'https://{{host}}/api/v1/groups/:group_id/catalog?company={{company}}&apiKey={{apiKey}}'

API v2 input example

curl --request GET \
     --url https://app.360learning.com/api/v2/groups/507f1f77bcf86cd799439011/catalog/course-ids \
     --header '360-api-version: v2.0' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer your_access_token'

Main input differences

Change typeAPI v1API v2
Modified
Path parameter
group_id (Required): The unique ID of the group.
groupId (Required): Modified name. The unique ID of the group.
Added
Header parameter

360-api-version (Required): API version identifier. Example: v2.0.
Added
Path parameter

contentType (Required): The type of content IDs to retrieve. Allowed values: path-session, course.

Output changes

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

API v1 output example

{
  "courses": [
    {
      "_id": "5ca4abe60a6bab14ff7bcd9b",
      "name": "My First Course"
    },
    {
      "_id": "5bf6dcbde08846890714ba87",
      "name": "My Second Course"
    }
  ],
  "paths": [
    {
      "_id": "5ca4abe60a6bab14ff7bcd9b",
      "name": "My First Path"
    }
  ]
}

API v2 output example

[
  "5ca4abe60a6bab14ff7bcd9b",
  "5bf6dcbde08846890714ba87"
]

Main output differences

API v2 output structure has shifted from a complex object containing arrays of full content objects (ID and Name) for all content types, to a simple, paginated array of unique content IDs for a single specified content type.

Change typeAPI v1API v2
Removed
Output property
courses: Top-level array properties containing course IDs and names.Removed in v2. The content type is now specified in the URL path.
Removed
Output property
paths: Top-level array properties containing path IDs and names.Removed in v2. The content type is now specified in the URL path.
Removed
Output property
name: Name of the course or path.Removed in v2. v2 only returns IDs.
Modified
Success output
200: Returns all items in the body.200: Returns one page of 10,000 unique content IDs.
Added
Header

Link: String. URL (between < >) to fetch the immediate next page of results. Only included if there are additional pages of results.

Did this page help you?