{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/adobe-captivate/json-schema/adobe-captivate-learning-object-instance-list-response-schema.json",
  "title": "LearningObjectInstanceListResponse",
  "description": "Paginated list of learning object instances",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/adobe-captivate-learning-objects-api-openapi.yml#/components/schemas/LearningObjectInstanceListResponse",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/LearningObjectInstance"
      }
    },
    "links": {
      "$ref": "#/$defs/PaginationLinks"
    }
  },
  "$defs": {
    "LearningObjectInstance": {
      "type": "object",
      "description": "An instance of a learning object representing a specific offering with its own timeline and enrollment settings",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for the instance"
        },
        "type": {
          "type": "string",
          "const": "learningObjectInstance"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "completionDeadline": {
              "type": "string",
              "format": "date-time",
              "description": "Deadline by which the learner must complete the course"
            },
            "enrollmentDeadline": {
              "type": "string",
              "format": "date-time",
              "description": "Deadline for enrolling in this instance"
            },
            "isDefault": {
              "type": "boolean",
              "description": "Whether this is the default instance"
            },
            "seatLimit": {
              "type": "integer",
              "description": "Maximum number of learners who can enroll"
            },
            "state": {
              "type": "string",
              "description": "Current state of the instance",
              "enum": [
                "Active",
                "Retired"
              ]
            }
          }
        }
      }
    },
    "PaginationLinks": {
      "type": "object",
      "description": "Pagination links following JSON:API conventions",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri",
          "description": "URL for the current page"
        },
        "next": {
          "type": "string",
          "format": "uri",
          "description": "URL for the next page"
        },
        "prev": {
          "type": "string",
          "format": "uri",
          "description": "URL for the previous page"
        }
      }
    }
  }
}