---
title: "Get module learning object details"
description: "Returns the structured learning object details for a Mindtickle module, including content files, assessments, and quizzes."
contentType: "api-reference"
url: "https://developer.mindtickle.com/docs/training/modules/get-module-learning-object-details/"
---

## Prerequisites

1. [Authentication and setup](/docs/getting-started/authentication-and-setup/): A valid access token.
2. [List all modules in a series](/docs/training/modules/list-all-modules-in-a-series/): Get the Mindtickle ID of the module.

## Endpoint

```http
GET /api/v2/entity/MODULE_ID/learning_objects
```

Replace `MODULE_ID` with the Mindtickle ID of the module.

Base URL: the standard REST host for your region. See [Base URLs](/docs/getting-started/authentication-and-setup/#base-urls).

Headers: `Authorization: Bearer ACCESS_TOKEN`.

## Path parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `MODULE_ID` | string | Required | Mindtickle ID of the module. |

## Request

This endpoint does not have any JSON request parameters.

## Response

| Field | Description |
| --- | --- |
| `requestId` | A unique identifier for the request. |
| `learning_contents` | A list of content objects, each with an `id`, `type`, and relevant attributes. |
| `total` | The total number of content items returned. |

### Response example

```json
{
  "requestId": "req_101",
  "learning_contents": [
    {
      "id": "1234567890123456101",
      "type": "Content",
      "media": {
        "url": "https://cdn.example.com/media/sales-rep.png",
        "id": "1234567890123456102",
        "type": "IMAGE",
        "title": "Sales rep.png"
      }
    },
    {
      "id": "1234567890123456103",
      "type": "Multiple choice question",
      "question": "Why can building an app be complex?",
      "options": [
        {
          "option": "Developers spend time dealing with conflict resolution",
          "isCorrect": true,
          "order": 0
        },
        {
          "option": "Mobile developers spend a lot of time in no-value coding",
          "isCorrect": true,
          "order": 1
        },
        { "option": "Object databases are more tedious", "isCorrect": false, "order": 2 },
        { "option": "All of the above", "isCorrect": false, "order": 3 }
      ]
    }
  ],
  "total": 2
}
```

## Errors

| Status | Error |
| --- | --- |
| `400` | Invalid module. |
| `403` | Access denied. |
| `404` | Module not found. |
| `429` | Rate limit exceeded. |
| `500` | Internal server error. |

## Notes

- **Supported modules:** Course, quick update, and assessment.
- **Supported content types:** Content with or without transcription, multiple choice question, match the labels, multiple choice images, word guess, mark the location, text answer, true or false, and multiple choice poll. See [Learning object content types](/docs/training/modules/learning-object-content-types/) for the shape of each.
- **Security:** Media URLs are documented as signed and time-bound. API access follows Mindtickle's standard authorization and rate limiting.
- **Limitations:** Unpublished modules are not supported. Access is read-only, so no content modifications and no learning object creation or upload are supported. Factopedia content is not available. Confirm transcript support with [Mindtickle Support](mailto:support@mindtickle.com) before depending on `media.transcription_url`. Its presence in an example does not guarantee transcript availability.

## Related

- [Learning object content types](/docs/training/modules/learning-object-content-types/): The shape of each content type in the response.
- [Get module details](/docs/training/modules/get-module-details/): Get the details of the module itself.
