Skip to content

Latest commit

 

History

History
284 lines (222 loc) · 12.5 KB

File metadata and controls

284 lines (222 loc) · 12.5 KB
title Create learningCourseActivity
description Create a new learningCourseActivity object.
author malabikaroy
ms.localizationpriority medium
ms.subservice viva-learning
doc_type apiPageType
ms.date 04/04/2024

Create learningCourseActivity

Namespace: microsoft.graph

Create a new learningCourseActivity object.

A learning course activity can be one of two types:

Use this method to create either type of activity.

Note: A provider can only manage learning course activities when isCourseAcitvitySyncEnabled is set to true. To update the value, use the Update learningProvider method.

[!INCLUDE national-cloud-support]

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

[!INCLUDE permissions-table]

HTTP request

POST /employeeExperience/learningProviders/{registrationId}/learningCourseActivities

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Content-Type application/json. Required.

Request body

In the request body, use @odata.type to specify the type of learningCourseActivity resource that you're creating (learningAssignment or learningSelfInitiated), and include the properties of that type, as listed in the following table.

Property Type Description
assignedDateTime DateTimeOffset Assigned date for the course activity. Optional.
assignmentType assignmentType The assignment type for the course activity. The possible values are: required, recommended, unknownFutureValue. Required.
assignerUserId String The Microsoft Entra ID of the assigner. Optional.
completedDateTime DateTimeOffset The date and time when the assignment was completed. Optional.
completionPercentage Int32 The percentage of the course the user completes. Optional. If a value is provided, it must be between 0 and 100 (inclusive).
dueDateTime DateTimeOffset The due date for the course activity. Optional.
externalCourseActivityId String A course activity ID generated by the provider. Optional.
id String The generated ID for a request that can be used to further interact with the course activity APIs.
learningContentId String The ID of the learning content created in Viva Learning. Required.
learningProviderId String The registration ID of the provider. Required.
learnerUserId String The Microsoft Entra ID of the learner to whom the activity is assigned. Required.
notes String Notes for the course activity. Optional.
registrationId String ID of the provider. The ID is generated when the provider registers on Viva Learning. Required.
startedDateTime DateTimeOffset The date and time when the learner started a self-initiated course. Optional.
status courseStatus The status of the course activity. The possible values are: notStarted, inProgress, completed. Required.

Response

If successful, this method returns a 201 Created response code and a learningCourseActivity object of type learningAssignment or learningSelfInitiated in the response body.

If unsuccessful, this method returns one of the responses below:

Scenario HTTP code Code Message Details
Forbidden 403 Forbidden You don't have an adequate service plan for this request.
Bad request 400 badRequest This provider isn't enabled for the given tenant.
Bad request 400 badRequest There was an issue with your request. Make sure the registrationId you entered is valid or registered for your tenant.
Internal server error 500 internalServerError Internal server error.
Request throttled 429 tooManyRequests {"code": "tooManyRequests","message": "Retry after {noOfMinutes} minutes"}.
Service unavailable 503 serviceUnavailable {"code": "serviceUnavailable","message": "Retry after {noOfMinutes} minutes"}.
Multiple field validations fail 400 badRequest badRequest {"code": "badRequest","message": "Input field {fieldName}shouldn't be empty"}, {"code": "badRequest","message": "Input field {fieldName} is required"}, {"code": "badRequest","message": "Input field {fieldName}length exceeded than {expectedLength}"}.
Forbidden 403 The provider isn't valid to create course activity for the given learning content When the registrationId/learningProviderId doesn't match the provider with which the learningContent is created.
Forbidden 403 The user license isn't valid to perform the operation When the user for which the assignment is being created doesn't have a premium license.

Examples

Example 1: Create an assigned learning course activity

The following example shows how to create a learningAssignment activity.

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.learningAssignment",
  "assignedDateTime": "2021-05-11T22:57:17+00:00",
  "assignmentType": "required",
  "assignerUserId": "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
  "completedDateTime": null,
  "completionPercentage": 20,
  "dueDateTime": {
    "dateTime": "2022-09-22T16:05:00.0000000",
    "timeZone": "UTC"
  },
  "externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
  "learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
  "learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
  "learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
  "notes": {
    "contentType": "text",
    "content": "required assignment added for user"
  },
  "status": "notStarted"
}

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]



Response

The following example shows the response.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.learningAssignment",
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningCourseActivities('7ba2228a-e020-11ec-9d64-0242ac120002')$entity",
  "assignedDateTime": "2021-05-11T22:57:17+00:00",
  "assignmentType": "required",
  "assignerUserId": "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
  "completedDateTime": null,
  "completionPercentage": 20,
  "externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
  "id": "7ba2228a-e020-11ec-9d64-0242ac120002:749c8786-99bb-4b3b-8d5d-586428f6aaa3",
  "dueDateTime": {
    "dateTime": "2022-09-22T16:05:00.0000000",
    "timeZone": "UTC"
  },
  "learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
  "learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
  "learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
  "notes": {
    "contentType": "text",
    "content": "required assignment added for user"
  },
  "status": "notStarted"
}

Example 2: Create a self-initiated learning course activity

The following example creates a learningSelfInitiated activity.

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.learningSelfInitiatedCourse",
  "completedDateTime": null,
  "completionPercentage": 20,
  "externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
  "learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
  "learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
  "startedDateTime": "2021-05-21T22:57:17+00:00",
  "status": "inProgress"
}

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]



Response

The following example shows the response.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.learningSelfInitiatedCourse",
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningCourseActivities('be2f4d76-e020-11ec-9d64-0242ac120002')$entity",
  "completedDateTime": null,
  "completionPercentage": 20,
  "externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
  "id": "7ba2228a-e020-11ec-9d64-0242ac120002:749c8786-99bb-4b3b-8d5d-586428f6aaa3",
  "learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
  "learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
  "learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
  "startedDateTime": "2021-05-21T22:57:17+00:00",
  "status": "inProgress"
}