University of Groningen Access API

The Access API from University of Groningen — 23 operation(s) for access.

OpenAPI Specification

university-of-groningen-access-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Dataverse Access API
  description: Open source research data repository software.
  version: '6.9'
servers:
- url: https://dataverse.nl
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:
    DataverseFieldTypeInputLevel:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataverse:
          $ref: '#/components/schemas/Dataverse'
        datasetFieldType:
          $ref: '#/components/schemas/DatasetFieldType'
        include:
          type: boolean
        required:
          type: boolean
        displayOnCreate:
          type: boolean
    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
    AuxiliaryFileServiceBean:
      type: object
      properties:
        em:
          type: object
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        storageUseService:
          $ref: '#/components/schemas/StorageUseServiceBean'
    SolrType:
      enum:
      - STRING
      - TEXT_EN
      - INTEGER
      - FLOAT
      - DATE
      - EMAIL
      type: string
    VarGroup:
      type: object
      properties:
        id:
          format: int64
          type: integer
        label:
          type: string
        fileMetadata:
          $ref: '#/components/schemas/FileMetadata'
        varsInGroup:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/DataVariable'
    VariableMetadata:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataVariable:
          $ref: '#/components/schemas/DataVariable'
        fileMetadata:
          $ref: '#/components/schemas/FileMetadata'
        label:
          type: string
        literalquestion:
          type: string
        postquestion:
          type: string
        interviewinstruction:
          type: string
        universe:
          type: string
        notes:
          type: string
        isweightvar:
          type: boolean
        weighted:
          type: boolean
        categoriesMetadata:
          type: array
          items:
            $ref: '#/components/schemas/CategoryMetadata'
        weightvariable:
          $ref: '#/components/schemas/DataVariable'
    VariableType:
      enum:
      - NUMERIC
      - CHARACTER
      type: string
    VariableRangeType:
      enum:
      - MIN
      - MAX
      - MIN_EXCLUSIVE
      - MAX_EXCLUSIVE
      - POINT
      type: string
    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'
    DifferenceSummaryItem:
      type: object
      properties:
        displayName:
          type: string
        changed:
          format: int32
          type: integer
        added:
          format: int32
          type: integer
        deleted:
          format: int32
          type: integer
        replaced:
          format: int32
          type: integer
        multiple:
          type: boolean
    Command:
      type: object
      properties:
        affectedDvObjects:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DvObject'
        request:
          $ref: '#/components/schemas/DataverseRequest'
        requiredPermissions:
          type: object
          additionalProperties:
            uniqueItems: true
            type: array
            items:
              $ref: '#/components/schemas/Permission'
    Cart:
      type: object
      properties:
        contents:
          type: array
          items: {}
    RoleAssignment:
      type: object
      properties:
        id:
          format: int64
          type: integer
        assigneeIdentifier:
          type: string
        role:
          $ref: '#/components/schemas/DataverseRole'
        definitionPoint:
          $ref: '#/components/schemas/DvObject'
        privateUrlToken:
          type: string
        privateUrlAnonymizedAccess:
          type: boolean
        anonymizedAccess:
          type: boolean
    FeaturedDataverseServiceBean:
      type: object
      properties:
        em:
          type: object
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
    SearchService:
      type: object
      properties:
        serviceName:
          type: string
        displayName:
          type: string
        solrSearchService:
          $ref: '#/components/schemas/SearchService'
    DataCaptureModuleServiceBean:
      type: object
    IngestServiceBean:
      type: object
      properties:
        variableService:
          $ref: '#/components/schemas/VariableServiceBean'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        fieldService:
          $ref: '#/components/schemas/DatasetFieldServiceBean'
        fileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        auxiliaryFileService:
          $ref: '#/components/schemas/AuxiliaryFileServiceBean'
        storageUseService:
          $ref: '#/components/schemas/StorageUseServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        queue:
          type: object
        factory:
          type: object
    AuthenticationProviderFactory:
      type: object
      properties:
        alias:
          type: string
        info:
          type: string
    DataverseTheme:
      type: object
      properties:
        id:
          format: int64
          type: integer
        logoFormat:
          $ref: '#/components/schemas/ImageFormat'
        logoAlignment:
          $ref: '#/components/schemas/Alignment'
        logoBackgroundColor:
          type: string
        logo:
          type: string
        logoThumbnail:
          type: string
        logoFooterAlignment:
          $ref: '#/components/schemas/Alignment'
        logoFooterBackgroundColor:
          type: string
        logoFooter:
          type: string
        tagline:
          type: string
        linkUrl:
          type: string
        linkColor:
          type: string
        textColor:
          type: string
        backgroundColor:
          type: string
        dataverse:
          $ref: '#/components/schemas/Dataverse'
    Type2:
      enum:
      - EXPLORE
      - CONFIGURE
      - PREVIEW
      - QUERY
      type: string
    CustomQuestionValue:
      type: object
      properties:
        id:
          format: int64
          type: integer
        valueString:
          type: string
        displayOrder:
          format: int32
          type: integer
        customQuestion:
          $ref: '#/components/schemas/CustomQuestion'
    UserBannerMessage:
      type: object
      properties:
        id:
          format: int64
          type: integer
        user:
          $ref: '#/components/schemas/AuthenticatedUser'
        bannerMessage:
          $ref: '#/components/schemas/BannerMessage'
        bannerDismissalTime:
          format: date
          type: string
          example: '2022-03-10'
    DataFileTag:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dataFile:
          $ref: '#/components/schemas/DataFile'
        type:
          $ref: '#/components/schemas/TagType'
        typeByLabel:
          type: string
        typeLabel:
          type: string
        geospatialTag:
          type: boolean
    OAuth2TokenData:
      type: object
      properties:
        id:
          format: int64
          type: integer
        user:
          $ref: '#/components/schemas/AuthenticatedUser'
        oauthProviderId:
          type: string
        expiryDate:
          type: object
        accessToken:
          type: string
        refreshToken:
          type: string
        tokenType:
          type: string
        rawResponse:
          type: string
    Embargo:
      type: object
      properties:
        id:
          format: int64
          type: integer
        dateAvailable:
          format: date
          type: string
          example: '2022-03-10'
        reason:
          type: string
        dataFiles:
          type: array
          items:
            $ref: '#/components/schemas/DataFile'
        formattedDateAvailable:
          type: string
    CustomQuestionResponse:
      type: object
      properties:
        id:
          format: int64
          type: integer
        guestbookResponse:
          $ref: '#/components/schemas/GuestbookResponse'
        customQuestion:
          $ref: '#/components/schemas/CustomQuestion'
        response:
          type: string
        responseSelectItems:
          type: array
          items: {}
    AuthenticatedUser:
      required:
      - userIdentifier
      - email
      - lastName
      - firstName
      type: object
      properties:
        id:
          format: int64
          type: integer
        userIdentifier:
          type: string
        email:
          type: string
        affiliation:
          type: string
        position:
          type: string
        lastName:
          pattern: \S
          type: string
        firstName:
          pattern: \S
          type: string
        emailConfirmed:
          type: object
        createdTime:
          type: object
        lastLoginTime:
          type: object
        lastApiUseTime:
          type: object
        cart:
          $ref: '#/components/schemas/Cart'
        superuser:
          type: boolean
        deactivated:
          type: boolean
        deactivatedTime:
          type: object
        mutedEmails:
          type: string
        mutedNotifications:
          type: string
        mutedEmailsSet:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/Type'
        mutedNotificationsSet:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/Type'
        rateLimitTier:
          format: int32
          minimum: 1
          type: integer
        authenticatedOrcid:
          type: string
        shibIdentityProvider:
          type: string
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/UserNotification'
        requests:
          type: array
          items:
            $ref: '#/components/schemas/UserNotification'
        datasetLocks:
          type: array
          items:
            $ref: '#/components/schemas/DatasetLock'
        oAuth2TokenDatas:
          type: array
          items:
            $ref: '#/components/schemas/OAuth2TokenData'
        fileAccessRequests:
          type: array
          items:
            $ref: '#/components/schemas/FileAccessRequest'
        roles:
          type: string
        authProviderId:
          type: string
        authProviderFactoryAlias:
          type: string
        authenticatedUserLookup:
          $ref: '#/components/schemas/AuthenticatedUserLookup'
        identifier:
          type: string
        userNotifications:
          type: array
          items:
            $ref: '#/components/schemas/UserNotification'
        userRequests:
          type: array
          items:
            $ref: '#/components/schemas/UserNotification'
        userRequestss:
          type: array
          items:
            $ref: '#/components/schemas/UserNotification'
        requestedDataFiles:
          type: array
          items:
            $ref: '#/components/schemas/DataFile'
        displayInfo:
          $ref: '#/components/schemas/AuthenticatedUserDisplayInfo'
        authenticated:
          type: boolean
        name:
          type: string
        sortByString:
          type: string
    MailDomainGroup:
      required:
      - emailDomains
      type: object
      properties:
        sortByString:
          type: string
        id:
          format: int64
          type: integer
        persistedGroupAlias:
          type: string
        displayName:
          type: string
        description:
          type: string
        alias:
          type: string
        displayInfo:
          $ref: '#/components/schemas/RoleAssigneeDisplayInfo'
        identifier:
          type: string
        emailDomains:
          minLength: 1
          type: string
        isRegEx:
          type: boolean
        provider:
          $ref: '#/components/schemas/MailDomainGroupProvider'
        emailDomainsAsList:
          type: array
          items:
            type: string
        regEx:
          type: boolean
        groupProvider:
          $ref: '#/components/schemas/MailDomainGroupProvider'
        editable:
          type: boolean
    AuthenticationServiceBean:
      type: object
      properties:
        authProvidersRegistrationService:
          $ref: '#/components/schemas/AuthenticationProvidersRegistrationServiceBean'
        builtinUserServiceBean:
          $ref: '#/components/schemas/BuiltinUserServiceBean'
        indexService:
          $ref: '#/components/schemas/IndexServiceBean'
        actionLogSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
        userNotificationService:
          $ref: '#/components/schemas/UserNotificationServiceBean'
        confirmEmailService:
          $ref: '#/components/schemas/ConfirmEmailServiceBean'
        passwordResetServiceBean:
          $ref: '#/components/schemas/PasswordResetServiceBean'
        userService:
          $ref: '#/components/schemas/UserServiceBean'
        passwordValidatorService:
          $ref: '#/components/schemas/PasswordValidatorServiceBean'
        dvObjSvc:
          $ref: '#/components/schemas/DvObjectServiceBean'
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        gbRespSvc:
          $ref: '#/components/schemas/GuestbookResponseServiceBean'
        datasetVersionService:
          $ref: '#/components/schemas/DatasetVersionServiceBean'
        explicitGroupService:
          $ref: '#/components/schemas/ExplicitGroupServiceBean'
        savedSearchService:
          $ref: '#/components/schemas/SavedSearchServiceBean'
        privateUrlService:
          $ref: '#/components/schemas/PrivateUrlServiceBean'
        em:
          type: object
        oAuth2Providers:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AbstractOAuth2AuthenticationProvider'
        authenticationProviderIds:
          uniqueItems: true
          type: array
          items:
            type: string
        authenticationProviders:
          type: array
          items:
            $ref: '#/components/schemas/AuthenticationProvider'
        orcidEnabled:
          type: boolean
        adminUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        currentTimestamp:
          type: object
        availableOidcProviders:
          type: array
          items:
            $ref: '#/components/schemas/OIDCAuthProvider'
        orcidAuthenticationProvider:
          $ref: '#/components/schemas/OrcidOAuth2AP'
    DataFileServiceBean:
      type: object
      properties:
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        permissionService:
          $ref: '#/components/schemas/PermissionServiceBean'
        userService:
          $ref: '#/components/schemas/UserServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        ingestService:
          $ref: '#/components/schemas/IngestServiceBean'
        embargoService:
          $ref: '#/components/schemas/EmbargoServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        storageUseService:
          $ref: '#/components/schemas/StorageUseServiceBean'
        em:
          type: object
    DvObjectServiceBean:
      type: object
      properties:
        em:
          type: object
        pidProviderFactoryBean:
          $ref: '#/components/schemas/PidProviderFactoryBean'
        allHarvestedDataverseIds:
          type: array
          items:
            format: int64
            type: integer
    FileDownloadServiceBean:
      type: object
      properties:
        em:
          type: object
        guestbookResponseService:
          $ref: '#/components/schemas/GuestbookResponseServiceBean'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        datasetVersionService:
          $ref: '#/components/schemas/DatasetVersionServiceBean'
        datafileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        permissionService:
          $ref: '#/components/schemas/PermissionServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        userNotificationService:
          $ref: '#/components/schemas/UserNotificationServiceBean'
        authService:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        mailService:
          $ref: '#/components/schemas/MailServiceBean'
        session:
          $ref: '#/components/schemas/DataverseSession'
        commandEngine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        dvRequestService:
          $ref: '#/components/schemas/DataverseRequestServiceBean'
        fileDownloadHelper:
          $ref: '#/components/schemas/FileDownloadHelper'
        mdcLogService:
          $ref: '#/components/schemas/MakeDataCountLoggingServiceBean'
    IpGroupsServiceBean:
      type: object
      properties:
        em:
          type: object
        actionLogSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
    IndexServiceBean:
      type: object
      properties:
        em:
          type: object
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        datasetVersionService:
          $ref: '#/components/schemas/DatasetVersionServiceBean'
        dataverseUserServiceBean:
          $ref: '#/components/schemas/BuiltinUserServiceBean'
        permissionService:
          $ref: '#/components/schemas/PermissionServiceBean'
        userServiceBean:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        searchPermissionsService:
          $ref: '#/components/schemas/SearchPermissionsServiceBean'
        solrIndexService:
          $ref: '#/components/schemas/SolrIndexServiceBean'
        dsLinkingService:
          $ref: '#/components/schemas/DatasetLinkingServiceBean'
        dvLinkingService:
          $ref: '#/components/schemas/DataverseLinkingServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        solrClientService:
          $ref: '#/components/schemas/SolrClientService'
        solrClientIndexService:
          $ref: '#/components/schemas/SolrClientIndexService'
        dataFileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        datasetFieldService:
          $ref: '#/components/schemas/DatasetFieldServiceBean'
        self:
          $ref: '#/components/schemas/IndexServiceBean'
        datasetVersionFilesServiceBean:
          $ref: '#/components/schemas/DatasetVersionFilesServiceBean'
        rootDataverseCached:
          $ref: '#/components/schemas/Dataverse'
        variableMetadataUtil:
          $ref: '#/components/schemas/VariableMetadataUtil'
        indexPermitWaitTimer:
          type: object
        indexTimer:
          type: object
    OAIRecordServiceBean:
      type: object
      properties:
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        em:
          type: object
        earliestDate:
          format: date-time
          type: string
          example: '2022-03-10T16:15:50Z'
    PermissionServiceBean:
      type: object
      properties:
        userService:
          $ref: '#/components/schemas/BuiltinUserServiceBean'
        authenticationService:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        roleService:
          $ref: '#/components/schemas/DataverseRoleServiceBean'
        roleAssigneeService:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        dvObjectServiceBean:
          $ref: '#/components/schemas/DvObjectServiceBean'
        workflowService:
          $ref: '#/components/schemas/WorkflowServiceBean'
        em:
          type: object
        groupService:
          $ref: '#/components/schemas/GroupServiceBean'
        session:
          $ref: '#/components/schemas/DataverseSession'
        dvRequestService:
          $ref: '#/components/schemas/DataverseRequestServiceBean'
        datasetVersionFilesServiceBean:
          $ref: '#/components/schemas/DatasetVersionFilesServiceBean'
    GuestbookServiceBean:
      type: object
      properties:
        em:
          type: object
    AuthenticatedUserLookup:
      type: 

# --- truncated at 32 KB (170 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-groningen/refs/heads/main/openapi/university-of-groningen-access-api-openapi.yml