University of Geneva OAI-PMH API

OAI-PMH provider information and metadata formats.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

university-of-geneva-oai-pmh-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Yareta Research Data Access OAI-PMH API
  description: 'Yareta is the University of Geneva (UNIGE) e-Research long-term research-data preservation and access platform, built on the DLCM (Data Life Cycle Management) software stack. This OpenAPI description merges the public DLCM/Yareta backend modules: the Accession/Access service (https://access.yareta.unige.ch) for discovering, ordering and downloading archives (AIP/DIP), and the Ingestion/Pre-ingest service (https://ingest.yareta.unige.ch) for depositing and submitting research data. Faithfully converted from the live OpenAPI 3.1 definitions (Yareta API v3.1.7); only real paths and schemas are retained.'
  version: 3.1.7
  contact:
    email: yareta-admin@unige.ch
servers:
- url: https://access.yareta.unige.ch
  description: Accession / Access module (discovery, orders, DIP download)
- url: https://ingest.yareta.unige.ch
  description: Pre-ingest / Ingestion module (deposits, submission)
tags:
- name: OAI-PMH
  description: OAI-PMH provider information and metadata formats.
paths:
  /oai-info/oai-sets:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_list
      parameters:
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAISet'
      security:
      - tokenAuth: []
      - auth: []
    post:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAISet'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAISet'
      security:
      - tokenAuth: []
      - auth: []
    delete:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_deleteList
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK
      security:
      - tokenAuth: []
      - auth: []
  /oai-info/oai-sets/search:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_search_advancedSearch_get
      parameters:
      - name: search
        in: query
        required: true
        schema:
          type: string
      - name: match
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAISet'
      security:
      - tokenAuth: []
      - auth: []
    post:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_search_advancedSearch_post
      parameters:
      - name: match
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAISet'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAISet'
      security:
      - tokenAuth: []
      - auth: []
  /oai-info/oai-provider/oai:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-provider_oai_process
      parameters:
      - name: verb
        in: query
        required: false
        schema:
          type: string
      - name: identifier
        in: query
        required: false
        schema:
          type: string
      - name: metadataPrefix
        in: query
        required: false
        schema:
          type: string
      - name: from
        in: query
        required: false
        schema:
          type: string
      - name: until
        in: query
        required: false
        schema:
          type: string
      - name: set
        in: query
        required: false
        schema:
          type: string
      - name: resumptionToken
        in: query
        required: false
        schema:
          type: string
      - name: smartView
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
    post:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-provider_oai_processPost
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MultiValueMapStringString'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
  /oai-info/oai-metadata-prefixes:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_list
      parameters:
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
    post:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAIMetadataPrefix'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
    delete:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_deleteList
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK
      security:
      - tokenAuth: []
      - auth: []
  /oai-info/oai-metadata-prefixes/search:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_search_advancedSearch_get
      parameters:
      - name: search
        in: query
        required: true
        schema:
          type: string
      - name: match
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
    post:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_search_advancedSearch_post
      parameters:
      - name: match
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          items:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OAIMetadataPrefix'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestCollectionOAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
  /oai-info/oai-sets/{id}:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_by_id_get
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAISet'
      security:
      - tokenAuth: []
      - auth: []
    delete:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_by_id_delete
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      security:
      - tokenAuth: []
      - auth: []
    patch:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-sets_by_id_update
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAISet'
      security:
      - tokenAuth: []
      - auth: []
  /oai-info/oai-metadata-prefixes/{id}:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_by_id_get
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
    delete:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_by_id_delete
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      security:
      - tokenAuth: []
      - auth: []
    patch:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-metadata-prefixes_by_id_update
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAIMetadataPrefix'
      security:
      - tokenAuth: []
      - auth: []
  /oai-info:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_home
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Module'
  /oai-info/oai-provider:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-provider_status
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OAIPMH'
  /oai-info/oai-provider/oai/xsl:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-provider_oai_xsl
      parameters:
      - name: smartView
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
  /oai-info/oai-provider/oai/schema:
    get:
      tags:
      - OAI-PMH
      operationId: oai-info_oai-provider_oai_schema_xsd
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
components:
  schemas:
    GetRecordType:
      type: object
      properties:
        record:
          $ref: '#/components/schemas/RecordType'
    Module:
      type: object
      description: The functional module.
      properties:
        name:
          type: string
          description: The name of the module.
        _links:
          $ref: '#/components/schemas/Links'
    MetadataType:
      type: object
      description: The metadata type allow to define custom metadata.
      properties:
        creation:
          $ref: '#/components/schemas/ChangeInfo'
        lastUpdate:
          $ref: '#/components/schemas/ChangeInfo'
        resId:
          type: string
          description: The identifier of the resource. The default format is a Universally Unique IDentifier (UUID).
          maxLength: 50
          minLength: 0
        description:
          type: string
          description: The description of the metadata type.
          maxLength: 1024
          minLength: 0
        metadataFormat:
          type: string
          description: The format of the metadata type.
          enum:
          - CUSTOM
          - JSON
          - SCHEMA_LESS
          - XML
        metadataSchema:
          type: string
          description: The schema of the metadata type.
        name:
          type: string
          description: The name of the metadata type.
          maxLength: 255
          minLength: 1
        url:
          type: string
          format: uri
          description: The URL of the metadata type.
        version:
          type: string
          description: The version of the metadata type.
          maxLength: 50
          minLength: 1
        fullName:
          type: string
          description: The name and the version of the metadata type.
          readOnly: true
        _links:
          $ref: '#/components/schemas/Links'
    RestCollectionOAISet:
      type: object
      description: 'The structure of the REST response:

        - data: the list of objects

        - page: the pagination information

        - links: the HATEOAS links

        - facets: the search information

        '
      properties:
        _links:
          $ref: '#/components/schemas/Links'
        _data:
          type: array
          items:
            $ref: '#/components/schemas/OAISet'
        _facets:
          type: array
          items:
            $ref: '#/components/schemas/FacetResult'
        _page:
          $ref: '#/components/schemas/RestCollectionPage'
    ChangeInfo:
      type: object
      description: The change information of an action.
      properties:
        fullName:
          type: string
          description: The full name of the user who did the action on the resource.
          readOnly: true
        who:
          type: string
          description: The user who did the action on the resource.
          readOnly: true
        when:
          type: string
          format: date-time
          description: The date when the action was done on the resources.
          readOnly: true
    OAIPMHerrorType:
      type: object
      properties:
        value:
          type: string
        code:
          type: string
          enum:
          - CANNOT_DISSEMINATE_FORMAT
          - ID_DOES_NOT_EXIST
          - BAD_ARGUMENT
          - BAD_VERB
          - NO_METADATA_FORMATS
          - NO_RECORDS_MATCH
          - BAD_RESUMPTION_TOKEN
          - NO_SET_HIERARCHY
          xml:
            attribute: true
    DescriptionType:
      type: object
      properties:
        any: {}
    RecordType:
      type: object
      properties:
        header:
          $ref: '#/components/schemas/HeaderType'
        metadata:
          $ref: '#/components/schemas/MetadataType'
        about:
          type: array
          items:
            $ref: '#/components/schemas/AboutType'
    ResumptionTokenType:
      type: object
      properties:
        value:
          type: string
        expirationDate:
          type: string
          format: date-time
          xml:
            attribute: true
        completeListSize:
          type: integer
          xml:
            attribute: true
        cursor:
          type: integer
          xml:
            attribute: true
    SetType:
      type: object
      properties:
        setSpec:
          type: string
        setName:
          type: string
        setDescription:
          type: array
          items:
            $ref: '#/components/schemas/DescriptionType'
    ListRecordsType:
      type: object
      properties:
        record:
          type: array
          items:
            $ref: '#/components/schemas/RecordType'
        resumptionToken:
          $ref: '#/components/schemas/ResumptionTokenType'
    OAIMetadataPrefix:
      type: object
      description: The OAI metadata prefixes defined the metadata formats supported by OAI-PMH provider. The default metadata prefix is oai_dc, derived from Dublin Core.
      properties:
        creation:
          $ref: '#/components/schemas/ChangeInfo'
        lastUpdate:
          $ref: '#/components/schemas/ChangeInfo'
        resId:
          type: string
          description: The identifier of the resource. The default format is a Universally Unique IDentifier (UUID).
          maxLength: 50
          minLength: 0
        prefix:
          type: string
          description: The name of the OAI metadata prefix.
          maxLength: 255
          minLength: 1
        schemaUrl:
          type: string
          format: uri
          description: The XML schema URL of the OAI metadata prefix.
        schemaNamespace:
          type: string
          description: The XML schema namespace of the OAI metadata prefix.
        name:
          type: string
          description: The name of the OAI metadata prefix.
          maxLength: 255
          minLength: 1
        description:
          type: string
          description: The description of the OAI metadata prefix.
          maxLength: 1024
          minLength: 1
        enabled:
          type: boolean
          description: If the OAI metadata prefix is enable.
        reference:
          type: boolean
          description: If the OAI metadata prefix is the reference prefix.
        xmlClass:
          type: string
          description: The XML class of the OAI metadata prefix..
        metadataSchema:
          type: string
          description: The XML schema content of the OAI metadata prefix.
          maxLength: 102400
          minLength: 0
        metadataXmlTransformation:
          type: string
          description: The XML transformation from reference prefix to the OAI metadata prefix.
          maxLength: 102400
          minLength: 0
        _links:
          $ref: '#/components/schemas/Links'
    RequestType:
      type: object
      properties:
        value:
          type: string
        verb:
          type: string
          enum:
          - IDENTIFY
          - LIST_METADATA_FORMATS
          - LIST_SETS
          - GET_RECORD
          - LIST_IDENTIFIERS
          - LIST_RECORDS
          xml:
            attribute: true
        identifier:
          type: string
          xml:
            attribute: true
        metadataPrefix:
          type: string
          xml:
            attribute: true
        from:
          type: string
          xml:
            attribute: true
        until:
          type: string
          xml:
            attribute: true
        set:
          type: string
          xml:
            attribute: true
        resumptionToken:
          type: string
          xml:
            attribute: true
    MetadataFormatType:
      type: object
      properties:
        metadataPrefix:
          type: string
        schema:
          type: string
        metadataNamespace:
          type: string
    ListSetsType:
      type: object
      properties:
        set:
          type: array
          items:
            $ref: '#/components/schemas/SetType'
        resumptionToken:
          $ref: '#/components/schemas/ResumptionTokenType'
    OAIPMHtype:
      type: object
      properties:
        responseDate:
          type: string
          format: date-time
        request:
          $ref: '#/components/schemas/RequestType'
        error:
          type: array
          items:
            $ref: '#/components/schemas/OAIPMHerrorType'
        identify:
          $ref: '#/components/schemas/IdentifyType'
          xml:
            name: Identify
        listMetadataFormats:
          $ref: '#/components/schemas/ListMetadataFormatsType'
          xml:
            name: ListMetadataFormats
        listSets:
          $ref: '#/components/schemas/ListSetsType'
          xml:
            name: ListSets
        getRecord:
          $ref: '#/components/schemas/GetRecordType'
          xml:
            name: GetRecord
        listIdentifiers:
          $ref: '#/components/schemas/ListIdentifiersType'
          xml:
            name: ListIdentifiers
        listRecords:
          $ref: '#/components/schemas/ListRecordsType'
          xml:
            name: ListRecords
    IdentifyType:
      type: object
      properties:
        repositoryName:
          type: string
        baseURL:
          type: string
        protocolVersion:
          type: string
        adminEmail:
          type: array
          items:
            type: string
        earliestDatestamp:
          type: string
        deletedRecord:
          type: string
          enum:
          - 'NO'
          - PERSISTENT
          - TRANSIENT
        granularity:
          type: string
          enum:
          - YYYY_MM_DD
          - YYYY_MM_DD_THH_MM_SS_Z
        compression:
          type: array
          items:
            type: string
        description:
          type: array
          items:
            $ref: '#/components/schemas/DescriptionType'
    ListMetadataFormatsType:
      type: object
      properties:
        metadataFormat:
          type: array
          items:
            $ref: '#/components/schemas/MetadataFormatType'
    OAISet:
      type: object
      description: OAI set.
      properties:
        creation:
          $ref: '#/components/schemas/ChangeInfo'
        lastUpdate:
          $ref: '#/components/schemas/ChangeInfo'
        resId:
          type: string
          description: The identifier of the resource. The default format is a Universally Unique IDentifier (UUID).
          maxLength: 50
          minLength: 0
        description:
          type: string
          description: The description of the OAI set.
          maxLength: 1024
          minLength: 1
        enabled:
          type: boolean
          description: If the OAI set is enable.
        name:
          type: string
          description: The name of the OAI set.
          maxLength: 2147483647
          minLength: 1
        query:
          type: string
          description: 'The criteria to define the OAI set: query compliant with indexing search.'
          maxLength: 1024
          minLength: 1
        spec:
          type: string
          description: The spec of OAI set, which is an unique identifier for the set.
          maxLength: 2147483647
          minLength: 1
        _links:
          $ref: '#/components/schemas/Links'
    HeaderType:
      type: object
      properties:
        identifier:
          type: string
        datestamp:
          type: string
        setSpec:
          type: array
          items:
            type: string
        status:
          type: string
          enum:
          - DELETED
          xml:
            attribute: true
    RestCollectionPage:
      type: object
      properties:
        currentPage:
          type: integer
          format: int64
        sizePage:
          type: integer
          format: int64
        totalItems:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int64
    AboutType:
      type: object
      properties:
        any: {}
    ListIdentifiersType:
      type: object
      properties:
        header:
          type: array
          items:
            $ref: '#/components/schemas/HeaderType'
        resumptionToken:
          $ref: '#/components/schemas/ResumptionTokenType'
    MultiValueMapStringString:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
      properties:
        all:
          type: object
          additionalProperties:
            type: string
          writeOnly: true
        empty:
          type: boolean
    Link:
      type: object
      properties:
        href:
          type: string
        hreflang:
          type: string
        title:
          type: string
        type:
          type: string
        deprecation:
          type: string
        profile:
          type: string
        name:
          type: string
        templated:
          type: boolean
    OAIPMH:
      type: object
      description: 'OAI-PMH Provider

        Specifications: http://www.openarchives.org/OAI/openarchivesprotocol.html

        '
      properties:
        oai:
          $ref: '#/components/schemas/OAIPMHtype'
        _links:
          $ref: '#/components/schemas/Links'
    RestCollectionOAIMetadataPrefix:
      type: object
      description: 'The structure of the REST response:

        - data: the list of objects

        - page: the pagination information

        - links: the HATEOAS links

        - facets: the search information

        '
      properties:
        _links:
          $ref: '#/components/schemas/Links'
        _data:
          type: array
          items:
            $ref: '#/components/schemas/OAIMetadataPrefix'
        _facets:
          type: array
          items:
            $ref: '#/components/schemas/FacetResult'
        _page:
          $ref: '#/components/schemas/RestCollectionPage'
    Links:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Link'
    FacetResultValue:
      type: object
      properties:
        value:
          type: string
        count:
          type: integer
          format: int64
    FacetResult:
      type: object
      properties:
        name:
          type: string
        field:
          type: string
        values:
          type: array
          items:
            $ref: '#/components/schemas/FacetResultValue'