KU Leuven Access API

The Access API from KU Leuven — 23 operation(s) for access.

OpenAPI Specification

ku-leuven-access-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: KU Leuven Research Data Repository (RDR) Access API
  description: Dataverse-based institutional research data repository API for KU Leuven (rdr.kuleuven.be), running Dataverse 6.7.1. Public info endpoints are reachable without authentication; write operations require an API token, a registered ORCID, and the Dataset Creator role.
  version: 6.7.1
servers:
- url: https://rdr.kuleuven.be/api
  description: KU Leuven Research Data Repository (RDR) production API
tags:
- name: Access
paths:
  /access/datafile/bundle/{fileId}:
    get:
      operationId: Access_datafileBundle
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          format: int64
          type: integer
      - name: gbrecs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                $ref: '#/components/schemas/BundleDownloadInstance'
      tags:
      - Access
  /access/datafile/{fileId}:
    get:
      operationId: Access_datafile
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          pattern: .+
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{fileId}/auxiliary:
    get:
      operationId: Access_listDatafileMetadataAux
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{fileId}/auxiliary/{formatTag}/{formatVersion}:
    get:
      operationId: Access_downloadAuxiliaryFile
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: formatTag
        in: path
        required: true
        schema:
          type: string
      - name: formatVersion
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DownloadInstance'
      tags:
      - Access
    delete:
      operationId: Access_deleteAuxiliaryFileWithVersion
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          format: int64
          type: integer
      - name: formatTag
        in: path
        required: true
        schema:
          type: string
      - name: formatVersion
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{fileId}/auxiliary/{origin}:
    get:
      operationId: Access_listDatafileMetadataAuxByOrigin
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: origin
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{fileId}/metadata:
    get:
      operationId: Access_tabularDatafileMetadata
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: exclude
        in: query
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          format: int64
          type: integer
      - name: include
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/xml:
              schema:
                type: string
      tags:
      - Access
  /access/datafile/{fileId}/metadata/ddi:
    get:
      operationId: Access_tabularDatafileMetadataDDI
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: exclude
        in: query
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          format: int64
          type: integer
      - name: include
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/xml:
              schema:
                type: string
      tags:
      - Access
  /access/datafile/{id}/grantAccess/{identifier}:
    put:
      operationId: Access_grantFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/listRequests:
    get:
      operationId: Access_listFileAccessRequests
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/rejectAccess/{identifier}:
    put:
      operationId: Access_rejectFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/requestAccess:
    put:
      operationId: Access_requestFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/revokeAccess/{identifier}:
    delete:
      operationId: Access_revokeFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/userFileAccessRequested:
    get:
      operationId: Access_getUserFileAccessRequested
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafile/{id}/userPermissions:
    get:
      operationId: Access_getUserPermissionsOnFile
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafiles:
    post:
      operationId: Access_postDownloadDatafiles
      parameters:
      - name: gbrecs
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          text/plain:
            schema:
              type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/datafiles/{fileIds}:
    get:
      operationId: Access_datafiles
      parameters:
      - name: fileIds
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/dataset/{id}:
    get:
      operationId: Access_downloadAllFromLatest
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/dataset/{id}/versions/{versionId}:
    get:
      operationId: Access_downloadAllFromVersion
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: versionId
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
  /access/dataverseFeaturedItemImage/{itemId}:
    get:
      operationId: Access_getDataverseFeatureItemImage
      parameters:
      - name: itemId
        in: path
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                format: binary
                type: string
      tags:
      - Access
  /access/dsCardImage/{versionId}:
    get:
      operationId: Access_dsCardImage
      parameters:
      - name: versionId
        in: path
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                format: binary
                type: string
      tags:
      - Access
  /access/dvCardImage/{dataverseId}:
    get:
      operationId: Access_dvCardImage
      parameters:
      - name: dataverseId
        in: path
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                format: binary
                type: string
      tags:
      - Access
  /access/fileCardImage/{fileId}:
    get:
      operationId: Access_fileCardImage
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                format: binary
                type: string
      tags:
      - Access
  /access/{id}/allowAccessRequest:
    put:
      operationId: Access_allowAccessRequest
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      tags:
      - Access
