{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/adobe/main/json-schema/adobe-library-elements-info-schema.json",
  "title": "LibraryElementsInfo",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/adobe-library-service-public-api-openapi.yml#/components/schemas/LibraryElementsInfo",
  "type": "object",
  "properties": {
    "total_count": {
      "type": "integer",
      "format": "int32",
      "description": "Total results for query"
    },
    "elements": {
      "type": "array",
      "description": "Elements list",
      "items": {
        "$ref": "#/$defs/DbLibraryElementData"
      }
    },
    "_page": {
      "description": "List Page",
      "$ref": "#/$defs/PageSpec"
    },
    "_links": {
      "description": "List Links",
      "$ref": "#/$defs/LinksSpec"
    }
  },
  "$defs": {
    "DbLibraryElementData": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "storage_used": {
          "type": "integer",
          "format": "int64",
          "description": "Storage used"
        },
        "created_date": {
          "type": "integer",
          "format": "int64"
        },
        "modified_date": {
          "type": "integer",
          "format": "int64"
        },
        "type": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "element_type": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "thumbnail": {
          "readOnly": true,
          "$ref": "#/$defs/DbLibraryElementRenditionData"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DbLibraryGroup"
          }
        },
        "representations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DbLibraryElementRepresentationData"
          }
        },
        "details": {
          "$ref": "#/$defs/DbLibraryElementDetailData"
        },
        "assetSubType": {
          "type": "string"
        },
        "_fc": {
          "type": "boolean"
        },
        "sourceRef": {
          "type": "string"
        },
        "_links": {
          "$ref": "#/$defs/MelvilleHypermediaLibraryElementLinks"
        },
        "parent_id": {
          "type": "string"
        },
        "manifest_etag": {
          "type": "string"
        }
      }
    },
    "DbLibraryElementDetailData": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "created": {
          "$ref": "#/$defs/DbLibraryElementDetailsCreatedModifiedData"
        },
        "lastModified": {
          "$ref": "#/$defs/DbLibraryElementDetailsCreatedModifiedData"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "DbLibraryElementDetailsCreatedModifiedData": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string"
        },
        "deviceId": {
          "type": "string"
        },
        "device": {
          "type": "string"
        },
        "app": {
          "type": "string"
        },
        "time": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "DbLibraryElementRenditionData": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "rendition": {
          "type": "object",
          "properties": {}
        }
      }
    },
    "DbLibraryElementRepresentationData": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "relationship": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "linkurl": {
          "type": "string"
        },
        "linktype": {
          "type": "string"
        },
        "is_full_size": {
          "type": "boolean"
        },
        "is_external_link": {
          "type": "boolean"
        },
        "width": {
          "type": "integer",
          "format": "int64"
        },
        "height": {
          "type": "integer",
          "format": "int64"
        },
        "content_length": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "asset_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "md5": {
          "type": "string"
        },
        "_links": {
          "$ref": "#/$defs/MelvilleHypermediaRepresentationLinks"
        },
        "etag": {
          "type": "string"
        },
        "storage_href": {
          "type": "string"
        },
        "representation_order": {
          "type": "integer",
          "format": "int32"
        },
        "is_preferred_thumbnail": {
          "type": "boolean"
        },
        "is_component": {
          "type": "boolean",
          "readOnly": true
        }
      }
    },
    "DbLibraryGroup": {
      "type": "object",
      "required": [
        "name",
        "order"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Group id."
        },
        "name": {
          "type": "string",
          "description": "Group name."
        },
        "classifier": {
          "type": "string",
          "description": "Group namespace. Currently defaults to $default. The default should be used unless there's a specific case to provide a custom classifiers. Non-default classifiers are presently not supported in any applications."
        },
        "order": {
          "type": "string",
          "description": "Lexicographical string for setting the group's place in the group list, or for an element's place within a group.The client is responsible for providing and sorting using these strings."
        },
        "created_date": {
          "type": "integer",
          "format": "int64",
          "description": "Group created date"
        },
        "modified_date": {
          "type": "integer",
          "format": "int64",
          "description": "Group modified date"
        },
        "parent_id": {
          "type": "string",
          "description": "Defines a relationship between nested groups.  If provided, and the specified parent group exists, this group will be the \"child\" of the parent group. If there is no group in the library that matches the supplied parentId the group will still be created or updated with an empty parentId."
        }
      }
    },
    "JsonNode": {
      "type": "object",
      "properties": {
        "array": {
          "type": "boolean"
        },
        "null": {
          "type": "boolean"
        },
        "number": {
          "type": "boolean"
        },
        "int": {
          "type": "boolean"
        },
        "nodeType": {
          "type": "string",
          "enum": [
            "ARRAY",
            "BINARY",
            "BOOLEAN",
            "MISSING",
            "NULL",
            "NUMBER",
            "OBJECT",
            "POJO",
            "STRING"
          ]
        },
        "float": {
          "type": "boolean"
        },
        "binary": {
          "type": "boolean"
        },
        "short": {
          "type": "boolean"
        },
        "valueNode": {
          "type": "boolean"
        },
        "containerNode": {
          "type": "boolean"
        },
        "missingNode": {
          "type": "boolean"
        },
        "object": {
          "type": "boolean"
        },
        "pojo": {
          "type": "boolean"
        },
        "integralNumber": {
          "type": "boolean"
        },
        "floatingPointNumber": {
          "type": "boolean"
        },
        "long": {
          "type": "boolean"
        },
        "double": {
          "type": "boolean"
        },
        "bigDecimal": {
          "type": "boolean"
        },
        "bigInteger": {
          "type": "boolean"
        },
        "textual": {
          "type": "boolean"
        },
        "boolean": {
          "type": "boolean"
        }
      }
    },
    "LinksSpec": {
      "type": "object",
      "properties": {
        "next": {
          "description": "Next Link",
          "$ref": "#/$defs/JsonNode"
        },
        "page": {
          "description": "Page Link",
          "$ref": "#/$defs/JsonNode"
        }
      }
    },
    "MelvilleHypermediaLibraryElementLinks": {
      "type": "object",
      "properties": {
        "http://ns.adobe.com/melville/rel/primary": {
          "description": "Primary Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/path": {
          "description": "Path Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/id": {
          "description": "ID Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/policy": {
          "description": "Policy Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/check": {
          "description": "Check Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/effective": {
          "description": "Effective Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/describedBy": {
          "description": "Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/metadata/application": {
          "description": "Application Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/metadata/repository": {
          "description": "Repository Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/rendition": {
          "description": "Rendition Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/version-history": {
          "description": "Version History Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/manifest": {
          "description": "Manifest Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/component": {
          "description": "Component Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/elements": {
          "description": "Elements Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/element": {
          "description": "Element Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/groups": {
          "description": "Groups Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/representations": {
          "description": "Representations Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/raw": {
          "description": "Raw Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "page": {
          "description": "Page Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "next": {
          "description": "Next Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        }
      }
    },
    "MelvilleHypermediaLink": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string"
        },
        "rel": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "templated": {
          "type": "boolean"
        }
      }
    },
    "MelvilleHypermediaRepresentationLinks": {
      "type": "object",
      "properties": {
        "http://ns.adobe.com/melville/rel/primary": {
          "description": "Primary Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/path": {
          "description": "Path Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/id": {
          "description": "ID Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/policy": {
          "description": "Policy Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/check": {
          "description": "Check Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/ac/effective": {
          "description": "Effective Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/describedBy": {
          "description": "Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/metadata/application": {
          "description": "Application Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/metadata/repository": {
          "description": "Repository Metadata Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/rendition": {
          "description": "Rendition Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/version-history": {
          "description": "Version History Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/manifest": {
          "description": "Manifest Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/component": {
          "description": "Component Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/elements": {
          "description": "Elements Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/element": {
          "description": "Element Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/groups": {
          "description": "Groups Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/representations": {
          "description": "Representations Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "http://ns.adobe.com/melville/rel/raw": {
          "description": "Raw Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "page": {
          "description": "Page Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        },
        "next": {
          "description": "Next Link",
          "$ref": "#/$defs/MelvilleHypermediaLink"
        }
      }
    },
    "PageSpec": {
      "type": "object",
      "properties": {
        "orderBy": {
          "type": "string",
          "description": "List orderby"
        },
        "start": {
          "type": "string",
          "description": "List start position"
        },
        "next": {
          "type": "string",
          "description": "List next position"
        },
        "count": {
          "type": "integer",
          "format": "int32",
          "description": "List page size"
        },
        "type": {
          "type": "string",
          "description": "List page type"
        },
        "property": {
          "type": "string",
          "description": "List page property"
        }
      }
    }
  }
}