Comhroinn trí


Learn Platform API developer reference documentation

This article provides information for developers and integrators implementing the Microsoft Learn Platform API. We also recommend checking out the Learn Platform API Overview, release notes, and frequently asked questions articles to support your development journey.

API Endpoints

The Microsoft Learn Platform API catalog endpoints are a set of authenticated REST-based Web APIs that return a JSON-encoded response.

The endpoints are accessible at:

https://learn.microsoft.com/api/v1

Note

If you're using a different, older endpoint, it will still work as expected until June 2026, at that point the older unauthenticated Catalog API will begin its deprecation. If you have further questions, reach out to LearnPlatformAPIMigration@microsoft.com.

Use cases

Authentication

The Learn Platform REST APIs use Microsoft Entra ID for authentication. Before making API calls, you need to choose an access method, and your client application must authenticate with valid credentials.

App-only access

When your app directly accesses Learn, its access isn't tied to any single user. The app calls APIs directly using its own identity, this scenario is app-only access. Learn more on Microsoft identity platform.

To get started, you need a valid identity on the Microsoft Identity Platform, which can be an app registration or a managed identity. Ideally, each partner should have a single identity to simplify quota and partner management. Using a user-assigned managed identity can help unify managed identities across different services.

Once your Entra ID identity is set up, obtain an access token from Entra ID with scope set to https://learn.microsoft.com/.default as proof of authentication. Include the access token in the HTTP Authorization header when making REST API requests to Learn.

Delegated access

When a user signs into your app and uses it to access Learn, the app will first need to ask for permission to access this resource on the user's behalf. This scenario is called delegated access. Learn more on Microsoft identity platform.

To get started, you need to register an app registration. Once your app registration is set up, your app needs to ask the user to grant a specific scope, or set of scopes to access Learn on behalf of the user. Learn provides a list of scopes for fine-grained resource access. The list of scopes include:

  • https://learn.microsoft.com/PublicContent.Read.All: This scope allows users to access public content on Learn impersonated as the signed-in user.

Query parameters

The following are the query parameters that the request can include. Only api-version is required and the current version is 2023-11-01-preview. You must URL encode the query parameter values. You can use the endpoint with one, some, or all of these parameters.

Important

If you use more than one, the query is assessed using the AND operator; comma‑delimited values inside a filter are OR‑combined.

Name Value Type Required Example
api-version API version is specified as api-version query parameter and uses yyyy-MM-dd for stable versions and yyyy-MM-dd-preview for preview versions. The api-version query parameter is required for every API request. string Yes ?api-version=2023-11-01-preview
locale A single, valid locale code from the supported list of locales. The returned metadata will be in the requested locale if available. If this parameter isn't supplied, the en-us response will be returned. string No ?locale=en-us
id A comma-separated list of one or more valid content unique IDs (uid) from the available content types. Note: uids are case-sensitive. string No ?uid=learn.azure.intro-to-azure-fundamentals
updatedAt.gt An operator and datetime to filter by the last modified date of objects. Operator includes gt (greater than), gte (greater than or equal to). When you use this parameter, the operator will default to gt if not specified. string No ?updatedAt.gt=2022-01-01
levels A comma-separated list of one or more of the levels we currently have available (full list is in the levels object of the API response). string No ?levels=beginner
roles A comma-separated list of one or more of the roles we currently have available (full list is in the roles object of the API response). string No ?roles=developer
products A comma-separated list of one or more of the roles we currently have available (full list is in the products object of the API response). The API doesn't support product hierarchy, so add every product to the list you want to include in your query. string No ?products=azure
subjects A comma-separated list of one or more of the roles we currently have available (full list is in the subjects object of the API response). The API doesn't support subject hierarchy, so add every subject to the list you want to include in your query. string No ?subjects=cloud-computing
maxpagesize The maximum number of resources to include in a single response. The default value is 30. The maximum allowed value is 100. string No ?maxpagesize=50

API response

The service may return the following HTTP status codes.

Status code Description
200 Success. The body of the response includes the JSON-encoded data.
400 One of the query parameters is missing or not valid.
401 Unauthorized query.
404 The URL wasn't found on the server.
429 The request was rate limited.
500 Unexpected server error.
503 The service is temporarily unavailable.

