University of British Columbia Access API

The Access API from University of British Columbia — 20 operation(s) for access.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

ubc-access-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: UBC Abacus Dataverse Access API
  description: OpenAPI 3.0 description of the Dataverse REST API exposed by UBC Library's Abacus research-data repository (Dataverse 5.9). Spec retrieved live from https://abacus.library.ubc.ca/openapi. Native Dataverse Search and Data Access APIs are available for read; write operations require an API token.
  version: '5.9'
servers:
- url: https://abacus.library.ubc.ca
  description: UBC Abacus Dataverse production server.
tags:
- name: Access
paths:
  /api/v1/access/datafile/bundle/{fileId}:
    get:
      operationId: datafileBundle
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          type: number
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            application/zip:
              schema:
                $ref: '#/components/schemas/BundleDownloadInstance'
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId:.+}:
    get:
      operationId: datafile
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/DownloadInstance'
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId}/auxiliary:
    get:
      operationId: listDatafileMetadataAux
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId}/auxiliary/{formatTag}/{formatVersion}:
    get:
      operationId: 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
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DownloadInstance'
          description: Default Response.
      tags:
      - Access
    post:
      operationId: saveAuxiliaryFileWithVersion
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: number
      - name: formatTag
        in: path
        required: true
        schema:
          type: string
      - name: formatVersion
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
    delete:
      operationId: deleteAuxiliaryFileWithVersion
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: number
      - name: formatTag
        in: path
        required: true
        schema:
          type: string
      - name: formatVersion
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId}/auxiliary/{origin}:
    get:
      operationId: listDatafileMetadataAuxByOrigin
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: origin
        in: path
        required: true
        schema:
          type: string
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId}/metadata:
    get:
      operationId: tabularDatafileMetadata
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          type: number
      - name: exclude
        in: query
        schema:
          type: string
      - name: include
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            text/xml:
              schema:
                type: string
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{fileId}/metadata/ddi:
    get:
      operationId: tabularDatafileMetadataDDI
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: fileMetadataId
        in: query
        schema:
          type: number
      - name: exclude
        in: query
        schema:
          type: string
      - name: include
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            text/xml:
              schema:
                type: string
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{id}/grantAccess/{identifier}:
    put:
      operationId: grantFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{id}/listRequests:
    get:
      operationId: listFileAccessRequests
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{id}/rejectAccess/{identifier}:
    put:
      operationId: rejectFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{id}/requestAccess:
    put:
      operationId: requestFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafile/{id}/revokeAccess/{identifier}:
    delete:
      operationId: revokeFileAccess
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafiles:
    post:
      operationId: postDownloadDatafiles
      parameters:
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      requestBody:
        content:
          text/plain:
            schema:
              type: string
      responses:
        default:
          content:
            application/zip:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/datafiles/{fileIds}:
    get:
      operationId: datafiles
      parameters:
      - name: fileIds
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            application/zip:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/dataset/{id}:
    get:
      operationId: downloadAllFromLatest
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: gbrecs
        in: query
        schema:
          type: boolean
      - name: key
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            application/zip:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/dataset/{id}/versions/{versionId}:
    get:
      operationId: 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:
        default:
          content:
            application/zip:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/dsCardImage/{versionId}:
    get:
      operationId: dsCardImage
      parameters:
      - name: versionId
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            image/png:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/dvCardImage/{dataverseId}:
    get:
      operationId: dvCardImage
      parameters:
      - name: dataverseId
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            image/png:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/fileCardImage/{fileId}:
    get:
      operationId: fileCardImage
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            image/png:
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
  /api/v1/access/{id}/allowAccessRequest:
    put:
      operationId: allowAccessRequest
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
      tags:
      - Access
