Utrecht University datarequest API

The datarequest API from Utrecht University — 34 operation(s) for datarequest.

OpenAPI Specification

utrecht-datarequest-api-openapi.yml Raw ↑
openapi: 3.0.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 admin datarequest API
servers:
- url: https://portal.yoda.test/api
  description: Local Yoda development server
security:
- cookieAuth: []
- basicAuth: []
tags:
- name: datarequest
paths:
  /datarequest_action_permitted:
    post:
      tags:
      - datarequest
      summary: 'Wrapper around datarequest_action_permitted.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              - roles
              - statuses
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
                roles:
                  type: array
                  description: 'List of permitted roles (possible values: PM, ED, DM, DAC, OWN, REV)'
                  default: null
                  nullable: false
                  items: {}
                statuses:
                  type: array
                  description: List of permitted current data request statuses or None (check skipped)
                  default: null
                  nullable: false
                  items: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_roles_get:
    post:
      tags:
      - datarequest
      summary: "Get roles of invoking user.\n                   if this parameter is missing)\n"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request (OWN and REV roles will not be checked
                  default: None
                  nullable: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_schema_get:
    post:
      tags:
      - datarequest
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - schema_name
              properties:
                schema_name:
                  type: string
                  description: (undocumented)
                  default: null
                  nullable: false
                version:
                  type: string
                  description: (undocumented)
                  default: SCHEMA_VERSION
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_resubmission_id_get:
    post:
      tags:
      - datarequest
      summary: 'Given a request ID, get the request ID of the associated resubmitted data request.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_browse:
    post:
      tags:
      - datarequest
      summary: "Get paginated datarequests, including size/modify date information.\n                    show non-archived data requests\n                    be reviewed\n"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                sort_on:
                  type: string
                  description: Column to sort on ('name', 'modified')
                  default: '''name'''
                  nullable: false
                sort_order:
                  type: string
                  description: Column sort order ('asc' or 'desc')
                  default: '''asc'''
                  nullable: false
                offset:
                  type: integer
                  description: Offset to start browsing from
                  default: '0'
                  nullable: false
                limit:
                  type: integer
                  description: Limit number of results
                  default: '10'
                  nullable: false
                archived:
                  type: boolean
                  description: If true, show archived (i.e. rejected) data requests only. If false, only
                  default: 'False'
                  nullable: false
                dacrequests:
                  type: boolean
                  description: If true, show a DAC member's own data requests (instead of data requests to
                  default: 'True'
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist a data request to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - draft
              properties:
                data:
                  type: object
                  description: Contents of the data request
                  default: null
                  nullable: false
                draft:
                  type: boolean
                  description: Boolean specifying whether the data request should be saved as draft
                  default: null
                  nullable: false
                draft_request_id:
                  type: string
                  description: Unique identifier of the draft data request
                  default: None
                  nullable: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve a data request.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: integer
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_attachment_upload_permission:
    post:
      tags:
      - datarequest
      summary: '                   revoked ("grantread" or "revoke")

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              - action
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
                action:
                  type: string
                  description: String specifying whether write permission must be granted ("grant") or
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_attachment_post_upload_actions:
    post:
      tags:
      - datarequest
      summary: 'Grant read permissions on the attachment to the owner of the associated data request.

        :param filename:   Filename of attachment'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              - filename
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
                filename:
                  type: string
                  description: Filename of attachment
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_attachments_get:
    post:
      tags:
      - datarequest
      summary: 'Get all attachments of a given data request.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_attachments_submit:
    post:
      tags:
      - datarequest
      summary: 'Finalize the submission of uploaded attachments

        :param request_id: Unique identifier of the data request'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_preliminary_review_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist a preliminary review to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the preliminary review
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_preliminary_review_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve a preliminary review.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_datamanager_review_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist a datamanager review to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the datamanager review
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_datamanager_review_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve a data manager review.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_dac_members_get:
    post:
      tags:
      - datarequest
      summary: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: (undocumented)
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_assignment_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist an assignment to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the assignment
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_assignment_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve assignment.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_review_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist a data request review to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the review
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_reviews_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve a data request review.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_evaluation_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist an evaluation to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the evaluation
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_approval_conditions_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve approval conditions

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_evaluation_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve an evaluation.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_feedback_get:
    post:
      tags:
      - datarequest
      summary: 'Get feedback for researcher

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_preregistration_submit:
    post:
      tags:
      - datarequest
      summary: 'Persist a preregistration to disk.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              - request_id
              properties:
                data:
                  type: object
                  description: Contents of the preregistration
                  default: null
                  nullable: false
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_preregistration_get:
    post:
      tags:
      - datarequest
      summary: 'Retrieve a preregistration.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              properties:
                request_id:
                  type: string
                  description: Unique identifier of the data request
                  default: null
                  nullable: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  status_info:
                    type: string
                    nullable: true
                  data:
                    nullable: true
        '400':
          $ref: '#/components/responses/status_400'
        '500':
          $ref: '#/components/responses/status_500'
  /datarequest_preregistration_confirm:
    post:
      tags:
      - datarequest
      summary: 'Set the status of a submitted datarequest to PREREGISTRATION_CONFIRMED.

        :param request_id: Uni

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