Utrecht University Vault API

The vault API from Utrecht University — 16 operation(s) for vault.

Business capability
Scholarly Output & Publication Management BC-4780.40

Operations 16

POST /vault_submit Submit data package for publication #
POST /vault_approve Approve data package for publication #
POST /vault_cancel Cancel submit of data package #
POST /vault_depublish Depublish data package #
POST /vault_republish Republish data package #
POST /vault_copy_to_research Copy data package from vault to research space #
POST /vault_preservable_formats_lists Retrieve lists of preservable file formats on the system #
POST /vault_unpreservable_files Retrieve list of unpreservable file formats in a collection #
POST /vault_system_metadata Return system metadata of a vault collection #
POST /vault_collection_details Return details of a vault collection #
POST /vault_get_package_by_reference Return path to data package with provided reference (UUID4) #
POST /vault_get_landingpage_data Retrieve landingpage data of data package #
POST /vault_get_publication_terms Retrieve the publication terms #
POST /grant_read_access_research_group Grant read rights of research group for datapackage in vault #
POST /revoke_read_access_research_group Revoke read rights of research group for datapackage in vault #
POST /vault_get_published_packages Get the path and DOI of latest versions of published data package in a vault #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/utrecht-vault-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

utrecht-vault-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Yoda core ruleset containing iRODS and Python rules and policies useful for all Yoda environments.
  contact:
    email: l.r.westerhof@uu.nl
  version: 2.1.0
  title: Yoda core Vault API
servers:
- url: https://portal.yoda.test/api
  description: Local Yoda development server
security:
- cookieAuth: []
- basicAuth: []
tags:
- name: Vault
paths:
  /vault_submit:
    post:
      tags:
      - Vault
      summary: Submit data package for publication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to submit
                  default: null
                previous_version:
                  type:
                  - string
                  - 'null'
                  description: Path to previous version of data package in the vault
                  default: None
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultSubmit
      x-operation-id-source: derived
  /vault_approve:
    post:
      tags:
      - Vault
      summary: Approve data package for publication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to approve
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultApprove
      x-operation-id-source: derived
  /vault_cancel:
    post:
      tags:
      - Vault
      summary: Cancel submit of data package
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to cancel submit
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultCancel
      x-operation-id-source: derived
  /vault_depublish:
    post:
      tags:
      - Vault
      summary: Depublish data package
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to depublish
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultDepublish
      x-operation-id-source: derived
  /vault_republish:
    post:
      tags:
      - Vault
      summary: Republish data package
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to republish
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultRepublish
      x-operation-id-source: derived
  /vault_copy_to_research:
    post:
      tags:
      - Vault
      summary: Copy data package from vault to research space
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll_origin
              - coll_target
              properties:
                coll_origin:
                  type: string
                  description: Collection of data package to copy
                  default: null
                coll_target:
                  type: string
                  description: Collection to copy data package to
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultCopyToResearch
      x-operation-id-source: derived
  /vault_preservable_formats_lists:
    post:
      tags:
      - Vault
      summary: Retrieve lists of preservable file formats on the system
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultPreservableFormatsLists
      x-operation-id-source: derived
  /vault_unpreservable_files:
    post:
      tags:
      - Vault
      summary: Retrieve list of unpreservable file formats in a collection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              - list_name
              properties:
                coll:
                  type: string
                  description: Collection of folder to check
                  default: null
                list_name:
                  type: string
                  description: Name of preservable file format list
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultUnpreservableFiles
      x-operation-id-source: derived
  /vault_system_metadata:
    post:
      tags:
      - Vault
      summary: Return system metadata of a vault collection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Path to data package
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultSystemMetadata
      x-operation-id-source: derived
  /vault_collection_details:
    post:
      tags:
      - Vault
      summary: Return details of a vault collection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - path
              properties:
                path:
                  type: string
                  description: Path to data package
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultCollectionDetails
      x-operation-id-source: derived
  /vault_get_package_by_reference:
    post:
      tags:
      - Vault
      summary: Return path to data package with provided reference (UUID4)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - reference
              properties:
                reference:
                  type: string
                  description: Data Package Reference (UUID4)
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultGetPackageByReference
      x-operation-id-source: derived
  /vault_get_landingpage_data:
    post:
      tags:
      - Vault
      summary: Retrieve landingpage data of data package
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection to retrieve landingpage data from
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultGetLandingpageData
      x-operation-id-source: derived
  /vault_get_publication_terms:
    post:
      tags:
      - Vault
      summary: Retrieve the publication terms
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultGetPublicationTerms
      x-operation-id-source: derived
  /grant_read_access_research_group:
    post:
      tags:
      - Vault
      summary: Grant read rights of research group for datapackage in vault
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to remove read rights from
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postGrantReadAccessResearchGroup
      x-operation-id-source: derived
  /revoke_read_access_research_group:
    post:
      tags:
      - Vault
      summary: Revoke read rights of research group for datapackage in vault
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - coll
              properties:
                coll:
                  type: string
                  description: Collection of data package to remove read rights from
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postRevokeReadAccessResearchGroup
      x-operation-id-source: derived
  /vault_get_published_packages:
    post:
      tags:
      - Vault
      summary: Get the path and DOI of latest versions of published data package in a vault
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - path
              properties:
                path:
                  type: string
                  description: Path of vault with data packages
                  default: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type:
                    - string
                    - 'null'
                  data: {}
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
      operationId: postVaultGetPublishedPackages
      x-operation-id-source: derived
components:
  responses:
    status_400:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/result_error'
    status_500:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/result_error'
  schemas:
    result_error:
      type: object
      properties:
        status:
          type: string
          description: Holds an error ID
        status_info:
          type: string
          description: Holds a human-readable error description
        data:
          description: empty
          type:
          - object
          - 'null'
  securitySchemes:
    cookieAuth:
      in: cookie
      type: apiKey
      name: yoda_session
    basicAuth:
      type: http
      scheme: basic