A successful response will include details for each endpoint, as shown below.

Response body

Module response

Module records

Each module record will have the following form:

{
  "type": "module",
  "id": "learn.wwl.fundamentals-generative-ai",
  "url": "https://learn.microsoft.com/training/modules/fundamentals-generative-ai/",
  "locale": "en-us",
  "title": "Introduction to generative AI and agents",
  "durationInMinutes": 37,
  "summary": "Ever wondered how AI can create content, answer questions, and assist with tasks? This module introduces you to the world of generative AI and agents.",
  "iconUrl": "https://learn.microsoft.com/training/achievements/fundamentals-generative-ai.svg",
  "levels": [
    {
      "id": "beginner",
      "name": ""
    }
  ],
  "roles": [
    {
      "id": "ai-engineer",
      "name": "AI Engineer"
    },
    {
      "id": "developer",
      "name": "Developer"
    },
    {
      "id": "solution-architect",
      "name": "Solution Architect"
    },
    {
      "id": "student",
      "name": "Student"
    }
  ],
  "products": [
    {
      "id": "azure-ai-foundry",
      "name": "Azure AI Foundry"
    }
  ],
  "subjects": [
    {
      "id": "artificial-intelligence",
      "name": "Artificial intelligence"
    }
  ],
  "units": [
    {
      "id": "learn.wwl.fundamentals-generative-ai.introduction"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.language-models"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.writing-prompts"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.agents"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.exercise-ai-agent"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.knowledge-check"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai.summary"
    }
  ],
  "updatedAt": "2025-12-23T00:20:00.0000000Z"
}

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: module.
id string Yes Globally unique module identifier.
url uri Yes Fully qualified URL to the module in the requested locale.
locale string Yes Module content locale. Defaults to en-us if the requested locale is unavailable.
title string Yes Localized module title.
durationInMinutes integer Yes Average module completion time in minutes.
summary string Yes Short description of the module.
iconUrl uri Yes URL to a 100×100 SVG transparent module icon.
levels Level[] Yes Experience levels associated with this module.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
subjects Subject[] Yes Relevant subject classifications.
units UnitReference[] Yes Associated learning units.
updatedAt date-time Yes Last updated timestamp (may not change on minor edits).

Unit records

Each unit record will have the following form:

{ 
"type": "unit",
  "id": "learn.wwl.fundamentals-generative-ai.agents",
  "url": "https://learn.microsoft.com/training/modules/fundamentals-generative-ai/7-agents/",
  "locale": "en-us",
  "title": "AI agents",
  "durationInMinutes": 5,
  "updatedAt": "2025-10-06T17:09:00.0000000Z"
},

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: unit.
id string Yes Unique identifier for this unit across Microsoft Learn.
url uri Yes Fully qualified URL to the unit in the requested locale.
locale string Yes Locale of the unit; falls back to en-us if requested locale is unavailable.
title string Yes Localized unit title (fallback: US English).
durationInMinutes integer Yes Average completion time in minutes.
updatedAt date-time Yes Last updated timestamp; may remain unchanged for minor edits.

Learning path records

Each learning path record will have the following form:

{
  "type": "learningPath",
  "id": "learn.introduction-ai-azure",
  "url": "https://learn.microsoft.com/training/paths/introduction-to-ai-on-azure/",
  "locale": "en-us",
  "title": "Introduction to AI in Azure",
  "durationInMinutes": 669,
  "summary": "This course introduces core concepts related to artificial intelligence (AI), and the services in Microsoft Azure that can be used to create AI solutions, focusing on Microsoft Foundry.",
  "iconUrl": "https://learn.microsoft.com/training/achievements/document-intelligence-knowledge-mining.svg",
  "levels": [
    {
      "id": "beginner",
      "name": ""
    }
  ],
  "roles": [
    {
      "id": "ai-engineer",
      "name": "AI Engineer"
    },
    {
      "id": "developer",
      "name": "Developer"
    },
    {
      "id": "solution-architect",
      "name": "Solution Architect"
    },
    {
      "id": "student",
      "name": "Student"
    }
  ],
  "products": [
    {
      "id": "azure-ai-foundry",
      "name": "Azure AI Foundry"
    }
  ],
  "subjects": [
    {
      "id": "artificial-intelligence",
      "name": "Artificial intelligence"
    }
  ],
  "modules": [
    {
      "id": "learn.wwl.get-started-ai-fundamentals"
    },
    {
      "id": "learn.wwl.get-started-ai-in-foundry"
    },
    {
      "id": "learn.wwl.fundamentals-machine-learning"
    },
    {
      "id": "learn.wwl.design-machine-learning-model-training-solution"
    },
    {
      "id": "learn.wwl.fundamentals-generative-ai"
    },
    {
      "id": "learn.wwl.get-started-generative-ai-azure"
    },
    {
      "id": "learn.wwl.introduction-language"
    },
    {
      "id": "learn.wwl.get-started-language-azure"
    },
    {
      "id": "learn.wwl.introduction-ai-speech"
    },
    {
      "id": "learn.wwl.recognize-synthesize-speech"
    },
    {
      "id": "learn.wwl.introduction-computer-vision"
    },
    {
      "id": "learn.wwl.get-started-computer-vision"
    },
    {
      "id": "learn.wwl.introduction-information-extraction"
    },
    {
      "id": "learn.wwl.ai-information-extraction"
    }
  ],
  "updatedAt": "2025-12-12T00:08:00.0000000Z"
}

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: learningPath.
id string Yes Unique identifier for this learning path across Microsoft Learn.
url uri Yes Fully qualified URL to the learning path in the requested locale.
locale string Yes Locale the learning path is written in; falls back to en-us if the requested locale is unavailable.
title string Yes Localized learning path title.
durationInMinutes integer Yes Average completion time for the learning path in minutes.
summary string Yes Short description of the learning path.
iconUrl uri Yes URL to a 100×100 SVG icon representing the learning path.
levels Level[] Yes Experience levels associated with the learning path.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
subjects Subject[] Yes Relevant subject classifications.
modules ModuleReference[] Yes Associated module references.
updatedAt date-time Yes Last updated timestamp; may remain unchanged for minor edits.

Applied Skills records

Each Applied Skills record will have the following form:

{
  "type": "appliedSkills",
  "id": "applied-skill.deploy-and-configure-azure-monitor",
  "locale": "en-us",
  "title": "Microsoft Applied Skills: Deploy and configure Azure Monitor",
  "summary": "<p>To earn this Microsoft Applied Skills credential, learners demonstrate the ability to deploy and configure monitoring for Azure infrastructure.</p>\n<p>Candidates for this assessment lab should be familiar with operating systems, networking, servers, and virtualization.</p>\n",
  "iconUrl": "https://learn.microsoft.com/",
  "url": "https://learn.microsoft.com/credentials/applied-skills/deploy-and-configure-azure-monitor/",
  "levels": [
    {
      "id": "intermediate",
      "name": ""
    }
  ],
  "roles": [
    {
      "id": "administrator",
      "name": "Administrator"
    }
  ],
  "products": [
    {
      "id": "azure-monitor",
      "name": "Azure Monitor"
    },
    {
      "id": "azure-virtual-machines",
      "name": "Azure Virtual Machines"
    },
    {
      "id": "azure-virtual-network",
      "name": "Azure Virtual Network"
    },
    {
      "id": "windows-server",
      "name": "Windows Server"
    }
  ],
  "subjects": [
    {
      "id": "it-management-monitoring",
      "name": "IT management and monitoring"
    }
  ],
  "updatedAt": "2026-02-06T00:10:57.0000000Z"
}

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: appliedSkills.
id string Yes Unique identifier for this applied skill across Microsoft Learn.
locale string Yes Locale the applied skill is written in; falls back to en-us if requested locale is unavailable.
title string Yes Localized applied skill title.
summary string Yes Short description of the applied skill.
iconUrl uri Yes URL to a 100×100 SVG icon representing the applied skill.
url uri Yes Fully qualified URL to the applied skill in the requested locale.
levels Level[] Yes Experience levels associated with this applied skill.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
subjects Subject[] Yes Relevant subject classifications.
updatedAt date-time Yes Last updated timestamp; may remain unchanged for minor updates.

Certification records

Each certification record will have the following form:

{
  "type": "certification",
  "id": "certification.d365-functional-consultant-customer-service",
  "locale": "en-us",
  "title": "Microsoft Certified: Dynamics 365 Customer Service Functional Consultant Associate (Legacy with Power Platform)",
  "subtitle": "<p>If you’re a functional consultant responsible for configuring and implementing Dynamics 365 solutions for customers, you can use this certification to shine a light on your skills and to help advance your career. A Dynamics 365 Customer Service functional consultant implements omnichannel solutions that focus on service, quality, reliability, efficiency, and customer satisfaction. As a functional consultant, you know how to work with project managers, developers, and solution architects. You need a minimum of one to three years of experience as a functional consultant implementing Dynamics 365.</p>\n<p>If you need more experience before you try to earn this certification, here are some suggestions:</p>\n<ul>\n<li>Work as a Dynamics 365 functional consultant on one or more projects.</li>\n<li>Work on a Dynamics 365 Customer Service implementation.</li>\n<li>Join the community at <a href=\"https://community.dynamics.com/\">community.dynamics.com</a>.</li>\n<li>Take available learning paths on <a href=\"/training/browse/?expanded=dynamics-365&amp;products=dynamics-customer-service&amp;roles=functional-consultant&amp;resource_type=learning%20path\">Microsoft Learn</a>.</li>\n<li>Complete more hands-on practice.</li>\n<li>Sign up for an instructor-led training course.</li>\n</ul>\n<div class=\"WARNING\">\n<p>Warning</p>\n<p>This version of the certification is no longer available. <a href=\"https://techcommunity.microsoft.com/t5/microsoft-learn-blog/new-exam-structure-for-dynamics-365-certifications-for-customer/ba-p/3500861\">Read this blog post for more information about this change</a>.</p>\n</div>\n",
  "iconUrl": "https://learn.microsoft.com/media/learn/certification/badges/microsoft-certified-associate-badge.svg",
  "url": "https://learn.microsoft.com/credentials/certifications/d365-functional-consultant-customer-service-legacy-with-power-platform/",
  "levels": [
    {
      "id": "intermediate",
      "name": ""
    }
  ],
  "roles": [
    {
      "id": "business-analyst",
      "name": "Business Analyst"
    },
    {
      "id": "developer",
      "name": "Developer"
    },
    {
      "id": "functional-consultant",
      "name": "Functional Consultant"
    }
  ],
  "products": [
    {
      "id": "power-apps",
      "name": "Power Apps"
    },
    {
      "id": "power-bi",
      "name": "Power BI"
    },
    {
      "id": "power-automate",
      "name": "Power Automate"
    },
    {
      "id": "dataverse",
      "name": "Microsoft Dataverse"
    },
    {
      "id": "ai-builder",
      "name": "AI Builder"
    },
    {
      "id": "power-platform",
      "name": "Microsoft Power Platform"
    },
    {
      "id": "office-teams",
      "name": "Microsoft Teams"
    },
    {
      "id": "microsoft-copilot-studio",
      "name": "Microsoft Copilot Studio"
    },
    {
      "id": "dynamics-365",
      "name": "Dynamics 365"
    },
    {
      "id": "dynamics-customer-service",
      "name": "Customer Service"
    }
  ],
  "subjects": [],
  "certificationType": {
    "id": "role-based",
    "name": "role-based"
  },
  "renewalFrequencyInDays": 0,
  "prerequisites": [],
  "exams": [
    {
      "id": "exam.mb-230"
    }
  ],
  "updatedAt": "2024-10-08T15:40:00.0000000Z"
}

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: certification.
id string Yes Unique identifier for this certification across Microsoft Learn.
locale string Yes Locale the certification is written in; falls back to en-us if the requested locale is unavailable.
title string Yes Localized certification title.
subtitle string Yes Localized certification subtitle.
iconUrl uri Yes URL to a 100×100 SVG icon representing the certification.
url uri Yes Fully qualified URL to the certification in the requested locale.
levels Level[] Yes Experience levels associated with this certification.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
subjects Subject[] Yes Relevant subject classifications.
certificationType Taxonomy Yes Classification representing the certification type.
renewalFrequencyInDays integer Yes Number of days before this certification expires; 0 means it does not expire.
prerequisites string[] Yes List of recommended prerequisites for earning this certification.
exams ExamReference[] Yes Associated exams required for this certification.
updatedAt date-time Yes Timestamp of last update; may remain unchanged for minor edits.

