Tec de Monterrey Dataverse Native REST API

Public Native REST API of the Tecnológico de Monterrey research open-data repository (datahub.tec.mx), running Dataverse 5.9. Supports dataset and collection search and metadata retrieval. Endpoints such as /api/info/version and /api/search respond publicly (HTTP 200); some write/ingest operations require an API token.

OpenAPI Specification

tecnologico-de-monterrey-datahub-rest.yaml Raw ↑
openapi: 3.0.0
info:
  title: Tec de Monterrey Dataverse Native REST API
  version: 1.0.0
  description: OpenAPI 3.0 description served live by the Tecnológico de Monterrey research open-data repository (datahub.tec.mx),
    running Dataverse 5.9. Retrieved from https://datahub.tec.mx/openapi. Internal deployment server URLs in the source document
    were replaced with the public base URL; paths and schemas are unmodified.
servers:
- url: https://datahub.tec.mx
  description: Tecnológico de Monterrey Dataverse (datahub.tec.mx) public Native REST API
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.
  /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.
  /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.
  /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.
    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.
    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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /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.
  /api/v1/admin/assignee/{idtf}:
    get:
      operationId: findRoleAssignee
      parameters:
      - name: idtf
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  '/api/v1/admin/assignments/assignees/{raIdtf: .*}':
    get:
      operationId: getAssignmentsFor
      parameters:
      - name: raIdtf
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers:
    get:
      operationId: listAuthenticatedUsers
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    post:
      operationId: createAuthenicatedUser
      requestBody:
        content:
          '*/*':
            schema:
              type: object
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/convert/builtin2oauth:
    put:
      operationId: builtin2oauth
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/convert/builtin2shib:
    put:
      operationId: builtin2shib
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/id/{id}:
    delete:
      operationId: deleteAuthenticatedUserById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/id/{id}/convertRemoteToBuiltIn:
    put:
      operationId: convertOAuthUserToBuiltin
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/id/{id}/convertShibToBuiltIn:
    put:
      operationId: convertShibUserToBuiltin
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/id/{id}/deactivate:
    post:
      operationId: deactivateAuthenticatedUserById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/{identifier}:
    get:
      operationId: getAuthenticatedUserByIdentifier
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    delete:
      operationId: deleteAuthenticatedUser
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticatedUsers/{identifier}/deactivate:
    post:
      operationId: deactivateAuthenticatedUser
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticationProviderFactories:
    get:
      operationId: listAuthProviderFactories
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticationProviders:
    get:
      operationId: listAuthProviders
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    post:
      operationId: addProvider
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/AuthenticationProviderRow'
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticationProviders/{id}:
    get:
      operationId: showProvider
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    delete:
      operationId: deleteAuthenticationProvider
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticationProviders/{id}/:enabled:
    post:
      operationId: enableAuthenticationProvider_deprecated
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/authenticationProviders/{id}/enabled:
    get:
      operationId: checkAuthenticationProviderEnabled
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    put:
      operationId: enableAuthenticationProvider
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            application/json:
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/bannerMessage:
    get:
      operationId: getBannerMessages
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    post:
      operationId: addBannerMessage
      requestBody:
        content:
          '*/*':
            schema:
              type: object
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/bannerMessage/{id}:
    delete:
      operationId: deleteBannerMessage
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/bannerMessage/{id}/deactivate:
    put:
      operationId: deactivateBannerMessage
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/batch/jobs:
    get:
      operationId: listBatchJobs
      responses:
        default:
          content:
            application/json:
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/batch/jobs/name/{jobName}:
    get:
      operationId: listBatchJobsByName
      parameters:
      - name: jobName
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/batch/jobs/{jobId}:
    get:
      operationId: listBatchJobById
      parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/clearMetricsCache:
    delete:
      operationId: clearMetricsCache
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/clearMetricsCache/{name}:
    delete:
      operationId: clearMetricsCacheByName
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/computeDataFileHashValue/{fileId}/algorithm/{alg}:
    post:
      operationId: computeDataFileHashValue
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      - name: alg
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/confirmEmail/{userId}:
    get:
      operationId: getConfirmEmailToken
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    post:
      operationId: startConfirmEmailProcess
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/convertUserFromBcryptToSha1:
    post:
      operationId: convertUserFromBcryptToSha1
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datafiles/integrity/fixmissingoriginalsizes:
    get:
      operationId: fixMissingOriginalSizes
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datafiles/integrity/fixmissingoriginaltypes:
    get:
      operationId: fixMissingOriginalTypes
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield:
    get:
      operationId: getAll
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield/controlledVocabulary/subject:
    get:
      operationId: showControlledVocabularyForSubject
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield/load:
    post:
      operationId: loadDatasetFields
      requestBody:
        content:
          text/tab-separated-values:
            schema:
              type: object
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield/loadNAControlledVocabularyValue:
    get:
      operationId: loadNAControlledVocabularyValue
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield/loadpropertyfiles:
    post:
      operationId: loadLanguagePropertyFile
      requestBody:
        content:
          application/zip:
            schema:
              type: object
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasetfield/{name}:
    get:
      operationId: getByName
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasets/integrity/{datasetVersionId}/fixmissingunf:
    post:
      operationId: fixUnf
      parameters:
      - name: datasetVersionId
        in: path
        required: true
        schema:
          type: string
      - name: forceRecalculate
        in: query
        schema:
          type: boolean
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/datasets/thumbnailMetadata/{id}:
    get:
      operationId: getDatasetThumbnailMetadata
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/dataverse/curationLabelSets:
    get:
      operationId: listCurationLabelSets
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/dataverse/storageDrivers:
    get:
      operationId: listStorageDrivers
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/dataverse/{alias}/addRoleAssignmentsToChildren:
    get:
      operationId: addRoleAssignementsToChildren
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/dataverse/{alias}/curationLabelSet:
    get:
      operationId: getCurationLabelSet
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    put:
      operationId: setCurationLabelSet
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    delete:
      operationId: resetCurationLabelSet
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/dataverse/{alias}/storageDriver:
    get:
      operationId: getStorageDriver
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    put:
      operationId: setStorageDriver
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    delete:
      operationId: resetStorageDriver
      parameters:
      - name: alias
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/externalTools:
    get:
      operationId: getExternalTools
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    post:
      operationId: addExternalTool
      requestBody:
        content:
          '*/*':
            schema:
              type: string
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/externalTools/{id}:
    get:
      operationId: getExternalTool
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
    delete:
      operationId: deleteExternalTool
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: number
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/feedback:
    post:
      operationId: submitFeedback
      requestBody:
        content:
          '*/*':
            schema:
              type: object
      responses:
        default:
          content:
            '*/*':
              schema:
                type: object
          description: Default Response.
  /api/v1/admin/groups/domain:
    get:
      operationId: listMailDomainGroups
      responses:
        default:
          content:
         

# --- truncated at 32 KB (241 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tecnologico-de-monterrey/refs/heads/main/openapi/tecnologico-de-monterrey-datahub-rest.yaml