components:
  schemas:
    IpAddress:
      type: object
    Reason:
      enum:
      - Ingest
      - Workflow
      - InReview
      - DcmUpload
      - finalizePublication
      - EditInProgress
      - FileValidationFailed
    AlternativePersistentIdentifier:
      type: object
      properties:
        id:
          type: number
        dvObject:
          $ref: '#/components/schemas/DvObject'
        protocol:
          type: string
        authority:
          type: string
        globalIdCreateTime: {}
        identifier:
          type: string
        identifierRegistered:
          type: boolean
        storageLocationDesignator:
          type: boolean
    IpGroupsServiceBean:
      type: object
      properties:
        em: {}
        actionLogSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
        roleAssigneeSvc:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
    SettingsServiceBean:
      type: object
      properties:
        em: {}
        actionLogSvc:
          $ref: '#/components/schemas/ActionLogServiceBean'
    DvObject:
      type: object
      properties:
        id:
          type: number
        owner: {}
        publicationDate: {}
        releaseUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        createDate: {}
        modificationTime: {}
        indexTime: {}
        permissionModificationTime: {}
        permissionIndexTime: {}
        storageIdentifier:
          type: string
        dtype:
          type: string
        protocol:
          type: string
        authority:
          type: string
        globalIdCreateTime: {}
        identifier:
          type: string
        identifierRegistered:
          type: boolean
        alternativePersistentIndentifiers:
          items:
            $ref: '#/components/schemas/AlternativePersistentIdentifier'
        previewImageAvailable:
          type: boolean
        creator:
          $ref: '#/components/schemas/AuthenticatedUser'
        roleAssignments:
          items:
            $ref: '#/components/schemas/RoleAssignment'
        mergeable:
          type: boolean
      allOf:
      - $ref: '#/components/schemas/DataverseEntity'
      - $ref: '#/components/schemas/DataverseEntity'
      - $ref: '#/components/schemas/DataverseEntity'
      - $ref: '#/components/schemas/DataverseEntity'
    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: {}
        groupService:
          $ref: '#/components/schemas/GroupServiceBean'
        session:
          $ref: '#/components/schemas/DataverseSession'
        dvRequestService:
          $ref: '#/components/schemas/DataverseRequestServiceBean'
    DOIDataCiteServiceBean:
      type: object
      properties:
        doiDataCiteRegisterService:
          $ref: '#/components/schemas/DOIDataCiteRegisterService'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        commandEngine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        datafileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
      allOf:
      - $ref: '#/components/schemas/AbstractGlobalIdServiceBean'
    IndexServiceBean:
      type: object
      properties:
        em: {}
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        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'
        dataFileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        variableService:
          $ref: '#/components/schemas/VariableServiceBean'
        indexBatchService:
          $ref: '#/components/schemas/IndexBatchServiceBean'
        datasetFieldService:
          $ref: '#/components/schemas/DatasetFieldServiceBean'
        rootDataverseName:
          type: string
        rootDataverseCached:
          $ref: '#/components/schemas/Dataverse'
        solrServer:
          $ref: '#/components/schemas/SolrClient'
        variableMetadataUtil:
          $ref: '#/components/schemas/VariableMetadataUtil'
    PasswordValidatorServiceBean:
      type: object
      properties:
        goodStrength:
          type: integer
        maxLength:
          type: integer
        minLength:
          type: integer
        numberOfCharacteristics:
          type: integer
        numberOfConsecutiveDigitsAllowed:
          type: integer
        characterRules:
          items:
            $ref: '#/components/schemas/CharacterRule'
        dictionaries:
          type: string
        messageResolver:
          $ref: '#/components/schemas/PropertiesMessageResolver'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
    DataverseRoleServiceBean:
      type: object
      properties:
        em: {}
        roleAssigneeService:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        indexService:
          $ref: '#/components/schemas/IndexServiceBean'
        solrIndexService:
          $ref: '#/components/schemas/SolrIndexServiceBean'
        indexAsync:
          $ref: '#/components/schemas/IndexAsync'
    PersistedGlobalGroup:
      type: object
      properties:
        id:
          type: number
        persistedGroupAlias:
          type: string
        displayName:
          type: string
        description:
          type: string
    Type:
      enum:
      - ASSIGNROLE
      - REVOKEROLE
      - CREATEDV
      - CREATEDS
      - CREATEACC
      - SUBMITTEDDS
      - RETURNEDDS
      - PUBLISHEDDS
      - REQUESTFILEACCESS
      - GRANTFILEACCESS
      - REJECTFILEACCESS
      - FILESYSTEMIMPORT
      - CHECKSUMIMPORT
      - CHECKSUMFAIL
      - CONFIRMEMAIL
      - APIGENERATED
      - INGESTCOMPLETED
      - INGESTCOMPLETEDWITHERRORS
      - PUBLISHFAILED_PIDREG
      - WORKFLOW_SUCCESS
      - WORKFLOW_FAILURE
      - STATUSUPDATED
      - DATASETCREATED
    Embargo:
      type: object
      properties:
        id:
          type: number
        dateAvailable:
          type: object
        reason:
          type: string
        dataFiles:
          items:
            $ref: '#/components/schemas/DataFile'
    AuxiliaryFile:
      type: object
      properties:
        id:
          type: number
        dataFile:
          $ref: '#/components/schemas/DataFile'
        formatTag:
          type: string
        formatVersion:
          type: string
        origin:
          type: string
        isPublic:
          type: boolean
        contentType:
          type: string
        fileSize:
          type: number
        checksum:
          type: string
        type:
          type: string
    DatasetVersion:
      type: object
      properties:
        id:
          type: number
        UNF:
          type: string
        version:
          type: number
        versionNumber:
          type: number
        minorVersionNumber:
          type: number
        versionNote:
          type: string
        versionState:
          $ref: '#/components/schemas/VersionState'
        dataset:
          $ref: '#/components/schemas/Dataset'
        fileMetadatas:
          items:
            $ref: '#/components/schemas/FileMetadata'
        termsOfUseAndAccess:
          $ref: '#/components/schemas/TermsOfUseAndAccess'
        datasetFields:
          items:
            $ref: '#/components/schemas/DatasetField'
        createTime: {}
        lastUpdateTime: {}
        releaseTime: {}
        archiveTime: {}
        archiveNote:
          type: string
        archivalCopyLocation:
          type: string
        deaccessionLink:
          type: string
        contributorNames:
          type: string
        jsonLd:
          type: string
        datasetVersionUsers:
          items:
            $ref: '#/components/schemas/DatasetVersionUser'
        workflowComments:
          items:
            $ref: '#/components/schemas/WorkflowComment'
        externalStatusLabel:
          type: string
        dvd:
          $ref: '#/components/schemas/DatasetVersionDifference'
    AbstractGlobalIdServiceBean:
      type: object
      properties:
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        commandEngine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        datasetService:
          $ref: '#/components/schemas/DatasetServiceBean'
        datafileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
    ExternalToolType:
      type: object
      properties:
        id:
          type: number
        type:
          $ref: '#/components/schemas/Type'
        externalTool:
          $ref: '#/components/schemas/ExternalTool'
    SettingsWrapper:
      type: object
      properties:
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        fieldService:
          $ref: '#/components/schemas/DatasetFieldServiceBean'
        settingsMap: {}
        guidesBaseUrl:
          type: string
        embargoDateChecked:
          type: boolean
        maxEmbargoDate:
          type: object
        siteUrl:
          type: string
        rootDataverse:
          $ref: '#/components/schemas/Dataverse'
        guidesVersion:
          type: string
        appVersion:
          type: string
        appVersionWithBuildNumber:
          type: string
        shibPassiveLoginEnabled:
          type: boolean
        footerCopyrightAndYear:
          type: string
        cachedCvocMap: {}
        zipDownloadLimit:
          type: number
        publicInstall:
          type: boolean
        uploadMethodsCount:
          type: integer
        rsyncUpload:
          type: boolean
        rsyncDownload:
          type: boolean
        httpUpload:
          type: boolean
        rsyncOnly:
          type: boolean
        metricsUrl:
          type: string
        dataFilePIDSequentialDependent:
          type: boolean
        configuredLocales: {}
        anonymizedFieldTypes:
          items:
            type: string
        languageMap: {}
        allowedExternalStatuses:
          items:
            type: string
    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:
          items:
            $ref: '#/components/schemas/BannerMessage'
        debug:
          type: boolean
        localeCode:
          type: string
    IngestRequest:
      type: object
      properties:
        id:
          type: number
        dataFile:
          $ref: '#/components/schemas/DataFile'
        textEncoding:
          type: string
        controlCard:
          type: string
        labelsFile:
          type: string
        forceTypeCheck:
          type: boolean
    DatasetServiceBean:
      type: object
      properties:
        indexService:
          $ref: '#/components/schemas/IndexServiceBean'
        doiEZIdServiceBean:
          $ref: '#/components/schemas/DOIEZIdServiceBean'
        settingsService:
          $ref: '#/components/schemas/SettingsServiceBean'
        versionService:
          $ref: '#/components/schemas/DatasetVersionServiceBean'
        dvObjectService:
          $ref: '#/components/schemas/DvObjectServiceBean'
        authentication:
          $ref: '#/components/schemas/AuthenticationServiceBean'
        fileService:
          $ref: '#/components/schemas/DataFileServiceBean'
        permissionService:
          $ref: '#/components/schemas/PermissionServiceBean'
        recordService:
          $ref: '#/components/schemas/OAIRecordServiceBean'
        commandEngine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        em: {}
    DatasetVersionUser:
      type: object
      properties:
        id:
          type: number
        authenticatedUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        datasetVersion:
          $ref: '#/components/schemas/DatasetVersion'
        lastUpdateDate: {}
    DataCaptureModuleServiceBean:
      type: object
    FileDifferenceDetailItem:
      type: object
      properties:
        displayName:
          type: string
        originalValue:
          type: string
        newValue:
          type: string
    MailDomainGroupProvider:
      type: object
      properties:
        emailGroupSvc:
          $ref: '#/components/schemas/MailDomainGroupServiceBean'
    FeaturedDataverseServiceBean:
      type: object
      properties:
        em: {}
        dataverseService:
          $ref: '#/components/schemas/DataverseServiceBean'
    ActionLogServiceBean:
      type: object
      properties:
        em: {}
    SummaryStatistic:
      type: object
      properties:
        id:
          type: number
        dataVariable:
          $ref: '#/components/schemas/DataVariable'
        type:
          $ref: '#/components/schemas/SummaryStatisticType'
        value:
          type: string
    DvObjectContainer:
      type: object
      properties:
        storageDriver:
          type: string
        metadataLanguage:
          type: string
        externalLabelSetName:
          type: string
        id:
          type: number
        owner: {}
        publicationDate: {}
        releaseUser:
          $ref: '#/components/schemas/AuthenticatedUser'
        createDate: {}
        modificationTime: {}
        indexTime: {}
        permissionModificationTime: {}
        permissionIndexTime: {}
        storageIdentifier:
          type: string
        dtype:
          type: string
        protocol:
          type: string
        authority:
          type: string
        globalIdCreateTime: {}
        identifier:
          type: string
        identifierRegistered:
          type: boolean
        alternativePersistentIndentifiers:
          items:
            $ref: '#/components/schemas/AlternativePersistentIdentifier'
        previewImageAvailable:
          type: boolean
        creator:
          $ref: '#/components/schemas/AuthenticatedUser'
        roleAssignments:
          items:
            $ref: '#/components/schemas/RoleAssignment'
        mergeable:
          type: boolean
      allOf:
      - $ref: '#/components/schemas/DvObject'
      - $ref: '#/components/schemas/DvObject'
    ExternalTool:
      type: object
      properties:
        id:
          type: number
        displayName:
          type: string
        toolName:
          type: string
        description:
          type: string
        externalToolTypes:
          items:
            $ref: '#/components/schemas/ExternalToolType'
        scope:
          $ref: '#/components/schemas/Scope'
        toolUrl:
          type: string
        toolParameters:
          type: string
        contentType:
          type: string
    CategoryMetadata:
      type: object
      properties:
        id:
          type: number
        category:
          $ref: '#/components/schemas/VariableCategory'
        variableMetadata:
          $ref: '#/components/schemas/VariableMetadata'
        wfreq:
          type: number
    RoleAssignment:
      type: object
      properties:
        id:
          type: number
        assigneeIdentifier:
          type: string
        role:
          $ref: '#/components/schemas/DataverseRole'
        definitionPoint:
          $ref: '#/components/schemas/DvObject'
        privateUrlToken:
          type: string
        privateUrlAnonymizedAccess:
          type: boolean
    DvObjectServiceBean:
      type: object
      properties:
        em: {}
    WorkflowServiceBean:
      type: object
      properties:
        em: {}
        datasets:
          $ref: '#/components/schemas/DatasetServiceBean'
        settings:
          $ref: '#/components/schemas/SettingsServiceBean'
        roleAssignees:
          $ref: '#/components/schemas/RoleAssigneeServiceBean'
        systemConfig:
          $ref: '#/components/schemas/SystemConfig'
        userNotificationService:
          $ref: '#/components/schemas/UserNotificationServiceBean'
        engine:
          $ref: '#/components/schemas/EjbDataverseEngine'
        dvRequestService:
          $ref: '#/components/schemas/DataverseRequestServiceBean'
        providers: {}
    VariableType:
      enum:
      - NUMERIC
      - CHARACTER
    OAuth2TokenData:
      type: object
      properties:
        id:
          type: number
        user:
          $ref: '#/components/schemas/AuthenticatedUser'
        oauthProviderId:
          type: string
        expiryDate: {}
        accessToken:
          type: string
        refreshToken:
          type: string
        tokenType:
          type: string
        rawResponse:
          type: string
    ImageFormat:
      enum:
      - SQUARE
      - RECTANGLE
    datasetReplaceFileItem:
      type: object
      properties:
        fdi:
          $ref: '#/components/schemas/datasetFileDifferenceItem'
        leftColumn:
          type: string
        file1Id:
          type: string
        file2Id:
          type: string
        file1ChecksumType:
          $ref: '#/components/schemas/ChecksumType'
        file2ChecksumType:
          $ref: '#/components/schemas/ChecksumType'
        file1ChecksumValue:
          type: string
        file2ChecksumValue:
          type: string
    FileVersionDifference:
      type: object
      properties:
        newFileMetadata:
          

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