Exam records

Each exam record will have the following form:

{
  "type": "exam",
  "id": "exam.77-881",
  "locale": "en-us",
  "title": "Word 2010",
  "subtitle": "The core-level Microsoft Office Word 2010 user should be able to navigate Microsoft Office Word 2010 software at the feature and functional level. They should be familiar with and know how to use at least 80 percent of the features and capabilities of Microsoft Office Word 2010. The core-level user should be able to use Microsoft Office Word 2010 to create and edit professional-looking documents for a variety of purposes and situations. Users would include people from a wide variety of job roles from almost all areas of professional, student, and personal life.",
  "iconUrl": "https://learn.microsoft.com/media/learn/certification/badges/certification-exam.svg",
  "url": "https://learn.microsoft.com/credentials/certifications/exams/77-881/",
  "levels": [
    {
      "id": "beginner",
      "name": ""
    }
  ],
  "roles": [
    {
      "id": "business-user",
      "name": "Business User"
    }
  ],
  "products": [
    {
      "id": "office-word",
      "name": "Word"
    }
  ],
  "locales": [],
  "examNumber": "77-881",
  "pdfUrl": "https://learn.microsoft.comhttps//query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4trjX",
  "practiceAssessmentUrl": "https://learn.microsoft.com/",
  "providers": [],
  "courses": [],
  "studyGuide": [],
  "updatedAt": "2026-02-06T00:10:57.0000000Z"
}

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: exam.
id string Yes Unique identifier for this exam across Microsoft Learn.
locale string Yes Locale the exam is written in; falls back to en-us if requested locale is unavailable.
title string Yes Localized exam title.
subtitle string Yes Localized exam subtitle.
iconUrl uri Yes URL to a 100×100 SVG icon representing the exam.
url uri Yes Fully qualified URL to the exam in the requested locale.
levels Level[] Yes Experience levels associated with this exam.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
locales Locale[] Yes Languages the exam is officially offered in.
examNumber string Yes Exam number identifier.
pdfUrl uri No URL to the “Skills Measured” PDF for this exam.
practiceAssessmentUrl uri No URL to a free practice assessment for this exam.
providers Provider[] No Providers offering this exam.
courses Course[] No Instructor‑led courses associated with this exam.
studyGuide StudyGuideRef[] No Associated study guide content (polymorphic references).
updatedAt date-time Yes Last updated timestamp; may remain unchanged for minor edits.

Instructor-led course records

Each course record will have the following form:

{
  "type": "course",
  "id": "course.ai-900t00",
  "url": "https://learn.microsoft.com/training/courses/ai-900t00/",
  "locale": "en-us",
  "title": "Introduction to AI in Azure",
  "summary": "<p>This course introduces fundamentals concepts related to artificial intelligence (AI), and the services in Microsoft Azure that can be used to create AI solutions. The course is not designed to teach students to become professional data scientists or software developers, but rather to build awareness of common AI workloads and the ability to identify Azure services to support them. The course is designed as a blended learning experience that combines instructor-led training with online materials on the Microsoft Learn platform (<a href=\"https://azure.com/learn\">https://azure.com/learn</a>). The hands-on exercises in the course are based on Learn modules, and students are encouraged to use the content on Learn as reference materials to reinforce what they learn in the class and to explore topics in more depth.</p>\n<h4 id=\"audience-profile\">Audience Profile</h4>\n<p>The Introduction to AI in Azure course is designed for anyone interested in learning about the types of solution artificial intelligence (AI) makes possible, and the services on Microsoft Azure that you can use to create them. You don’t need to have any experience of using Microsoft Azure before taking this course, but a basic level of familiarity with computer technology and the Internet is assumed. Some of the concepts covered in the course require a basic understanding of mathematics, such as the ability to interpret charts. The course includes hands-on activities that involve working with data and running code, so a knowledge of fundamental programming principles will be helpful.</p>\n",
  "iconUrl": "https://learn.microsoft.com/media/learn/certification/course.svg",
  "courseNumber": "AI-900T00",
  "durationInHours": 24,
  "locales": [
    {
      "id": "en",
      "name": "en"
    },
    {
      "id": "ar",
      "name": "ar"
    },
    {
      "id": "zh-cn",
      "name": "zh-cn"
    },
    {
      "id": "zh-tw",
      "name": "zh-tw"
    },
    {
      "id": "fr",
      "name": "fr"
    },
    {
      "id": "de",
      "name": "de"
    },
    {
      "id": "id",
      "name": "id"
    },
    {
      "id": "it",
      "name": "it"
    },
    {
      "id": "ja",
      "name": "ja"
    },
    {
      "id": "ko",
      "name": "ko"
    },
    {
      "id": "pt-br",
      "name": "pt-br"
    },
    {
      "id": "ru",
      "name": "ru"
    },
    {
      "id": "es",
      "name": "es"
    }
  ],
  "levels": [],
  "roles": [
    {
      "id": "ai-engineer",
      "name": "AI Engineer"
    }
  ],
  "products": [
    {
      "id": "azure",
      "name": "Azure"
    }
  ],
  "certification": {
    "id": "certification.azure-ai-fundamentals"
  },
  "studyGuide": [],
  "updatedAt": "2026-02-06T00:10:57.0000000Z"
},