components:
  schemas:
    Template:
      type: object
      properties:
        id:
          format: int64
          type: integer
        name:
          maxLength: 255
          type: string
        usageCount:
          format: int64
          type: integer
        createTime:
          format: date
          type: string
          example: 2022-03-10
        termsOfUseAndAccess:
          $ref: '#/components/schemas/TermsOfUseAndAccess'
        datasetFields:
          type: array
          items:
            $ref: '#/components/schemas/DatasetField'
        instructions:
          type: string
        instructionsMap:
          type: object
          additionalProperties:
            type: string
        metadataBlocksForView:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DatasetField'
        metadataBlocksForEdit:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/DatasetField'
        isDefaultForDataverse:
          type: boolean
        dataversesHasAsDefault:
          type: array
          items:
            $ref: '#/components/schemas/Dataverse'
        dataverse:
          $ref: '#/components/schemas/Dataverse'
        createDate:
          type: string
        metadataValueBlocks:
          type: array
          items:
            $ref: '#/components/schemas/MetadataBlock'
        flatDatasetFields:
          type: array
          items:
            $ref: '#/components/schemas/DatasetField'
    ExplicitGroupServiceBean:
      type: object
      properties:
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        em:
          type: object
        provider:
          $ref: '#/components/schemas/ExplicitGroupProvider'
    PidProvider:
      type: object
      properties:
        providerInformation:
          type: array
          items:
            type: string
        urlPrefix:
          type: string
        separator:
          type: string
        protocol:
          type: string
        providerType:
          type: string
        id:
          type: string
        label:
          type: string
        authority:
          type: string
        shoulder:
          type: string
        identifierGenerationStyle:
          type: string
        pidProviderServiceBean:
          $ref: '#/components/schemas/PidProviderFactoryBean'
        datafilePidFormat:
          type: string
        managedSet:
          uniqueItems: true
          type: array
          items:
            type: string
        excludedSet:
          uniqueItems: true
          type: array
          items:
            type: string
        providerSpecification:
          type: object
    SearchServiceFactory:
      type: object
      properties:
        beanManager:
          type: object
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        solrSearchService:
          $ref: '#/components/schemas/SearchService'
        serviceMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SearchService'
        defaultSearchService:
          $ref: '#/components/schemas/SearchService'
        availableServices:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SearchService'
    DatasetLinkingDataverse:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataset:
          $ref: '#/components/schemas/Dataset'
        linkingDataverse:
          $ref: '#/components/schemas/Dataverse'
        linkCreateTime:
          format: date
          type: string
          example: 2022-03-10
    DatasetDistributor:
      type: object
      properties:
        displayOrder:
          format: int32
          type: integer
        name:
          $ref: '#/components/schemas/DatasetField'
        version:
          format: int64
          type: integer
        url:
          $ref: '#/components/schemas/DatasetField'
        logo:
          $ref: '#/components/schemas/DatasetField'
        affiliation:
          $ref: '#/components/schemas/DatasetField'
        abbreviation:
          $ref: '#/components/schemas/DatasetField'
        empty:
          type: boolean
    DatasetFieldDefaultValue:
      type: object
      properties:
        id:
          format: int64
          type: integer
        datasetField:
          $ref: '#/components/schemas/DatasetFieldType'
        defaultValueSet:
          $ref: '#/components/schemas/DefaultValueSet'
        childDatasetFieldDefaultValues:
          type: array
          items:
            $ref: '#/components/schemas/DatasetFieldDefaultValue'
        parentDatasetFieldDefaultValue:
          $ref: '#/components/schemas/DatasetFieldDefaultValue'
        strValue:
          type: string
        displayOrder:
          format: int32
          type: integer
        parentDatasetFieldValue:
          $ref: '#/components/schemas/DatasetFieldDefaultValue'
        empty:
          type: boolean
    RoleAssigneeServiceBean:
      type: object
      properties:
        em:
          type: object
        authSvc:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        groupSvc:
          $ref: '#/components/schemas/GroupServiceBean'
        explicitGroupSvc:
          $ref: '#/components/schemas/ExplicitGroupServiceBean'
        dataverseRoleService:
          $ref: '#/components/schemas/DataverseRoleServiceBean'
        predefinedRoleAssignees:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RoleAssignee'
    SavedSearchFilterQuery:
      type: object
      properties:
        id:
          format: int64
          type: integer
        filterQuery:
          type: string
        savedSearch:
          $ref: '#/components/schemas/SavedSearch'
    EjbDataverseEngine:
      type: object
      properties:
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        rolesService:
          $ref: '#/components/schemas/DataverseRoleServiceBean'
        usersService:
          $ref: '#/components/schemas/BuiltinUserServiceBean'
        indexService:
          $ref: '#/components/schemas/IndexServiceBean'
        indexBatchService:
          $ref: '#/components/schemas/IndexBatchServiceBean'
        solrIndexService:
          $ref: '#/components/schemas/SolrIndexServiceBean'
        searchServiceFactory:
          $ref: '#/components/schemas/SearchServiceFactory'
        ingestService:
          $ref: '#/components/schemas/IngestServiceBean'
        permissionService:
          $ref: '#/components/schemas/PermissionServiceBean'
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        dataverseFacetService:
          $ref: '#/components/schemas/DataverseFacetServiceBean'
        featuredDataverseService:
          $ref: '#/components/schemas/FeaturedDataverseServiceBean'
        dataFileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        templateService:
          $ref: '#/components/schemas/TemplateServiceBean'
        savedSearchService:
          $ref: '#/components/schemas/SavedSearchServiceBean'
        fieldTypeInputLevels:
          $ref: '#/components/schemas/DataverseFieldTypeInputLevelServiceBean'
        pidProviderFactory:
          $ref: '#/components/schemas/PidProviderFactoryBean'
        settings:
          $ref: '#/components/schemas/SettingsServiceBean'
        guestbookService:
          $ref: '#/components/schemas/GuestbookServiceBean'
        responses:
          $ref: '#/components/schemas/GuestbookResponseServiceBean'
        metadataBlockService:
          $ref: '#/components/schemas/MetadataBlockServiceBean'
        datasetTypeService:
          $ref: '#/components/schemas/DatasetTypeServiceBean'
        dvLinking:
          $ref: '#/components/schemas/DataverseLinkingServiceBean'
        dsLinking:
          $ref: '#/components/schemas/DatasetLinkingServiceBean'
        dsField:
          $ref: '#/components/schemas/DatasetFieldServiceBean'
        explicitGroups:
          $ref: '#/components/schemas/ExplicitGroupServiceBean'
        groups:
          $ref: '#/components/schemas/GroupServiceBean'
        roleAssignees:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        userNotificationService:
          $ref: '#/components/schemas/UserNotificationServiceBean'
        authentication:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        privateUrlService:
          $ref: '#/components/schemas/PrivateUrlServiceBean'
        datasetVersionService:
          $ref: '#/components/schemas/DatasetVersionServiceBean'
        dataCaptureModule:
          $ref: '#/components/schemas/DataCaptureModuleServiceBean'
        em:
          type: object
        logSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
        workflowService:
          $ref: '#/components/schemas/WorkflowServiceBean'
        fileDownloadService:
          $ref: '#/components/schemas/FileDownloadServiceBean'
        confirmEmailService:
          $ref: '#/components/schemas/ConfirmEmailServiceBean'
        storageUseService:
          $ref: '#/components/schemas/StorageUseServiceBean'
        dataverseFeaturedItemServiceBean:
          $ref: '#/components/schemas/DataverseFeaturedItemServiceBean'
        datasetFieldsValidator:
          $ref: '#/components/schemas/DatasetFieldsValidator'
        innerEngine:
          $ref: '#/components/schemas/EjbDataverseEngineInner'
        cacheFactory:
          $ref: '#/components/schemas/CacheFactoryBean'
        ejbCtxt:
          type: object
        ctxt:
          $ref: '#/components/schemas/CommandContext'
        context:
          $ref: '#/components/schemas/CommandContext'
    MakeDataCountLoggingServiceBean:
      type: object
      properties:
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        logFileName:
          type: string
    DataVariable:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataTable:
          $ref: '#/components/schemas/DataTable'
        name:
          type: string
        label:
          type: string
        weighted:
          type: boolean
        fileStartPosition:
          format: int64
          type: integer
        fileEndPosition:
          format: int64
          type: integer
        interval:
          $ref: '#/components/schemas/VariableInterval'
        type:
          $ref: '#/components/schemas/VariableType'
        format:
          type: string
        formatCategory:
          type: string
        recordSegmentNumber:
          format: int64
          type: integer
        invalidRanges:
          type: array
          items:
            $ref: '#/components/schemas/VariableRange'
        invalidRangeItems:
          type: array
          items:
            $ref: '#/components/schemas/VariableRangeItem'
        summaryStatistics:
          type: array
          items:
            $ref: '#/components/schemas/SummaryStatistic'
        unf:
          type: string
        categories:
          type: array
          items:
            $ref: '#/components/schemas/VariableCategory'
        orderedFactor:
          type: boolean
        factor:
          type: boolean
        fileOrder:
          format: int32
          type: integer
        numberOfDecimalPoints:
          format: int64
          type: integer
        variableMetadatas:
          type: array
          items:
            $ref: '#/components/schemas/VariableMetadata'
        intervalLabel:
          type: string
        intervalDiscrete:
          type: boolean
        intervalContinuous:
          type: boolean
        intervalNominal:
          type: boolean
        intervalDichotomous:
          type: boolean
        typeNumeric:
          type: boolean
        typeCharacter:
          type: boolean
        categorical:
          type: boolean
        orderedCategorical:
          type: boolean
    SavedSearchServiceBean:
      type: object
      properties:
        searchService:
          $ref: '#/components/schemas/SearchServiceFactory'
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        dsLinkingService:
          $ref: '#/components/schemas/DatasetLinkingServiceBean'
        dvLinkingService:
          $ref: '#/components/schemas/DataverseLinkingServiceBean'
        commandEngine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        resultString:
          type: string
        em:
          type: object
    DataverseLinkingDataverse:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataverse:
          $ref: '#/components/schemas/Dataverse'
        linkingDataverse:
          $ref: '#/components/schemas/Dataverse'
        linkCreateTime:
          format: date
          type: string
          example: 2022-03-10
    Cart:
      type: object
      properties:
        contents:
          type: array
          items: {}
    MetadataBlockServiceBean:
      type: object
      properties:
        em:
          type: object
    DataverseSession:
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
        permissionsService:
          $ref: '#/components/schemas/PermissionServiceBean'
        usersSvc:
          $ref: '#/components/schemas/BuiltinUserServiceBean'
        logSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
        settingsWrapper:
          $ref: '#/components/schemas/SettingsWrapper'
        headerFragment:
          $ref: '#/components/schemas/DataverseHeaderFragment'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        bannerMessageService:
          $ref: '#/components/schemas/BannerMessageServiceBean'
        authenticationService:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        statusDismissed:
          type: boolean
        dismissedMessages:
          type: array
          items:
            $ref: '#/components/schemas/BannerMessage'
        debug:
          type: boolean
        localeCode:
          type: string
        localeTitle:
          type: string
    DataverseRequest:
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
        sourceAddress:
          $ref: '#/components/schemas/IpAddress'
        invocationId:
          type: string
        httpServletRequest:
          type: object
        authenticatedUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        wFInvocationId:
          type: string
    ConfirmEmailServiceBean:
      type: object
      properties:
        authenticationService:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        mailService:
          $ref: '#/components/schemas/MailServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        em:
          type: object
    BannerMessageText:
      type: object
      properties:
        id:
          format: int64
          type: integer
        message:
          type: string
        lang:
          type: string
        bannerMessage:
          $ref: '#/components/schemas/BannerMessage'
    ExplicitGroupProvider:
      type: object
      properties:
        explicitGroupSvc:
          $ref: '#/components/schemas/ExplicitGroupServiceBean'
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        groupProviderAlias:
          type: string
        groupProviderInfo:
          type: string
    DatasetLock:
      type: object
      properties:
        id:
          format: int64
          type: integer
        startTime:
          format: date
          type: string
          example: 2022-03-10
        dataset:
          $ref: '#/components/schemas/Dataset'
        user:
          $ref: '#/components/schemas/AuthenticatedUser'
        reason:
          $ref: '#/components/schemas/Reason'
        info:
          type: string
    FieldType:
      enum:
      - TEXT
      - TEXTBOX
      - STRING
      - DATE
      - EMAIL
      - URL
      - FLOAT
      - INT
      - NONE
      type: string
    ShibGroupServiceBean:
      type: object
      properties:
        em:
          type: object
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        groupService:
          $ref: '#/components/schemas/GroupServiceBean'
        actionLogSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
    Alignment:
      enum:
      - LEFT
      - CENTER
      - RIGHT
      type: string
    VariableRangeType:
      enum:
      - MIN
      - MAX
      - MIN_EXCLUSIVE
      - MAX_EXCLUSIVE
      - POINT
      type: string
    JsonLDTerm:
      type: object
      properties:
        namespace:
          $ref: '#/components/schemas/JsonLDNamespace'
        term:
          type: string
        url:
          type: string
        label:
          type: string
    ControlledVocabularyValue:
      type: object
      properties:
        id:
          format: int64
          type: integer
        strValue:
          type: string
        identifier:
          type: string
        displayOrder:
          format: int32
          type: integer
        datasetFieldType:
          $ref: '#/components/schemas/DatasetFieldType'
        controlledVocabAlternates:
          type: array
          items:
            $ref: '#/components/schemas/ControlledVocabAlternate'
        localeStrValue:
          type: string
    FileVersionDifference:
      type: object
      properties:
        newFileMetadata:
          $ref: '#/components/schemas/FileMetadata'
        originalFileMetadata:
          $ref: '#/components/schemas/FileMetadata'
        details:
          type: boolean
        same:
          type: boolean
        differenceSummaryGroups:
          type: array
          items:
            $ref: '#/components/schemas/FileDifferenceSummaryGroup'
        differenceDetailItems:
          type: array
          items:
            $ref: '#/components/schemas/FileDifferenceDetailItem'
    ImageFormat:
      enum:
      - SQUARE
      - RECTANGLE
      type: string
    GroupServiceBean:
      type: object
      properties:
        ipGroupsService:
          $ref: '#/components/schemas/IpGroupsServiceBean'
        shibGroupService:
          $ref: '#/components/schemas/ShibGroupServiceBean'
        explicitGroupService:
          $ref: '#/components/schemas/ExplicitGroupServiceBean'
        mailDomainGroupService:
          $ref: '#/components/schemas/MailDomainGroupServiceBean'
        groupProviders:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GroupProvider'
        ipGroupProvider:
          $ref: '#/components/schemas/IpGroupProvider'
        shibGroupProvider:
          $ref: '#/components/schemas/ShibGroupProvider'
        explicitGroupProvider:
          $ref: '#/components/schemas/ExplicitGroupProvider'
        mailDomainGroupProvider:
          $ref: '#/components/schemas/MailDomainGroupProvider'
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
    DvObject:
      type: object
      properties:
        mergeable:
          type: boolean
        id:
          format: int64
          type: integer
        owner:
          $ref: '#/components/schemas/DvObject'
        publicationDate:
          type: object
        releaseUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        createDate:
          type: object
        modificationTime:
          type: object
        indexTime:
          type: object
        permissionModificationTime:
          type: object
        permissionIndexTime:
          type: object
        storageIdentifier:
          type: string
        dtype:
          type: string
        dataverseFeaturedItems:
          type: array
          items:
            $ref: '#/components/schemas/DataverseFeaturedItem'
        protocol:
          type: string
        authority:
          type: string
        separator:
          type: string
        globalIdCreateTime:
          format: date
          type: string
          example: 2022-03-10
        identifier:
          type: string
        identifierRegistered:
          type: boolean
        alternativePersistentIndentifiers:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AlternativePersistentIdentifier'
        previewImageAvailable:
          type: boolean
        storageQuota:
          $ref: '#/components/schemas/StorageQuota'
        previewImageFail:
          type: boolean
        creator:
          $ref: '#/components/schemas/AuthenticatedUser'
        roleAssignments:
          type: array
          items:
            $ref: '#/components/schemas/RoleAssignment'
        effectivelyPermissionRoot:
          type: boolean
        released:
          type: boolean
        displayName:
          type: string
        currentName:
          type: string
        instanceofDataverse:
          type: boolean
        instanceofDataset:
          type: boolean
        instanceofDataFile:
          type: boolean
        dataverseContext:
          $ref: '#/components/schemas/Dat

# --- truncated at 32 KB (169 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ku-leuven/refs/heads/main/openapi/ku-leuven-access-api-openapi.yml