Property details

Property Type Required Description
type enum Yes Type discriminator. Allowed: course.
id string Yes Unique identifier for this course across Microsoft Learn.
url uri Yes Fully qualified URL to the course in the requested locale.
locale string Yes Locale the course is written in; falls back to en-us if requested locale is unavailable.
title string Yes Localized course title.
summary string Yes Short description of the course.
iconUrl uri Yes URL to a 100×100 SVG icon representing the course.
courseNumber string Yes Instructor‑led course number.
durationInHours integer Yes Average time to complete the course (in hours).
locales Locale[] Yes Languages the course is officially offered in; other languages may be supported by partners.
levels Level[] Yes Experience levels associated with this course.
roles Role[] Yes Relevant job roles.
products Product[] Yes Relevant product classifications.
exam ExamRef No Associated exam for this course.
certification CertRef No Associated certification for this course.
studyGuide StudyGuideRef[] No Related study materials (polymorphic references).
updatedAt date-time Yes Last updated timestamp; may remain unchanged for minor updates.

Level, product, role, and subject records

The levels, products, roles, and subjects collections provide friendly names for the values used in the module and learning path data. All four collections have the same shape:

{ 
    "id": "unique-id",
    "name": "name-of-item",
    "children": [
        { "id": "unique-id", "name": "name-of-item" },
        { "id": "unique-id", "name": "name-of-item" },
           ...
    ]
}

The id will match the values for levels, products, roles, and subjects included in the other catalog entries. The associated name provides a proper name in English for the entry. The children array is optional and enables hierarchical for values that have child relationships such as products.

As an example, here's a set of possible roles:

{
    ...
    "roles": [ 
        {
            "id": "administrator",
            "name": "Administrator"
        },
        {
            "id": "ai-engineer",
            "name": "AI Engineer"
        },
        {
            "id": "business-analyst",
            "name": "Business Analyst"
        },
        {
            "id": "developer",
            "name": "Developer"
        },
        ...
    ]
}

Here's an example set of products, with children included to provide a more specific product category.

{ 
    ...
    "products": [
        {
            "id": "dotnet",
            "name": ".NET",
            "children": [
                { "id": "dotnet-core", "name": ".NET Core" },
                { "id": "dotnet-standard", "name": ".NET Standard" },
                { "id": "aspnet-core", "name": "ASP.NET Core" },
                { "id": "ef-core", "name": "Entity Framework Core" }
            ]
        },
        {
            "id": "ms-graph",
            "name": "Microsoft Graph"
        },
        {
            "id": "office",
            "name": "Office",
            "children": [
                { "id": "office-365", "name": "Office 365" },
                { "id": "office-add-ins", "name": "Office Add-ins" },
                { "id": "office-teams", "name": "Teams" }
            ]
        },
        {
            "id": "sql-server",
            "name": "SQL Server"
        },
        ...
    ]
}

Next steps

Review the resources below to help you on your development journey: