openapi: 3.0.1
info:
  title: Pure API
  description: "The Pure API provides a secure and complete web services API for using\
    \ and managing research information data in Pure. The API enables a broad range\
    \ of use-cases for interacting with research information, from anonymous Open\
    \ Data scenarios to enabling the next generation Pure admin."
  termsOfService: ""
  contact:
    name: ""
    url: ""
    email: pure-support@elsevier.com
  license:
    name: ""
    url: ""
  version: 5.33.3
servers:
- url: /ws/api
security:
- api-key: []
paths:
  /activities:
    get:
      tags:
      - activity
      summary: Lists all activities
      description: "Lists all activities in the Pure instance. If you need to filter\
        \ the activities returned, see the POST version which supports additional\
        \ filtering."
      operationId: activity_list
      parameters:
      - name: size
        in: query
        description: Number of returned activities per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /activities/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActivityListResult"
    put:
      tags:
      - activity
      summary: Create activity
      description: Create activity
      operationId: activity_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Activity"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Activity"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /activities/allowed-attendance-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed attendance activity person roles
      description: Get a list of allowed roles for persons on attendance activities
      operationId: activity_getAllowedAttendancePersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-categories:
    get:
      tags:
      - activity
      summary: A list of allowed categories
      description: Get a list of allowed categories for activities
      operationId: activity_getAllowedCategories
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-classified-identifier-types:
    get:
      tags:
      - activity
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of activities
      operationId: activity_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-consultancy-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed  consultancy activity person roles
      description: Get a list of allowed roles for persons on consultancy activities
      operationId: activity_getAllowedConsultancyPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - activity
      summary: Get allowed classifications for the custom-defined field associated
        with the activity
      description: Get allowed classifications for the custom-defined field associated
        with the activity.
      operationId: activity_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /activities/allowed-degree-of-recognitions:
    get:
      tags:
      - activity
      summary: A list of allowed degree of recognitions
      description: Get a list of allowed degree of recognitions on activities
      operationId: activity_getAllowedDegreeOfRecognitions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-description-types:
    get:
      tags:
      - activity
      summary: A list of allowed description types
      description: Get a list of allowed types for descriptions on activities
      operationId: activity_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-document-licenses:
    get:
      tags:
      - activity
      summary: A list of allowed document licenses
      description: Get a list of allowed license types for documents on activities
      operationId: activity_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-document-types:
    get:
      tags:
      - activity
      summary: A list of allowed document types
      description: Get a list of allowed types for documents on activities
      operationId: activity_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-editorial-work-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed editorial-work activity person roles
      description: Get a list of allowed roles for persons on editorial-work activities
      operationId: activity_getAllowedEditorialWorkPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-examination-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed examination activity person roles
      description: Get a list of allowed roles for persons on examination activities
      operationId: activity_getAllowedExaminationPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-host-visitor-countries:
    get:
      tags:
      - activity
      summary: A list of allowed host visitor countries
      description: Get a list of allowed countries host visitor activities
      operationId: activity_getAllowedHostVisitorCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-host-visitor-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed host-visitor activity person roles
      description: Get a list of allowed roles for persons on host visitor activities
      operationId: activity_getAllowedHostVisitorPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-image-types:
    get:
      tags:
      - activity
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of activities
      operationId: activity_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-indicators:
    get:
      tags:
      - activity
      summary: A list of allowed activity indicators
      description: Get a list of allowed indicators on activities
      operationId: activity_getAllowedIndicators
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-keyword-group-configurations:
    get:
      tags:
      - activity
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: activity_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /activities/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - activity
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: activity_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-link-types:
    get:
      tags:
      - activity
      summary: A list of allowed link types
      description: Get a list of allowed link types on activities
      operationId: activity_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-locales:
    get:
      tags:
      - activity
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: activity_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /activities/allowed-membership-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed membership activity person roles
      description: Get a list of allowed roles for persons on membership activities
      operationId: activity_getAllowedMembershipPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-other-activity-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed other activity person roles
      description: Get a list of allowed roles for persons on other activities
      operationId: activity_getAllowedOtherActivityPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-talk-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed talk activity person roles
      description: Get a list of allowed roles for persons on talk activities
      operationId: activity_getAllowedTalkPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-types:
    get:
      tags:
      - activity
      summary: A list of allowed activity types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of activities
      operationId: activity_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-visit-other-person-roles:
    get:
      tags:
      - activity
      summary: A list of allowed visit-other activity person roles
      description: Get a list of allowed roles for persons on visit-other activities
      operationId: activity_getAllowedVisitOtherPersonRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /activities/allowed-workflow-steps:
    get:
      tags:
      - activity
      summary: A list of allowed workflow steps in localized strings
      description: Get a list of allowed workflow steps.
      operationId: activity_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /activities/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - activity
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for activities
      operationId: activity_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /activities/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - activity
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for activities
      operationId: activity_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for activities
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /activities/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - activity
      summary: Query operation for disciplines associated with activities
      description: Lists disciplines from the discipline scheme associated with activities
        in the Pure instance that matches the provided query.
      operationId: activity_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /activities/file-uploads:
    put:
      tags:
      - activity
      summary: Upload file to a specific activity
      description: Uploads file for the activity
      operationId: activity_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /activities/orderings:
    get:
      tags:
      - activity
      summary: Lists available orderings
      description: Lists all orderings available to the activities endpoint. These
        values can be used by the order parameter when listing activities.
      operationId: activity_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /activities/search:
    post:
      tags:
      - activity
      summary: Query operation for activities
      description: "Lists activities in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: activity_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ActivitiesQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActivityListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /activities/{uuid}:
    get:
      tags:
      - activity
      summary: Get activity
      description: Get activity with specific UUID.
      operationId: activity_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired activity
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Activity"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - activity
      summary: Update an activity
      description: Update an activity with specific UUID.
      operationId: activity_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Activity"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Activity"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - activity
      summary: Delete activity
      description: Delete activity with specific UUID.
      operationId: activity_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /activities/{uuid}/actions/lock:
    post:
      tags:
      - activity
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: activity_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /activities/{uuid}/actions/unlock:
    post:
      tags:
      - activity
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: activity_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /activities/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - activity
      summary: Get disciplines from the discipline scheme associated with the activity
      description: Get disciplines from the discipline scheme associated with the
        activity with specific UUID.
      operationId: activity_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired activity
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - activity
      summary: Update disciplines from the discipline scheme associated with the activity
      description: Update disciplines from the discipline scheme associated with the
        activity with specific UUID.
      operationId: activity_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /activities/{uuid}/files/{fileId}:
    get:
      tags:
      - activity
      summary: Get file from the activity
      description: Get file from the activity
      operationId: activity_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /activities/{uuid}/notes:
    get:
      tags:
      - activity
      summary: Lists notes
      description: Lists notes associated with an activity ordered by date (nulls
        last)
      operationId: activity_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: activity not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - activity
      summary: Create note
      description: Create note and associate it with an activity
      operationId: activity_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the activity to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications:
    get:
      tags:
      - application
      summary: Lists all applications
      description: "Lists all applications in the Pure instance. If you need to filter\
        \ the applications returned, see the POST version which supports additional\
        \ filtering."
      operationId: application_list
      parameters:
      - name: size
        in: query
        description: Number of returned applications per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from application_getOrderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
    put:
      tags:
      - application
      summary: Create application
      description: Create application
      operationId: application_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Application"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/allowed-applicant-roles:
    get:
      tags:
      - application
      summary: A list of allowed applicant roles
      description: Get a list of allowed applicant roles on applications
      operationId: application_getAllowedApplicantRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-application-statuses:
    get:
      tags:
      - application
      summary: A list of allowed application statuses
      description: Get a list of allowed application statuses that can be used for
        the 'applicationStatuses.status' attribute of applications
      operationId: application_getAllowedApplicationStatuses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-budget-account-classifications:
    get:
      tags:
      - application
      summary: A list of allowed account classifications
      description: Get a list of allowed account classifications for application budgets
      operationId: application_getAllowedBudgetAccountClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-classified-identifier-types:
    get:
      tags:
      - application
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of applications
      operationId: application_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-collaborator-types:
    get:
      tags:
      - application
      summary: A list of allowed collaborators types
      description: Get a list of allowed collaborator types on applications
      operationId: application_getAllowedCollaboratorTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - application
      summary: Get allowed classifications for the custom-defined field associated
        with the application
      description: Get allowed classifications for the custom-defined field associated
        with the application.
      operationId: application_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/allowed-description-types:
    get:
      tags:
      - application
      summary: A list of allowed description types
      description: Get a list of allowed description types on applications
      operationId: application_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-document-licenses:
    get:
      tags:
      - application
      summary: A list of allowed document licenses
      description: Get a list of allowed document licenses for applications
      operationId: application_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-document-types:
    get:
      tags:
      - application
      summary: A list of allowed document types
      description: Get a list of allowed document types on applications
      operationId: application_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-document-version-types:
    get:
      tags:
      - application
      summary: A list of allowed document version types
      description: Get a list of allowed document version types for applications
      operationId: application_getAllowedDocumentVersionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-funding-classifications:
    get:
      tags:
      - application
      summary: A list of allowed fundings classifications
      description: Get a list of allowed funding classifications for fundings on applications
      operationId: application_getAllowedFundingClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-keyword-group-configurations:
    get:
      tags:
      - application
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: application_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /applications/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - application
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: application_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-link-types:
    get:
      tags:
      - application
      summary: A list of allowed link types
      description: Get a list of allowed link types for applications
      operationId: application_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-locales:
    get:
      tags:
      - application
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: application_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /applications/allowed-nature-types:
    get:
      tags:
      - application
      summary: A list of allowed nature types
      description: Get a list of allowed nature types for applications
      operationId: application_getAllowedNatureTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-templates:
    get:
      tags:
      - application
      summary: A list of allowed application templates
      description: Get a list of allowed templates that can be used for applications.
        Some of the templates that exists in the API specification may be disabled
        for the Pure installation.
      operationId: application_getAllowedTemplates
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedTemplateListResult"
  /applications/allowed-types:
    get:
      tags:
      - application
      summary: A list of allowed application types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of applications
      operationId: application_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /applications/allowed-workflow-steps:
    get:
      tags:
      - application
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of applications
      operationId: application_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /applications/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - application
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for applications
      operationId: application_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /applications/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - application
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for applications
      operationId: application_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for application
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /applications/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - application
      summary: Query operation for disciplines associated with applications
      description: Lists disciplines from the discipline scheme associated with applications
        in the Pure instance that matches the provided query.
      operationId: application_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/file-uploads:
    put:
      tags:
      - application
      summary: Upload file to a specific application
      description: Uploads file for the application
      operationId: application_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /applications/orderings:
    get:
      tags:
      - application
      summary: Lists available orderings
      description: Lists all orderings available to the application endpoint. These
        values can be used by the order parameter.
      operationId: application_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /applications/search:
    post:
      tags:
      - application
      summary: Query operation for applications
      description: "Lists applications in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: application_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplicationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/{uuid}:
    get:
      tags:
      - application
      summary: Get application
      description: Get application with specific UUID.
      operationId: application_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - application
      summary: Update application
      description: Update application with specific UUID.
      operationId: application_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the application to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Application"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - application
      summary: Delete application
      description: Delete application with specific UUID.
      operationId: application_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /applications/{uuid}/actions/lock:
    post:
      tags:
      - application
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: application_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /applications/{uuid}/actions/unlock:
    post:
      tags:
      - application
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: application_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /applications/{uuid}/budgets:
    get:
      tags:
      - application
      summary: Get the budgets for the application
      description: Get the budgets for the application with the specified UUID.
      operationId: application_getBudgets
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationBudgetResult"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/{uuid}/budgets/{id}:
    get:
      tags:
      - application
      summary: Get a specific budget for the application
      description: Get a specific budget for the application with the specified UUID.
      operationId: application_getBudget
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the budget
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationBudget"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - application
      summary: Update budget for an application
      description: Update budget for an application with specific UUID.
      operationId: application_updateBudget
      parameters:
      - name: uuid
        in: path
        description: UUID of the application with the budget
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the budget to update
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplicationBudget"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationBudget"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /applications/{uuid}/cluster:
    get:
      tags:
      - application
      summary: Get the application cluster for the application
      description: Get the application cluster for the application with the specified
        UUID.
      operationId: application_getCluster
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationCluster"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/{uuid}/dependents:
    get:
      tags:
      - application
      summary: Lists all dependents to an application
      description: "Lists all dependents to an application with the specified UUID.\
        \ If the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: application_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. Use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /applications/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - application
      summary: Get disciplines from the discipline scheme associated with the application
      description: Get disciplines from the discipline scheme associated with the
        application with specific UUID.
      operationId: application_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - application
      summary: Update disciplines from the discipline scheme associated with the application
      description: Update disciplines from the discipline scheme associated with the
        application with specific UUID.
      operationId: application_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the application to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /applications/{uuid}/files/{fileId}:
    get:
      tags:
      - application
      summary: Get file from the application
      description: Get file from the application
      operationId: application_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the application
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /applications/{uuid}/notes:
    get:
      tags:
      - application
      summary: Lists notes
      description: Lists notes associated with an application ordered by date (nulls
        last)
      operationId: application_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the application to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Application not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - application
      summary: Create note
      description: Create note and associate it with the application
      operationId: application_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the application to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /author-collaborations:
    get:
      tags:
      - authorCollaboration
      summary: Lists all  author collaborations
      description: "Lists all  author collaborations in the Pure instance. If you\
        \ need to filter the author collaborations returned, see the POST version\
        \ which supports additional filtering."
      operationId: authorCollaboration_list
      parameters:
      - name: size
        in: query
        description: Number of returned  author collaborations per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /author-collaborations/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorCollaborationListResult"
    put:
      tags:
      - authorCollaboration
      summary: Create author collaboration
      description: Create author collaboration
      operationId: authorCollaboration_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorCollaboration"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorCollaboration"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /author-collaborations/allowed-locales:
    get:
      tags:
      - authorCollaboration
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: authorCollaborations_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /author-collaborations/allowed-workflow-steps:
    get:
      tags:
      - authorCollaboration
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of author collaboration
      operationId: authorCollaborations_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /author-collaborations/orderings:
    get:
      tags:
      - authorCollaboration
      summary: Lists available orderings
      description: Lists all orderings available to the author collaboration endpoint.
        These values can be used by the order parameter when listing author collaborations.
      operationId: authorCollaborations_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /author-collaborations/search:
    post:
      tags:
      - authorCollaboration
      summary: Query operation for author-collaborations
      description: "Lists author-collaborations in the Pure instance that matches\
        \ the provided query, similar to the GET version, instead of using parameters\
        \ to alter the response, an JSON document is posted with the request. The\
        \ JSON document contains fields for all the parameters available for the GET\
        \ version, but also additional filtering options."
      operationId: authorCollaborations_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorCollaborationQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorCollaborationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /author-collaborations/{uuid}:
    get:
      tags:
      - authorCollaboration
      summary: Get author collaboration
      description: Get author collaboration with specific UUID.
      operationId: authorCollaborations_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired author collaboration
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorCollaboration"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - authorCollaboration
      summary: Update author collaboration
      description: Update author collaboration with specific UUID.
      operationId: authorCollaboration_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the author collaboration to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorCollaboration"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorCollaboration"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - authorCollaboration
      summary: Delete author collaboration
      description: Delete author collaboration with specific UUID.
      operationId: authorCollaboration_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the author collaboration
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /author-collaborations/{uuid}/actions/lock:
    post:
      tags:
      - authorCollaboration
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: authorCollaborations_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /author-collaborations/{uuid}/actions/unlock:
    post:
      tags:
      - authorCollaboration
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: authorCollaborations_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /author-collaborations/{uuid}/notes:
    get:
      tags:
      - authorCollaboration
      summary: Lists notes
      description: Lists notes associated with a author collaboration ordered by date
        (nulls last)
      operationId: authorCollaborations_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the author collaboration to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Author collaboration not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - authorCollaboration
      summary: Create note
      description: Create note and associate it with a author collaboration
      operationId: authorCollaborations_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the author collaboration to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards:
    get:
      tags:
      - award
      summary: Lists all awards
      description: "Lists all awards in the Pure instance. If you need to filter the\
        \ awards returned, see the POST version which supports additional filtering."
      operationId: award_list
      parameters:
      - name: size
        in: query
        description: Number of returned awards per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from award_getOrderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardListResult"
    put:
      tags:
      - award
      summary: Create award
      description: Create award
      operationId: award_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Award"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Award"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/allowed-awardholder-roles:
    get:
      tags:
      - award
      summary: A list of allowed award holder roles
      description: Get a list of allowed roles for award holders on awards
      operationId: award_getAllowedAwardHolderRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-budget-account-classifications:
    get:
      tags:
      - award
      summary: A list of allowed account classifications
      description: Get a list of allowed account classifications for award budgets
      operationId: award_getAllowedBudgetAccountClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-classified-identifier-types:
    get:
      tags:
      - award
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of awards
      operationId: award_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-collaborator-types:
    get:
      tags:
      - award
      summary: A list of allowed collaborator types
      description: Get a list of allowed types for collaborators on awards
      operationId: award_getAllowedCollaboratorTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - award
      summary: Get allowed classifications for the custom-defined field associated
        with the award
      description: Get allowed classifications for the custom-defined field associated
        with the award.
      operationId: award_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/allowed-description-types:
    get:
      tags:
      - award
      summary: A list of allowed description types
      description: Get a list of allowed types for descriptions on awards
      operationId: award_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-document-licenses:
    get:
      tags:
      - award
      summary: A list of allowed document licenses
      description: Get a list of allowed document licenses for awards
      operationId: award_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-document-types:
    get:
      tags:
      - award
      summary: A list of allowed document types
      description: Get a list of allowed types for documents on awards
      operationId: award_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-document-version-types:
    get:
      tags:
      - award
      summary: A list of allowed document version types
      description: Get a list of allowed version types for documents on awards
      operationId: award_getAllowedDocumentVersionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-funding-classifications:
    get:
      tags:
      - award
      summary: A list of allowed funding classifications
      description: Get a list of allowed funding classifications for fundings on awards
      operationId: award_getAllowedFundingClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-keyword-group-configurations:
    get:
      tags:
      - award
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: award_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /awards/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - award
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: award_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-link-types:
    get:
      tags:
      - award
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of awards
      operationId: award_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-locales:
    get:
      tags:
      - award
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: award_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /awards/allowed-nature-types:
    get:
      tags:
      - award
      summary: A list of allowed nature types
      description: Get a list of allowed nature types for awards
      operationId: award_getAllowedNatureTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-templates:
    get:
      tags:
      - award
      summary: A list of allowed award templates
      description: Get a list of allowed templates that can be used for awards. Some
        of the templates that exists in the API specification may be disabled for
        the Pure installation.
      operationId: award_getAllowedTemplates
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedTemplateListResult"
  /awards/allowed-types:
    get:
      tags:
      - award
      summary: A list of allowed award types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of awards
      operationId: award_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /awards/allowed-workflow-steps:
    get:
      tags:
      - award
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of awards
      operationId: award_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /awards/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - award
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for awards
      operationId: award_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /awards/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - award
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for awards
      operationId: award_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for award
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /awards/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - award
      summary: Query operation for disciplines associated with awards
      description: Lists disciplines from the discipline scheme associated with awards
        in the Pure instance that matches the provided query.
      operationId: award_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/file-uploads:
    put:
      tags:
      - award
      summary: Upload file to a specific award
      description: Uploads file for the award
      operationId: award_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /awards/orderings:
    get:
      tags:
      - award
      summary: Lists available orderings
      description: Lists all orderings available to the award endpoint. These values
        can be used by the order parameter.
      operationId: award_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /awards/search:
    post:
      tags:
      - award
      summary: Query operation for awards
      description: "Lists awards in the Pure instance that matches the provided query,\
        \ similar to the GET version, instead of using parameters to alter the response,\
        \ an JSON document is posted with the request. The JSON document contains\
        \ fields for all the parameters available for the GET version, but also additional\
        \ filtering options."
      operationId: award_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AwardsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/{uuid}:
    get:
      tags:
      - award
      summary: Get award
      description: Get award with specific UUID.
      operationId: award_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Award"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - award
      summary: Update award
      description: Update award with specific UUID.
      operationId: award_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the award to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Award"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Award"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - award
      summary: Delete award
      description: Delete award with specific UUID.
      operationId: award_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /awards/{uuid}/actions/lock:
    post:
      tags:
      - award
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: award_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /awards/{uuid}/actions/unlock:
    post:
      tags:
      - award
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: award_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /awards/{uuid}/budgets:
    get:
      tags:
      - award
      summary: Get the budgets for the award
      description: Get the budgets for the award with the specified UUID.
      operationId: award_getBudgets
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardBudgetResult"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/{uuid}/budgets/{id}:
    get:
      tags:
      - award
      summary: Get a specific budget for the award
      description: Get a specific budget for the award with the specified UUID.
      operationId: award_getBudget
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the budget
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardBudget"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - award
      summary: Update budget for an award
      description: Update budget for an award with specific UUID.
      operationId: award_updateBudget
      parameters:
      - name: uuid
        in: path
        description: UUID of the award with the budget
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the budget to update
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AwardBudget"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardBudget"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /awards/{uuid}/cluster:
    get:
      tags:
      - award
      summary: Get the award cluster for the award
      description: Get the award cluster for the award with the specified UUID.
      operationId: award_getCluster
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardCluster"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/{uuid}/dependents:
    get:
      tags:
      - award
      summary: Lists all dependents to an award
      description: "Lists all dependents to an award with the specified UUID. If the\
        \ user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: award_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. Use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /awards/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - award
      summary: Get disciplines from the discipline scheme associated with the award
      description: Get disciplines from the discipline scheme associated with the
        award with specific UUID.
      operationId: award_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - award
      summary: Update disciplines from the discipline scheme associated with the award
      description: Update disciplines from the discipline scheme associated with the
        award with specific UUID.
      operationId: award_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the award to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /awards/{uuid}/files/{fileId}:
    get:
      tags:
      - award
      summary: Get file from the award
      description: Get file from the award
      operationId: award_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the award
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /awards/{uuid}/notes:
    get:
      tags:
      - award
      summary: Lists notes
      description: Lists notes associated with an award ordered by date (nulls last)
      operationId: award_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the award to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Award not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - award
      summary: Create note
      description: Create note and associate it with the award
      operationId: award_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the award to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /classification-schemes:
    get:
      tags:
      - classificationScheme
      summary: Lists all classification schemes
      description: Lists all classification schemes in the Pure instance.
      operationId: classificationScheme_list
      parameters:
      - name: size
        in: query
        description: Number of returned classification schemes per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from classificationSchemes_getOrderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationSchemeList"
    put:
      tags:
      - classificationScheme
      summary: Create classification scheme
      description: Create classification scheme
      operationId: classificationScheme_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClassificationScheme"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationScheme"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /classification-schemes/allowed-associated-schemes:
    get:
      tags:
      - classificationScheme
      summary: A list of allowed associated schemes classifications
      description: Get a list of allowed types of associated classification schemes
        that can be used for the getAssociatedSchemes.classification attribute on
        classification scheme
      operationId: classificationScheme_getAllowedAssociatedSchemesClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /classification-schemes/allowed-locales:
    get:
      tags:
      - classificationScheme
      summary: A list of allowed locales in localized strings
      description: "Get a list of allowed locales that can be used when submitting\
        \ localized string entities. Example usage: Terms of contained classifications\
        \ must be defined in all these locales."
      operationId: classificationScheme_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /classification-schemes/allowed-type-classifications:
    get:
      tags:
      - classificationScheme
      summary: A list of allowed types of classification schemes
      description: Get a list of allowed types that can be used for the 'typeClassification'
        attribute of classification scheme
      operationId: classificationScheme_getAllowedTypeClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /classification-schemes/{uuid}:
    get:
      tags:
      - classificationScheme
      summary: Get classification scheme
      description: Get classification scheme with specific UUID.
      operationId: classificationScheme_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired classification scheme
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationScheme"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - classificationScheme
      summary: Update classification scheme
      description: "Update classification scheme with specific UUID. Note: terms of\
        \ all containedClassifications must be defined in all UI locales."
      operationId: classificationScheme_update
      parameters:
      - name: uuid
        in: path
        description: "UUID of the classification scheme to update. Note: terms of\
          \ all containedClassifications must be defined in all UI locales."
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClassificationScheme"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationScheme"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - classificationScheme
      summary: Delete classification scheme
      description: Delete classification scheme with specific UUID.
      operationId: classificationScheme_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the classification scheme
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /classification-schemes/{uuid}/actions/lock:
    post:
      tags:
      - classificationScheme
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: classificationScheme_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /classification-schemes/{uuid}/actions/unlock:
    post:
      tags:
      - classificationScheme
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: classificationScheme_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /data-sets:
    get:
      tags:
      - dataSet
      summary: Lists all data sets
      description: "Lists all data sets in the Pure instance. If you need to filter\
        \ the data sets returned, see the POST version which supports additional filtering."
      operationId: dataSet_list
      parameters:
      - name: size
        in: query
        description: Number of returned data sets per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /data sets/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSetListResult"
    put:
      tags:
      - dataSet
      summary: Create data set
      description: Create data set
      operationId: dataSet_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DataSet"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSet"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /data-sets/allowed-classified-identifier-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of data sets
      operationId: dataSet_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-contributors-roles:
    get:
      tags:
      - dataSet
      summary: A list of allowed contributors roles
      description: Get a list of allowed contributors roles that can be used for the
        'contributor.role' attribute of the data set.
      operationId: dataSet_getAllowedContributorsRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - dataSet
      summary: Get allowed classifications for the custom-defined field associated
        with the data set
      description: Get allowed classifications for the custom-defined field associated
        with the data set.
      operationId: dataSet_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /data-sets/allowed-description-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed classifications for the descriptions property
      description: Get a list of classifications that can be used when submitting
        a description.
      operationId: dataSet_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-document-licenses:
    get:
      tags:
      - dataSet
      summary: A list of allowed document licenses
      description: Get a list of allowed license types that can be used for the 'documents.license'
        attribute of data sets
      operationId: dataSet_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-document-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed document types
      description: Get a list of allowed license types that can be used for the 'documents.type'
        attribute of data sets
      operationId: dataSet_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-doi-access-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed access types for DOI
      description: Get a list of allowed DOI access types on data sets
      operationId: dataSet_getAllowedDoiAccessTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-doi-license-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed license types for DOI
      description: Get a list of allowed DOI license types on data sets
      operationId: dataSet_getAllowedDoiLicenseTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-image-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of the data set.
      operationId: dataSet_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-keyword-group-configurations:
    get:
      tags:
      - dataSet
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: dataSet_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /data-sets/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - dataSet
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: dataSet_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-legal-condition-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed legal condition types
      description: Get a list of allowed types for legal condition on data sets
      operationId: dataSet_getAllowedLegalConditionsTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-licenses:
    get:
      tags:
      - dataSet
      summary: A list of allowed licenses
      description: Get a list of allowed licenses on data sets
      operationId: dataSet_getAllowedLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-link-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of data sets
      operationId: dataSet_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-locales:
    get:
      tags:
      - dataSet
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: dataSet_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /data-sets/allowed-nature-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed nature types
      description: Get a list of allowed nature types for data sets.
      operationId: dataSet_getAllowedNatureTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-open-access-permissions:
    get:
      tags:
      - dataSet
      summary: A list of allowed open access permissions
      description: Get a list of allowed open access permissions on data sets
      operationId: dataSet_getAllowedOpenAccessPermissions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-persons-roles:
    get:
      tags:
      - dataSet
      summary: A list of allowed person roles
      description: Get a list of allowed person roles that can be used for the 'persons.role'
        attribute of the data set.
      operationId: dataSet_getAllowedPersonsRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-physical-data-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed physical data types
      description: Get a list of allowed types for physical data on data sets
      operationId: dataSet_getAllowedPhysicalDataTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-types:
    get:
      tags:
      - dataSet
      summary: A list of allowed classifications for the type property
      description: Get a list of classifications that can be used when submitting
        a type.
      operationId: dataSet_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /data-sets/allowed-workflow-steps:
    get:
      tags:
      - dataSet
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of data sets
      operationId: dataSet_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /data-sets/file-uploads:
    put:
      tags:
      - dataSet
      summary: Upload file to a specific data set
      description: Uploads file for the data set
      operationId: dataSet_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /data-sets/search:
    post:
      tags:
      - dataSet
      summary: Query operation for data sets
      description: "Lists data sets in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: dataSet_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DataSetsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSetListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /data-sets/{uuid}:
    get:
      tags:
      - dataSet
      summary: Get data set
      description: Get data set with specific UUID.
      operationId: dataSet_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired data set
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSet"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - dataSet
      summary: Update data set
      description: Update data set with specific UUID.
      operationId: dataSet_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the data set to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DataSet"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSet"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - dataSet
      summary: Delete data set
      description: Delete data set with specific UUID.
      operationId: dataSet_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the data set
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /data-sets/{uuid}/actions/lock:
    post:
      tags:
      - dataSet
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: dataSet_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /data-sets/{uuid}/actions/unlock:
    post:
      tags:
      - dataSet
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: dataSet_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /data-sets/{uuid}/files/{fileId}:
    get:
      tags:
      - dataSet
      summary: Get file from the data set
      description: Get file from the data set
      operationId: dataSet_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the data set
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /data-sets/{uuid}/notes:
    get:
      tags:
      - dataSet
      summary: Lists notes
      description: Lists notes associated with an data set ordered by date (nulls
        last)
      operationId: dataSet_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the data set to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: data set not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - dataSet
      summary: Create note
      description: Create note and associate it with a data set
      operationId: dataSet_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the data set to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /equipment:
    get:
      tags:
      - equipment
      summary: Lists all equipment
      description: "Lists all equipment in the Pure instance. If you need to filter\
        \ the equipment returned, see the POST version which supports additional filtering."
      operationId: equipment_list
      parameters:
      - name: size
        in: query
        description: Number of returned equipment per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /equipment/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EquipmentListResult"
    put:
      tags:
      - equipment
      summary: Create equipment
      description: Create equipment
      operationId: equipment_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Equipment"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Equipment"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /equipment/allowed-address-countries:
    get:
      tags:
      - equipment
      summary: A list of allowed address countries
      description: Get a list of allowed countries that can be used for the 'addresses.country'
        attribute of equipment
      operationId: equipment_getAllowedAddressCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-address-subdivision:
    get:
      tags:
      - equipment
      summary: A list of allowed address subdivisions
      description: Get a list of allowed subdivisions that can be used for the 'addresses.subdivisions'
        attribute of equipment
      operationId: equipment_getAllowedAddressSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-address-types:
    get:
      tags:
      - equipment
      summary: A list of allowed address types
      description: Get a list of allowed address types that can be used for the 'addresses.type'
        attribute of equipment
      operationId: equipment_getAllowedAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-categories:
    get:
      tags:
      - equipment
      summary: A list of allowed categories
      description: Get a list of allowed categories on equipment
      operationId: equipment_getAllowedCategories
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-classified-identifier-types:
    get:
      tags:
      - equipment
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of equipment
      operationId: equipment_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - equipment
      summary: Get allowed classifications for the custom-defined field associated
        with the equipment
      description: Get allowed classifications for the custom-defined field associated
        with the equipment.
      operationId: equipment_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /equipment/allowed-description-types:
    get:
      tags:
      - equipment
      summary: A list of allowed classifications for the descriptions property
      description: Get a list of classifications that can be used when submitting
        a description.
      operationId: equipment_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-email-types:
    get:
      tags:
      - equipment
      summary: A list of allowed e-mail types
      description: Get a list of allowed e-mail types that can be used for the 'emails.type'
        attribute of equipment
      operationId: equipment_getAllowedEmailTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-image-types:
    get:
      tags:
      - equipment
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of equipment
      operationId: equipment_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-keyword-group-configurations:
    get:
      tags:
      - equipment
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: equipment_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /equipment/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - equipment
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: equipment_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-loan-types:
    get:
      tags:
      - equipment
      summary: A list of allowed loan types
      description: Get a list of allowed loan types that can be used for the 'loan
        type' attribute of equipment
      operationId: equipment_getAllowedLoanTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-locales:
    get:
      tags:
      - equipment
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: equipment_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /equipment/allowed-persons-roles:
    get:
      tags:
      - equipment
      summary: A list of allowed persons roles
      description: Get a list of allowed persons roles
      operationId: equipment_getAllowedPersonsRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-phone-number-types:
    get:
      tags:
      - equipment
      summary: A list of allowed phone number types
      description: Get a list of allowed phone number types that can be used for the
        'phoneNumbers.type' attribute of equipment
      operationId: equipment_getAllowedPhoneNumberTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-types:
    get:
      tags:
      - equipment
      summary: A list of allowed equipment types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of equipment
      operationId: equipment_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-web-address-types:
    get:
      tags:
      - equipment
      summary: A list of allowed web address types
      description: Get a list of allowed web address types that can be used for the
        'webAddresses.type' attribute of equipment
      operationId: equipment_getAllowedWebAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /equipment/allowed-workflow-steps:
    get:
      tags:
      - equipment
      summary: A list of allowed workflow steps in localized strings
      description: Get a list of allowed workflow steps.
      operationId: equipment_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /equipment/file-uploads:
    put:
      tags:
      - equipment
      summary: Upload file to a specific equipment
      description: Uploads file for the equipment
      operationId: equipment_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /equipment/search:
    post:
      tags:
      - equipment
      summary: Query operation for equipment
      description: "Lists equipment in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: equipment_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EquipmentQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EquipmentListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /equipment/{uuid}:
    get:
      tags:
      - equipment
      summary: Get equipment
      description: Get equipment with specific UUID.
      operationId: equipment_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired equipment
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Equipment"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - equipment
      summary: Update equipment
      description: Update equipment with specific UUID.
      operationId: equipment_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the equipment to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Equipment"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Equipment"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    delete:
      tags:
      - equipment
      summary: Delete equipment
      description: Delete equipment with specific UUID.
      operationId: equipment_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the equipment
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /equipment/{uuid}/actions/lock:
    post:
      tags:
      - equipment
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: equipment_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /equipment/{uuid}/actions/unlock:
    post:
      tags:
      - equipment
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: equipment_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /equipment/{uuid}/files/{fileId}:
    get:
      tags:
      - equipment
      summary: Get file from the equipment
      description: Get file from the equipment
      operationId: equipment_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the equipment
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /equipment/{uuid}/notes:
    get:
      tags:
      - equipment
      summary: Lists notes
      description: Lists notes associated with an equipment ordered by date (nulls
        last)
      operationId: equipment_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the equipment to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Application not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - equipment
      summary: Create note
      description: Create note and associate it with the equipment
      operationId: equipment_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the equipment to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /events:
    get:
      tags:
      - event
      summary: Lists all events
      description: "Lists all events in the Pure instance. If you need to filter the\
        \ events returned, see the POST version which supports additional filtering."
      operationId: event_list
      parameters:
      - name: size
        in: query
        description: Number of returned events per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /events/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EventListResult"
    put:
      tags:
      - event
      summary: Create event
      description: Create event
      operationId: event_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Event"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Event"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /events/allowed-classified-identifier-types:
    get:
      tags:
      - event
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of events
      operationId: event_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-countries:
    get:
      tags:
      - event
      summary: A list of allowed countries
      description: Get a list of allowed countries that can be used for the 'country'
        attribute of events
      operationId: event_getAllowedCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-degree-of-recognition:
    get:
      tags:
      - event
      summary: A list of allowed degree of recognitions
      description: Get a list of allowed degree of recognitions that can be used for
        the 'degreeOfRecognition' attribute of events
      operationId: event_getAllowedDegreeOfRecognitions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-keyword-group-configurations:
    get:
      tags:
      - event
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: event_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /events/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - event
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: event_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-link-types:
    get:
      tags:
      - event
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of events
      operationId: event_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-locales:
    get:
      tags:
      - event
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: event_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /events/allowed-subdivision:
    get:
      tags:
      - event
      summary: A list of allowed subdivisions
      description: Get a list of allowed subdivisions can be used for the 'subdivision'
        attribute of events
      operationId: event_getAllowedSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-types:
    get:
      tags:
      - event
      summary: A list of allowed event types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of events
      operationId: event_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /events/allowed-workflow-steps:
    get:
      tags:
      - event
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of events
      operationId: event_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /events/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - event
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for events
      operationId: event_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /events/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - event
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for events
      operationId: event_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for events
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /events/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - event
      summary: Query operation for disciplines associated with events
      description: Lists disciplines from the discipline scheme associated with events
        in the Pure instance that matches the provided query.
      operationId: event_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /events/orderings:
    get:
      tags:
      - event
      summary: Lists available orderings
      description: Lists all orderings available to the event endpoint. These values
        can be used by the order parameter.
      operationId: event_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /events/search:
    post:
      tags:
      - event
      summary: Query operation for events
      description: "Lists events in the Pure instance that matches the provided query,\
        \ similar to the GET version, instead of using parameters to alter the response,\
        \ an JSON document is posted with the request. The JSON document contains\
        \ fields for all the parameters available for the GET version, but also additional\
        \ filtering options."
      operationId: events_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EventsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EventListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /events/{uuid}:
    get:
      tags:
      - event
      summary: Get event
      description: Get event with specific UUID.
      operationId: event_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired event
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Event"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - event
      summary: Update event
      description: Update event with specific UUID.
      operationId: event_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the event to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Event"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Event"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - event
      summary: Delete event
      description: Delete event with specific UUID.
      operationId: event_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the event
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /events/{uuid}/actions/lock:
    post:
      tags:
      - event
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: event_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /events/{uuid}/actions/unlock:
    post:
      tags:
      - event
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: event_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /events/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - event
      summary: Get disciplines from the discipline scheme associated with the event
      description: Get disciplines from the discipline scheme  associated with the
        event with specific UUID.
      operationId: event_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired event
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - event
      summary: Update disciplines from the discipline scheme associated with the event
      description: Update disciplines from the discipline scheme associated with the
        event with specific UUID.
      operationId: event_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the event to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /events/{uuid}/notes:
    get:
      tags:
      - event
      summary: Lists notes
      description: Lists notes associated with an event ordered by date (nulls last)
      operationId: event_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the event to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Event not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - event
      summary: Create note
      description: Create note and associate it with an event
      operationId: event_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the event to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations:
    get:
      tags:
      - externalOrganization
      summary: Lists all external organizations
      description: "Lists all external organizations in the Pure instance. If you\
        \ need to filter the external organizations returned, see the POST version\
        \ which supports additional filtering."
      operationId: externalOrganization_list
      parameters:
      - name: size
        in: query
        description: Number of returned external organizations per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /external-organizations/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganizationListResult"
    put:
      tags:
      - externalOrganization
      summary: Create external organization
      description: Create external organization
      operationId: externalOrganization_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalOrganization"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganization"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/allowed-address-countries:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed address countries
      description: Get a list of allowed countries that can be used for the 'address.country'
        attribute of external organizations
      operationId: externalOrganization_getAllowedAddressCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-address-subdivision:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed address subdivisions
      description: Get a list of allowed subdivisions that can be used for the 'address.subdivisions'
        attribute of external organizations
      operationId: externalOrganization_getAllowedAddressSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-classified-file-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified image types that can be used for
        the 'images.type' attribute of external organizations
      operationId: externalOrganization_getAllowedClassifiedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-classified-identifier-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of external organizations
      operationId: externalOrganization_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-document-licenses:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed document licenses
      description: Get a list of allowed document licenses that can be used for the
        'documents.license' attribute of external organizations
      operationId: externalOrganization_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-document-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed document types
      description: Get a list of allowed document types that can be used for the 'documents.type'
        attribute of external organizations
      operationId: externalOrganization_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-keyword-group-configurations:
    get:
      tags:
      - externalOrganization
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: externalOrganization_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /external-organizations/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: externalOrganization_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-link-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of external organizations
      operationId: externalOrganization_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-locales:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: externalOrganization_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /external-organizations/allowed-nature-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed nature types
      description: Get a list of allowed nature types that can be used for the 'natureTypes'
        attribute of external organizations
      operationId: externalOrganization_getAllowedNatureTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-types:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed external organization types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of external organizations
      operationId: externalOrganization_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-organizations/allowed-workflow-steps:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of external organizations
      operationId: externalOrganization_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /external-organizations/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for external organizations
      operationId: externalOrganization_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /external-organizations/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - externalOrganization
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for external organizations
      operationId: externalOrganization_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for external organizations
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /external-organizations/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - externalOrganization
      summary: Query operation for disciplines associated with external organizations
      description: Lists disciplines from the discipline scheme associated with external
        organizations in the Pure instance that matches the provided query.
      operationId: externalOrganization_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/file-uploads:
    put:
      tags:
      - externalOrganization
      summary: Upload file to a specific external organization
      description: Uploads file for the external organization
      operationId: externalOrganization_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /external-organizations/merge:
    post:
      tags:
      - externalOrganization
      summary: Merge external organizations
      description: Merge a list of external organizations together. Note that this
        operation is irreversible
      operationId: externalOrganization_merge
      requestBody:
        description: References to the entities to merge. The first will be the target.
          All additional entities will be merged into the target.
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalOrganizationRefList"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganization"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/orderings:
    get:
      tags:
      - externalOrganization
      summary: Lists available orderings
      description: Lists all orderings available to the external organization endpoint.
        These values can be used by the order parameter.
      operationId: externalOrganization_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /external-organizations/preview-deduplication:
    post:
      tags:
      - externalOrganization
      summary: Preview deduplication of external organizations
      description: Runs through a list external organizations and returns the deduplicated
        and merged organizations. The operation does not touch the Pure database
      operationId: externalOrganization_previewDeduplication
      requestBody:
        description: The content to deduplicate. The data do not need to exist in
          the database.
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalOrganizationList"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganizationListResult"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/search:
    post:
      tags:
      - externalOrganization
      summary: Query operation for external organizations
      description: "Lists external organizations in the Pure instance that matches\
        \ the provided query, similar to the GET version, instead of using parameters\
        \ to alter the response, an JSON document is posted with the request. The\
        \ JSON document contains fields for all the parameters available for the GET\
        \ version, but also additional filtering options."
      operationId: externalOrganization_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalOrganizationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganizationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/{uuid}:
    get:
      tags:
      - externalOrganization
      summary: Get external organization
      description: Get external organization with specific UUID.
      operationId: externalOrganization_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired external organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganization"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalOrganization
      summary: Update external organization
      description: Update external organization with specific UUID.
      operationId: externalOrganization_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalOrganization"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalOrganization"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - externalOrganization
      summary: Delete external organization
      description: Delete external organization with specific UUID.
      operationId: externalOrganization_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-organizations/{uuid}/actions/lock:
    post:
      tags:
      - externalOrganization
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: externalOrganization_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-organizations/{uuid}/actions/unlock:
    post:
      tags:
      - externalOrganization
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: externalOrganization_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-organizations/{uuid}/dependents:
    get:
      tags:
      - externalOrganization
      summary: Lists all dependents to the external organization
      description: "Lists all dependents to the external organization with the specified\
        \ UUID. If the user does not have access to view all the dependent content,\
        \ an authorization error will be thrown. "
      operationId: externalOrganization_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /external-organizations/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - externalOrganization
      summary: Get disciplines from the discipline scheme associated with the external
        organization
      description: Get disciplines from the discipline scheme associated with the
        external organization with specific UUID.
      operationId: externalOrganization_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired external organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalOrganization
      summary: Update disciplines from the discipline scheme associated with the external
        organization
      description: Update disciplines from the discipline scheme associated with the
        external organization with specific UUID.
      operationId: externalOrganization_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-organizations/{uuid}/files/{fileId}:
    get:
      tags:
      - externalOrganization
      summary: Get file from the external organization
      description: Get file from the external organization
      operationId: externalOrganization_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /external-organizations/{uuid}/notes:
    get:
      tags:
      - externalOrganization
      summary: Lists notes
      description: Lists notes associated with an external organization ordered by
        date (nulls last)
      operationId: externalOrganization_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: External organization not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalOrganization
      summary: Create note
      description: Create note and associate it with an external organization
      operationId: externalOrganization_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the external organization to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-persons:
    get:
      tags:
      - externalPerson
      summary: Lists all external persons
      description: "Lists all external persons in the Pure instance. If you need to\
        \ filter the external persons returned, see the POST version which supports\
        \ additional filtering."
      operationId: externalPerson_list
      parameters:
      - name: size
        in: query
        description: Number of returned external persons per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /external-persons/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalPersonListResult"
    put:
      tags:
      - externalPerson
      summary: Create external person
      description: Create external person
      operationId: externalPerson_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalPerson"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalPerson"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-persons/allowed-classified-identifier-types:
    get:
      tags:
      - externalPerson
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of external persons
      operationId: externalPerson_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-persons/allowed-countries:
    get:
      tags:
      - externalPerson
      summary: A list of allowed countries
      description: Get a list of allowed countries that can be used for the 'countries'
        attribute of external persons
      operationId: externalPerson_getAllowedCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-persons/allowed-image-types:
    get:
      tags:
      - externalPerson
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of external persons
      operationId: externalPerson_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-persons/allowed-keyword-group-configurations:
    get:
      tags:
      - externalPerson
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: externalPerson_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /external-persons/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - externalPerson
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: externalPerson_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-persons/allowed-locales:
    get:
      tags:
      - externalPerson
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: externalPerson_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /external-persons/allowed-types:
    get:
      tags:
      - externalPerson
      summary: A list of allowed external person types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of external persons
      operationId: externalPerson_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /external-persons/allowed-workflow-steps:
    get:
      tags:
      - externalPerson
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of external persons
      operationId: externalPerson_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /external-persons/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - externalPerson
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for external persons
      operationId: externalPerson_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /external-persons/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - externalPerson
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for external persons
      operationId: getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for external persons
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /external-persons/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - externalPerson
      summary: Query operation for disciplines associated with external persons
      description: Lists disciplines from the discipline scheme associated with external
        persons in the Pure instance that matches the provided query.
      operationId: externalPerson_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-persons/file-uploads:
    put:
      tags:
      - externalPerson
      summary: Upload file to a specific external person
      description: Uploads file for the external person
      operationId: externalPerson_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /external-persons/orderings:
    get:
      tags:
      - externalPerson
      summary: Lists available orderings
      description: Lists all orderings available to the external person endpoint.
        These values can be used by the order parameter.
      operationId: externalPerson_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /external-persons/search:
    post:
      tags:
      - externalPerson
      summary: Query operation for external persons
      description: "Lists external persons in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: externalPerson_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalPersonsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalPersonListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-persons/{uuid}:
    get:
      tags:
      - externalPerson
      summary: Get external person
      description: Get external person with specific UUID.
      operationId: externalPerson_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired external person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalPerson"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalPerson
      summary: Update external persons
      description: Update external persons with specific UUID.
      operationId: externalPerson_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExternalPerson"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExternalPerson"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - externalPerson
      summary: Delete external person
      description: Delete external person with specific UUID.
      operationId: externalPerson_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-persons/{uuid}/actions/lock:
    post:
      tags:
      - externalPerson
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: externalPerson_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-persons/{uuid}/actions/unlock:
    post:
      tags:
      - externalPerson
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: externalPerson_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /external-persons/{uuid}/dependents:
    get:
      tags:
      - externalPerson
      summary: Lists all dependents to a external person
      description: "Lists all dependents to a external person with the specified UUID.\
        \ If the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: externalPerson_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /external-persons/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - externalPerson
      summary: Get disciplines from the discipline scheme associated with the external
        person
      description: Get disciplines from the discipline scheme associated with the
        external person with specific UUID.
      operationId: externalPerson_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired external person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalPerson
      summary: Update disciplines from the discipline scheme associated with the external
        person
      description: Update disciplines from the discipline scheme associated with the
        external person with specific UUID.
      operationId: externalPerson_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /external-persons/{uuid}/files/{fileId}:
    get:
      tags:
      - externalPerson
      summary: Get file from the external person
      description: Get file from the external person
      operationId: externalPerson_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /external-persons/{uuid}/notes:
    get:
      tags:
      - externalPerson
      summary: Lists notes
      description: Lists notes associated with an external person ordered by date
        (nulls last)
      operationId: externalPerson_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: External person not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - externalPerson
      summary: Create note
      description: Create note and associate it with an external person
      operationId: externalPerson_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the external person to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals:
    get:
      tags:
      - journal
      summary: Lists all journals
      description: "Lists all journals in the Pure instance. If you need to filter\
        \ the journals returned, see the POST version which supports additional filtering."
      operationId: journal_list
      parameters:
      - name: size
        in: query
        description: Number of returned journals per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /journals/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JournalListResult"
    put:
      tags:
      - journal
      summary: Create journal
      description: Create journal
      operationId: journal_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Journal"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Journal"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals/allowed-classified-identifier-types:
    get:
      tags:
      - journal
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of journals
      operationId: journal_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /journals/allowed-countries:
    get:
      tags:
      - journal
      summary: A list of allowed countries
      description: Get a list of allowed countries that can be used for the 'journal.country'
        attribute of journals
      operationId: journal_getAllowedCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /journals/allowed-keyword-group-configurations:
    get:
      tags:
      - journal
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: journal_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /journals/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - journal
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: journal_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /journals/allowed-link-types:
    get:
      tags:
      - journal
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of journals
      operationId: journal_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /journals/allowed-locales:
    get:
      tags:
      - journal
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: journal_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /journals/allowed-metric-collections:
    get:
      tags:
      - journal
      summary: A list of allowed metric collections
      description: Get a list of metric collections allowed on journals
      operationId: journal_getAllowedMetricCollections
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollectionDefinitionList"
  /journals/allowed-types:
    get:
      tags:
      - journal
      summary: A list of allowed journal types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of journal
      operationId: journal_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /journals/allowed-workflow-steps:
    get:
      tags:
      - journal
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of journals
      operationId: journal_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /journals/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - journal
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for journals
      operationId: journal_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /journals/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - journal
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for journals
      operationId: journal_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for journals
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /journals/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - journal
      summary: Query operation for disciplines associated with journals
      description: Lists disciplines from the discipline scheme associated with journals
        in the Pure instance that matches the provided query.
      operationId: journal_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals/orderings:
    get:
      tags:
      - journal
      summary: Lists available orderings
      description: Lists all orderings available to the journal endpoint. These values
        can be used by the order parameter.
      operationId: journal_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /journals/search:
    post:
      tags:
      - journal
      summary: Query operation for journals
      description: "Lists journals in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: journal_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JournalsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JournalListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals/{uuid}:
    get:
      tags:
      - journal
      summary: Get journal
      description: Get journal with specific UUID.
      operationId: journal_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired journal
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Journal"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - journal
      summary: Update journal
      description: Update journal with specific UUID.
      operationId: journal_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Journal"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Journal"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - journal
      summary: Delete journal
      description: Delete journal with specific UUID.
      operationId: journal_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /journals/{uuid}/actions/lock:
    post:
      tags:
      - journal
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: journal_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /journals/{uuid}/actions/unlock:
    post:
      tags:
      - journal
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: journal_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /journals/{uuid}/dependents:
    get:
      tags:
      - journal
      summary: Lists all dependents to a journal
      description: "Lists all dependents to a journal with the specified UUID. If\
        \ the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: journal_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /journals/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - journal
      summary: Get disciplines from the discipline scheme associated with the journal
      description: Get disciplines from the discipline scheme associated with the
        journal with specific UUID.
      operationId: journal_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired journal
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - journal
      summary: Update disciplines from the discipline scheme associated with the journal
      description: Update disciplines from the discipline scheme associated with the
        journal with specific UUID.
      operationId: journal_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals/{uuid}/metrics/{collection-id}:
    get:
      tags:
      - journal
      summary: Lists metrics with collection id
      description: Lists metrics from a specific metrics collection that associated
        with a journal.
      operationId: journal_listMetricsFromCollection
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: collection-id
        in: path
        description: ID of the metrics collection to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollection"
        "404":
          description: Journal or metrics collection not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /journals/{uuid}/notes:
    get:
      tags:
      - journal
      summary: Lists notes
      description: Lists notes associated with the journal ordered by date (nulls
        last)
      operationId: journal_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Journal not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - journal
      summary: Create note
      description: Create note and associate it with a journal
      operationId: journal_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the journal to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations:
    get:
      tags:
      - organization
      summary: Lists all organizations
      description: "Lists all organizations in the Pure instance. If you need to filter\
        \ the organizations returned, see the POST version which supports additional\
        \ filtering."
      operationId: organization_list
      parameters:
      - name: size
        in: query
        description: Number of returned organizations per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /organizations/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrganizationListResult"
    put:
      tags:
      - organization
      summary: Create organization
      description: Create organization
      operationId: organization_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Organization"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Organization"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations/allowed-address-countries:
    get:
      tags:
      - organization
      summary: A list of allowed address countries
      description: Get a list of allowed countries that can be used for the 'addresses.country'
        attribute of organizations
      operationId: organization_getAllowedAddressCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-address-subdivision:
    get:
      tags:
      - organization
      summary: A list of allowed address subdivisions
      description: Get a list of allowed subdivisions that can be used for the 'addresses.subdivisions'
        attribute of organizations
      operationId: organization_getAllowedAddressSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-address-types:
    get:
      tags:
      - organization
      summary: A list of allowed address types
      description: Get a list of allowed address types that can be used for the 'addresses.type'
        attribute of organizations
      operationId: organization_getAllowedAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-classified-file-types:
    get:
      tags:
      - organization
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified photo types that can be used for
        the 'photos.type' attribute of organizations
      operationId: organization_getAllowedClassifiedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-classified-identifier-types:
    get:
      tags:
      - organization
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of organizations
      operationId: organization_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-cost-centers:
    get:
      tags:
      - organization
      summary: A list of allowed cost centers
      description: Get a list of allowed cost centers that can be used for the 'costCenters'
        attribute of organizations
      operationId: organization_getAllowedCostCenters
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - organization
      summary: Get allowed classifications for the custom-defined field associated
        with the organization
      description: Get allowed classifications for the custom-defined field associated
        with the organization.
      operationId: organization_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations/allowed-email-types:
    get:
      tags:
      - organization
      summary: A list of allowed e-mail types
      description: Get a list of allowed e-mail types that can be used for the 'emails.type'
        attribute of organizations
      operationId: organization_getAllowedEmailTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-keyword-group-configurations:
    get:
      tags:
      - organization
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: organization_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /organizations/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - organization
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: organization_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-link-types:
    get:
      tags:
      - organization
      summary: A list of allowed link types
      description: Get a list of allowed link types on organizations
      operationId: organization_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-locales:
    get:
      tags:
      - organization
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: organization_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /organizations/allowed-main-research-areas:
    get:
      tags:
      - organization
      summary: A list of allowed main research areas
      description: Get a list of allowed main research areas on organizations
      operationId: organization_getAllowedMainResearchAreas
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-name-variant-types:
    get:
      tags:
      - organization
      summary: A list of allowed name variant types
      description: Get a list of allowed name variant types that can be used for the
        'nameVariants.type' attribute of organizations
      operationId: organization_getAllowedNameVariantTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-phone-number-types:
    get:
      tags:
      - organization
      summary: A list of allowed phone number types
      description: Get a list of allowed phone number types that can be used for the
        'phoneNumbers.type' attribute of organizations
      operationId: organization_getAllowedPhoneNumberTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-photo-types:
    get:
      tags:
      - organization
      summary: A list of allowed photo types
      description: Get a list of allowed photo types that can be used for the 'photos.type'
        attribute of organizations
      operationId: organization_getAllowedPhotoTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-profile-information-types:
    get:
      tags:
      - organization
      summary: A list of allowed profile information types
      description: Get a list of allowed profile information types that can be used
        for the 'profileInformations.type' attribute of organizations
      operationId: organization_getAllowedProfileInformationTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-types:
    get:
      tags:
      - organization
      summary: A list of allowed organization types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of organizations
      operationId: organization_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/allowed-web-address-types:
    get:
      tags:
      - organization
      summary: A list of allowed web address types
      description: Get a list of allowed web address types that can be used for the
        'webAddresses.type' attribute of organizations
      operationId: organization_getAllowedWebAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /organizations/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - organization
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for organizations
      operationId: organization_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /organizations/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - organization
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for organizations
      operationId: organization_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for organizations
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /organizations/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - organization
      summary: Query operation for disciplines associated with organizations
      description: Lists disciplines from the discipline scheme associated with organizations
        in the Pure instance that matches the provided query.
      operationId: organization_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations/file-uploads:
    put:
      tags:
      - organization
      summary: Upload file to a specific organization
      description: Uploads file for the organization
      operationId: organization_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /organizations/orderings:
    get:
      tags:
      - organization
      summary: Lists available orderings
      description: Lists all orderings available to the organization endpoint. These
        values can be used by the order parameter.
      operationId: organization_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /organizations/search:
    post:
      tags:
      - organization
      summary: Query operation for organizations
      description: "Lists organizations in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: organization_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OrganizationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrganizationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations/{uuid}:
    get:
      tags:
      - organization
      summary: Get organization
      description: Get organization with specific UUID.
      operationId: organization_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Organization"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - organization
      summary: Update organization
      description: Update organization with specific UUID.
      operationId: organization_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Organization"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Organization"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - organization
      summary: Delete organization
      description: Delete organization with specific UUID.
      operationId: organization_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /organizations/{uuid}/actions/lock:
    post:
      tags:
      - organization
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: organization_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /organizations/{uuid}/actions/unlock:
    post:
      tags:
      - organization
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: organization_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /organizations/{uuid}/dependents:
    get:
      tags:
      - organization
      summary: Lists all dependents to the organization
      description: "Lists all dependents to the organization with the specified UUID.\
        \ If the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: organization_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /organizations/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - organization
      summary: Get disciplines from the discipline scheme associated with the organization
      description: Get disciplines from the discipline scheme associated with the
        organization with specific UUID.
      operationId: organization_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - organization
      summary: Update disciplines from the discipline scheme associated with the organization
      description: Update disciplines from the discipline scheme associated with the
        organization with specific UUID.
      operationId: organization_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /organizations/{uuid}/files/{fileId}:
    get:
      tags:
      - organization
      summary: Get file from the organization
      description: Get file from the organization
      operationId: organization_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: Id of the file
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /organizations/{uuid}/notes:
    get:
      tags:
      - organization
      summary: Lists notes
      description: Lists notes associated with an organization ordered by date (nulls
        last)
      operationId: organization_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Organization not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - organization
      summary: Create note
      description: Create note and associate it with an organization
      operationId: organization_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the organization to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons:
    get:
      tags:
      - person
      summary: Lists all persons
      description: "Lists all persons in the Pure instance. If you need to filter\
        \ the persons returned, see the POST version which supports additional filtering."
      operationId: person_list
      parameters:
      - name: size
        in: query
        description: Number of returned persons per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /persons/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PersonListResult"
    put:
      tags:
      - person
      summary: Create person
      description: Create person
      operationId: person_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Person"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Person"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/allowed-academic-qualification-types:
    get:
      tags:
      - person
      summary: A list of allowed academic qualification types for persons
      description: Get a list of allowed academic qualification types for persons
      operationId: person_getAllowedAcademicQualificationsTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-academic-qualifications-distinctions:
    get:
      tags:
      - person
      summary: A list of the allowed values for education distinction
      description: Get a list of classifications that can be used for the 'academicQualifications.distinction'
        attribute of persons
      operationId: person_getAllowedAcademicQualificationsDistinctions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-academic-qualifications-field-of-studies:
    get:
      tags:
      - person
      summary: A list of the allowed values for field of study
      description: Get a list of classifications that can be used for the 'academicQualifications.fieldOfStudy'
        attribute of persons
      operationId: person_getAllowedAcademicQualificationsFieldOfStudies
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-address-countries:
    get:
      tags:
      - person
      summary: A list of allowed address countries
      description: Get a list of allowed countries that can be used for the 'addresses.country'
        attribute of persons
      operationId: person_getAllowedAddressCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-address-subdivisions:
    get:
      tags:
      - person
      summary: A list of allowed subdivisions
      description: Get a list of allowed subdivisions can be used for the 'subdivision'
        attribute of person organization associations
      operationId: person_getAllowedAddressSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-address-types:
    get:
      tags:
      - person
      summary: A list of allowed address types
      description: Get a list of allowed address types that can be used for the 'addresses.type'
        attribute of persons
      operationId: person_getAllowedAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-classified-identifier-types:
    get:
      tags:
      - person
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of persons
      operationId: person_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - person
      summary: Get allowed classifications for the custom-defined field associated
        with the person
      description: Get allowed classifications for the custom-defined field associated
        with the person.
      operationId: person_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/allowed-document-licenses:
    get:
      tags:
      - person
      summary: A list of allowed document licenses
      description: Get a list of allowed licenses for documents on persons
      operationId: person_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-document-types:
    get:
      tags:
      - person
      summary: A list of allowed document types
      description: Get a list of allowed types for documents on persons
      operationId: person_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-external-positions-appointments:
    get:
      tags:
      - person
      summary: A list of the allowed values for appointments
      description: Get a list of classifications that can be used for the 'externalPositions.appointment'
        attribute of persons
      operationId: person_getAllowedExternalPositionsAppointments
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-genders:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the gender property
      description: Get a list of classifications that can be used when submitting
        the person gender property.
      operationId: person_getAllowedGenders
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-keyword-group-configurations:
    get:
      tags:
      - person
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: person_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /persons/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: person_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-leave-of-absense:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the leave of absence property
      description: Get a list of classifications that can be used when submitting
        the leaveOfAbsence property.
      operationId: person_getAllowedLeavesOfAbsenceClassifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-link-types:
    get:
      tags:
      - person
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of persons
      operationId: person_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-locales:
    get:
      tags:
      - person
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: person_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /persons/allowed-main-research-areas:
    get:
      tags:
      - person
      summary: A list of allowed main research areas
      description: Get a list of allowed main research areas associated with the person
      operationId: person_getAllowedMainResearchAreas
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-metric-collections:
    get:
      tags:
      - person
      summary: A list of allowed metric collections
      description: Get a list of metric collections allowed on persons
      operationId: person_getAllowedMetricCollections
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollectionDefinitionList"
  /persons/allowed-names-types:
    get:
      tags:
      - person
      summary: A list of allowed classifications for classified names
      description: Get a list of allowed classifications that can be used when submitting
        a classified name.
      operationId: person_getAllowedNamesTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-nationalities:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the nationalities property
      description: Get a list of classifications that can be used when submitting
        the nationality property.
      operationId: person_getAllowedNationalities
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-email-types:
    get:
      tags:
      - person
      summary: A list of allowed email types
      description: Get a list of allowed email types for person organization associations
        on persons
      operationId: person_getAllowedPersonOrganizationAssociationsEmailTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-employment-types:
    get:
      tags:
      - person
      summary: A list of allowed employment types
      description: Get a list of allowed employment types for person organization
        associations on persons
      operationId: person_getAllowedPersonOrganizationAssociationsEmploymentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-job-titles:
    get:
      tags:
      - person
      summary: A list of allowed job titles
      description: Get a list of allowed job titles for person organization associations
        on persons
      operationId: person_getAllowedPersonOrganizationAssociationsJobTitles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-phonenumber-types:
    get:
      tags:
      - person
      summary: A list of allowed phone number types
      description: Get a list of allowed phone numbers types for person organization
        associations on persons
      operationId: person_getAllowedPersonOrganizationAssociationsPhoneNumberTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-supervisor-roles:
    get:
      tags:
      - person
      summary: A list of allowed supervisor roles
      description: Get a list of allowed supervisor roles for person organization
        associations on persons
      operationId: person_getAllowedPersonOrganizationAssociationsSupervisorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-person-organization-associations-webaddress-types:
    get:
      tags:
      - person
      summary: A list of allowed web address types
      description: Get a list of allowed web address types for person organization
        associations on persons
      operationId: person_getAllowedPersonOrganizationAssociationsWebAddressTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-private-address-countries:
    get:
      tags:
      - person
      summary: A list of allowed country classifications for private address
      description: Get a list of allowed country classifications for private address
        on persons
      operationId: person_getAllowedPrivateAddressCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-profile-information-types:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the profile information property
      description: Get a list of classifications that can be used when submitting
        an entry in profile information.
      operationId: person_getAllowedProfileInformationTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-profile-photo-types:
    get:
      tags:
      - person
      summary: A list of allowed photo types
      description: Get a list of allowed photo types that can be used for the 'profilePhotos.type'
        attribute of persons
      operationId: person_getAllowedProfilePhotoTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-staff-organization-associations-contract-types:
    get:
      tags:
      - person
      summary: A list of allowed contract types
      description: Get a list of allowed contract types for staff organization associations
        on persons
      operationId: person_getAllowedStaffOrganizationAssociationsContractTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-staff-organization-associations-staff-types:
    get:
      tags:
      - person
      summary: A list of allowed staff types
      description: Get a list of allowed staff types for staff organization associations
        on persons
      operationId: person_getAllowedStaffOrganizationAssociationsStaffTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-student-organization-associations-attendance-status-types:
    get:
      tags:
      - person
      summary: A list of allowed student attendance status types
      description: Get a list of allowed student attendance status types for student
        organization associations on persons
      operationId: person_getAllowedStudentOrganizationAssociationsAttendanceStatus
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-student-organization-associations-country-of-domicile-types:
    get:
      tags:
      - person
      summary: A list of allowed student country of domicile types
      description: Get a list of allowed student country of domicile types for student
        organization associations on persons
      operationId: person_getAllowedStudentOrganizationAssociationsGetStudentCountryOfDomiciles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-student-organization-associations-employment-types:
    get:
      tags:
      - person
      summary: A list of allowed employment types
      description: Get a list of allowed employment types for student organization
        associations on persons
      operationId: person_getAllowedStudentAssociationsEmploymentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-student-organization-associations-nationality-types:
    get:
      tags:
      - person
      summary: A list of allowed student nationality types
      description: Get a list of allowed student nationality types for student organization
        associations on persons
      operationId: person_getAllowedStudentOrganizationAssociationsGetStudentNationalities
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-student-organization-associations-type-description-types:
    get:
      tags:
      - person
      summary: A list of allowed student type description types
      description: Get a list of allowed student type description types for student
        organization associations on persons
      operationId: person_getAllowedStudentOrganizationAssociationsStudentTypeDescriptions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-titles-types:
    get:
      tags:
      - person
      summary: A list of allowed classifications for the titles property
      description: Get a list of classifications that can be used when submitting
        a title.
      operationId: person_getAllowedTitlesTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-visiting-scholar-organization-associations-employment-types:
    get:
      tags:
      - person
      summary: A list of allowed employment types
      description: Get a list of allowed employment types for visiting scholar organization
        associations on persons
      operationId: person_getAllowedVisitingScholarAssociationsEmploymentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /persons/allowed-workflow-steps:
    get:
      tags:
      - person
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of persons
      operationId: person_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /persons/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - person
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for persons
      operationId: person_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /persons/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - person
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for persons
      operationId: person_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for persons
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /persons/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - person
      summary: Query operation for disciplines associated with persons
      description: Lists disciplines from the discipline scheme associated with persons
        in the Pure instance that matches the provided query.
      operationId: person_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/file-uploads:
    put:
      tags:
      - person
      summary: Upload file to a specific person
      description: Uploads file for the person
      operationId: person_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /persons/orderings:
    get:
      tags:
      - person
      summary: Lists available orderings
      description: Lists all orderings available to the person endpoint. These values
        can be used by the order parameter.
      operationId: person_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /persons/search:
    post:
      tags:
      - person
      summary: Query operation for persons
      description: "Lists persons in the Pure instance that matches the provided query,\
        \ similar to the GET version, instead of using parameters to alter the response,\
        \ an JSON document is posted with the request. The JSON document contains\
        \ fields for all the parameters available for the GET version, but also additional\
        \ filtering options."
      operationId: person_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PersonsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PersonListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/{uuid}:
    get:
      tags:
      - person
      summary: Get person
      description: Get person with specific UUID.
      operationId: person_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Person"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - person
      summary: Update person
      description: Update person with specific UUID.
      operationId: person_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Person"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Person"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - person
      summary: Delete person
      description: Delete person with specific UUID.
      operationId: person_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /persons/{uuid}/actions/lock:
    post:
      tags:
      - person
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: person_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /persons/{uuid}/actions/unlock:
    post:
      tags:
      - person
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: person_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /persons/{uuid}/dependents:
    get:
      tags:
      - person
      summary: Lists all dependents to the person
      description: "Lists all dependents to the person with the specified UUID. If\
        \ the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: person_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. Use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /persons/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - person
      summary: Get disciplines from the discipline scheme associated with the person
      description: Get disciplines from the discipline scheme associated with the
        person with specific UUID.
      operationId: person_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - person
      summary: Update disciplines from the discipline scheme associated with the person
      description: Update disciplines from the discipline scheme associated with the
        person with specific UUID.
      operationId: person_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/{uuid}/files/{fileId}:
    get:
      tags:
      - person
      summary: Get file from the person
      description: Get file from the person
      operationId: person_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /persons/{uuid}/highlighted-content:
    get:
      tags:
      - person
      summary: Get highlighted content
      description: Get highlighted content for the person with the specific UUID.
        Highlights are only available for editorial types
      operationId: person_getHighlightedContent
      parameters:
      - name: uuid
        in: path
        description: UUID of the owner (person) of the highlighted content
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HighlightedContent"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - person
      summary: Update highlighted content
      description: Update highlighted content references. Add an empty array of references
        for a content type to not highlight any items of this type. Types that are
        not present will be ignored. Highlights can only be updated for editorial
        types
      operationId: person_updateHighlightedContent
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to update highlighted content for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The highlighted content references to set on the person
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HighlightedContent"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HighlightedContent"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/{uuid}/metrics/{collection-id}:
    get:
      tags:
      - person
      summary: Lists metrics with collection id
      description: Lists metrics from a specific metrics collection that associated
        with a person.
      operationId: person_listMetricsFromCollection
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: collection-id
        in: path
        description: ID of the metrics collection to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollection"
        "404":
          description: Person or metrics collection not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/{uuid}/notes:
    get:
      tags:
      - person
      summary: Lists notes
      description: Lists notes associated with an person ordered by date (nulls last)
      operationId: person_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: person not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - person
      summary: Create note
      description: Create note and associate it with a person
      operationId: person_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the person to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /persons/{uuid}/supervisee:
    get:
      tags:
      - person
      summary: person supervisees
      description: Find supervisees of a person by their specific UUID.
      operationId: person_supervisee
      parameters:
      - name: uuid
        in: path
        description: UUID of the person
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PersonSuperviseeAssociationListResult"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /pressmedia:
    get:
      tags:
      - pressMedia
      summary: List all Press/Media content
      description: "List all Press/Media content in the Pure instance. If you need\
        \ to filter which content is returned returned, see the POST version which\
        \ supports additional filtering."
      operationId: pressmedia_list
      parameters:
      - name: size
        in: query
        description: Number of returned Press/Media per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /pressmedia/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PressMediaListResult"
    put:
      tags:
      - pressMedia
      summary: Create Press/Media content
      description: Create Press/Media content in the Pure instance.
      operationId: pressmedia_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PressMedia"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PressMedia"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /pressmedia/allowed-categories:
    get:
      tags:
      - pressMedia
      summary: A list of allowed categories
      description: Get a list of allowed categories on Press/Media content
      operationId: pressmedia_getAllowedCategories
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-custom-defined-field-values/{fieldIdentifer}/classifications:
    get:
      tags:
      - pressMedia
      summary: Get allowed classifications for the custom-defined field associated
        with the Press/Media
      description: Get allowed classifications for the custom-defined field associated
        with the Press/Media.
      operationId: pressmedia_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: fieldIdentifer
        in: path
        description: FieldIdentifer for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /pressmedia/allowed-descriptions-types:
    get:
      tags:
      - pressMedia
      summary: A list of allowed description types
      description: Get a list of classifications that can be used when submitting
        a description.
      operationId: pressmedia_getAllowedDescriptionsTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-image-types:
    get:
      tags:
      - pressMedia
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of activities
      operationId: pressmedia_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-keyword-group-configurations:
    get:
      tags:
      - pressMedia
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: pressmedia_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /pressmedia/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - pressMedia
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: pressmedia_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-locales:
    get:
      tags:
      - pressMedia
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: pressmedia_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /pressmedia/allowed-media-coverage-types:
    get:
      tags:
      - pressMedia
      summary: A list of allowed media coverage types
      description: Get a list of allowed types that can be used for the 'mediaCoverageType'
        attribute of media coverages on Press/Media
      operationId: pressmedia_getAllowedMediaCoverageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/APIStringListResult"
  /pressmedia/allowed-media-coverages-countries:
    get:
      tags:
      - pressMedia
      summary: A list of allowed countries
      description: Get a list of allowed countries for media coverages on Press/Media
      operationId: pressMedia_getAllowedMediaCoveragesCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-media-coverages-degree-of-recognitions:
    get:
      tags:
      - pressMedia
      summary: A list the degrees of recognition allowed on Press/Media
      description: Get a list of degrees of recognition that are allowed to be used
        for the attribute 'mediaCoverage.degreeOfRecognition' on Press/Media.
      operationId: pressMedia_getAllowedMediaCoveragesDegreeOfRecognitions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-media-coverages-media-types:
    get:
      tags:
      - pressMedia
      summary: A list of allowed media types
      description: Get a list of allowed types that can be used for the 'mediaType'
        attribute of media coverages on Press/Media
      operationId: pressmedia_getAllowedMediaCoveragesMediaTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-media-coverages-persons-roles:
    get:
      tags:
      - pressMedia
      summary: A list of allowed person roles
      description: Get a list of allowed person roles that can be used for the 'persons.role'
        attribute of the Press/Media media coverage.
      operationId: pressMedia_getAllowedMediaCoveragesPersonsRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-media-coverages-subdivisions:
    get:
      tags:
      - pressMedia
      summary: A list of allowed subdivisions
      description: Get a list of allowed subdivisions for media coverages on Press/Media
      operationId: pressMedia_getAllowedMediaCoveragesSubdivisions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-types:
    get:
      tags:
      - pressMedia
      summary: A list of allowed Press/Media types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of Press/Media
      operationId: pressmedia_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /pressmedia/allowed-workflow-steps:
    get:
      tags:
      - pressMedia
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of Press/Media content
      operationId: pressmedia_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /pressmedia/file-uploads:
    put:
      tags:
      - pressMedia
      summary: Upload file to a specific Press/Media
      description: Uploads file for the Press/Media with the specified UUID.
      operationId: pressmedia_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /pressmedia/orderings:
    get:
      tags:
      - pressMedia
      summary: Lists available orderings
      description: Lists all orderings available to the Press/Media endpoint. These
        values can be used by the order parameter.
      operationId: pressmedia_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /pressmedia/search:
    post:
      tags:
      - pressMedia
      summary: Query operation for Press/Media content
      description: "Lists Press/Media content in the Pure instance that matches the\
        \ provided query. similar to the GET version, instead of using parameters\
        \ to alter the response, an JSON document is posted with the request. The\
        \ JSON document contains fields for all the parameters available for the GET\
        \ version, but also additional filtering options."
      operationId: pressmedia_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PressMediaQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PressMediaListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /pressmedia/{uuid}:
    get:
      tags:
      - pressMedia
      summary: Get specific Press/Media
      description: Get Press/Media with specific UUID.
      operationId: pressmedia_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired Press/Media
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PressMedia"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - pressMedia
      summary: Update Press/Media
      description: Update Press/Media with specific UUID.
      operationId: pressmedia_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the Press/Media to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PressMedia"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PressMedia"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - pressMedia
      summary: Delete specific Press/Media
      description: Delete Press/Media content with specific UUID.
      operationId: pressmedia_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the Press/Media
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /pressmedia/{uuid}/actions/lock:
    post:
      tags:
      - pressMedia
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: pressmedia_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /pressmedia/{uuid}/actions/unlock:
    post:
      tags:
      - pressMedia
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: pressmedia_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /pressmedia/{uuid}/files/{fileId}:
    get:
      tags:
      - pressMedia
      summary: Get file related to Press/Media
      description: Get file related to Press/Media
      operationId: pressmedia_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the Press/Media
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /pressmedia/{uuid}/notes:
    get:
      tags:
      - pressMedia
      summary: Lists notes
      description: Lists notes associated with a specific Press/Media ordered by date
        (nulls last)
      operationId: pressmedia_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the Press/Media to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Press/Media not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - pressMedia
      summary: Create note
      description: Create note and associate it with a piece of Press/Media
      operationId: pressmedia_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the Press/Media to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes:
    get:
      tags:
      - prize
      summary: Lists all prizes
      description: "Lists all prizes in the Pure instance. If you need to filter the\
        \ prizes returned, see the POST version which supports additional filtering."
      operationId: prize_list
      parameters:
      - name: size
        in: query
        description: Number of returned prizes per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /prizes/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PrizeListResult"
    put:
      tags:
      - prize
      summary: Create prize
      description: Create prize
      operationId: prize_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Prize"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prize"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes/allowed-categories:
    get:
      tags:
      - prize
      summary: A list of allowed classifications for the category property
      description: Get a list of classifications that can be used when submitting
        a category.
      operationId: prize_getAllowedCategories
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-classified-identifier-types:
    get:
      tags:
      - prize
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of prizes
      operationId: prize_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - prize
      summary: Get allowed classifications for the custom-defined field associated
        with the prize
      description: Get allowed classifications for the custom-defined field associated
        with the prize.
      operationId: prize_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes/allowed-degree-of-recognitions:
    get:
      tags:
      - prize
      summary: A list of allowed classifications for the degree of recognition
      description: Get a list of classifications that can be used when submitting
        a degree of recognition.
      operationId: prize_getAllowedDegreeOfRecognitions
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-description-types:
    get:
      tags:
      - prize
      summary: A list of allowed classifications for the descriptions property
      description: Get a list of classifications that can be used when submitting
        a description.
      operationId: prize_getAllowedDescriptionsTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-document-licenses:
    get:
      tags:
      - prize
      summary: A list of allowed document licenses
      description: Get a list of allowed license types that can be used for the 'documents.license'
        attribute of prizes
      operationId: prize_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-document-types:
    get:
      tags:
      - prize
      summary: A list of allowed document types
      description: Get a list of allowed license types that can be used for the 'documents.type'
        attribute of prizes
      operationId: prize_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-image-types:
    get:
      tags:
      - prize
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of the prize.
      operationId: prize_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-keyword-group-configurations:
    get:
      tags:
      - prize
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: prize_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /prizes/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - prize
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: prize_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-link-types:
    get:
      tags:
      - prize
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of prizes
      operationId: prize_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-locales:
    get:
      tags:
      - prize
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: prize_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /prizes/allowed-receivers-of-prize-roles:
    get:
      tags:
      - prize
      summary: A list of allowed receiver of prize roles
      description: Get a list of allowed receiver of prize roles that can be used
        for the 'receiversOfPrize.role' attribute of the prize.
      operationId: prize_getAllowedReceiversOfPrizeRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-types:
    get:
      tags:
      - prize
      summary: A list of allowed classifications for the type property
      description: Get a list of classifications that can be used when submitting
        a type.
      operationId: prize_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /prizes/allowed-workflow-steps:
    get:
      tags:
      - prize
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of prizes
      operationId: prize_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /prizes/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - prize
      summary: A list of allowed discipline schemes
      description: Get a list of allowed discipline schemes for prizes
      operationId: prize_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /prizes/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - prize
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for prizes
      operationId: prize_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for prizes
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /prizes/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - prize
      summary: Query operation for disciplines associated with prizes
      description: Lists disciplines from the discipline scheme associated with prizes
        in the Pure instance that matches the provided query.
      operationId: prize_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes/file-uploads:
    put:
      tags:
      - prize
      summary: Upload file for a specific prize
      description: Uploads file for the prize
      operationId: prize_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /prizes/orderings:
    get:
      tags:
      - prize
      summary: Lists available orderings
      description: Lists all orderings available to the prizes endpoint. These values
        can be used by the order parameter when listing prizes.
      operationId: prize_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /prizes/search:
    post:
      tags:
      - prize
      summary: Query operation for prizes
      description: "Lists prizes in the Pure instance that matches the provided query,\
        \ similar to the GET version, instead of using parameters to alter the response,\
        \ an JSON document is posted with the request. The JSON document contains\
        \ fields for all the parameters available for the GET version, but also additional\
        \ filtering options."
      operationId: prize_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PrizesQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PrizeListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes/{uuid}:
    get:
      tags:
      - prize
      summary: Get prize
      description: Get prize with specific UUID.
      operationId: prize_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired prize
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prize"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - prize
      summary: Update prize
      description: Update prize with specific UUID.
      operationId: prize_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Prize"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prize"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - prize
      summary: Delete prize
      description: Delete prize with specific UUID.
      operationId: prize_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /prizes/{uuid}/actions/lock:
    post:
      tags:
      - prize
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: prize_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /prizes/{uuid}/actions/unlock:
    post:
      tags:
      - prize
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: prize_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /prizes/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - prize
      summary: Get disciplines from the discipline scheme associated with the prize
      description: Get disciplines from the discipline scheme associated with the
        prize with specific UUID.
      operationId: prize_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired prize
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - prize
      summary: Update disciplines from the discipline scheme associated with the prize
      description: Update disciplines from the discipline scheme associated with the
        prize with specific UUID.
      operationId: prize_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /prizes/{uuid}/files/{fileId}:
    get:
      tags:
      - prize
      summary: Get file from the prize
      description: Get file from the prize
      operationId: prize_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /prizes/{uuid}/notes:
    get:
      tags:
      - prize
      summary: Lists notes
      description: Lists notes associated with a prize ordered by date (nulls last)
      operationId: prize_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: prize not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - prize
      summary: Create note
      description: Create note and associate it with a prize
      operationId: prize_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the prize to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects:
    get:
      tags:
      - project
      summary: Lists all projects
      description: "Lists all projects in the Pure instance. If you need to filter\
        \ the projects returned, see the POST version which supports additional filtering."
      operationId: project_list
      parameters:
      - name: size
        in: query
        description: Number of returned projects per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from project_getOrderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectListResult"
    put:
      tags:
      - project
      summary: Create project
      description: Create project
      operationId: project_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Project"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/allowed-classified-identifier-types:
    get:
      tags:
      - project
      summary: A list of allowed classified identifier types
      description: Get a list of allowed classified identifier types that can be used
        for the 'identifiers.type' attribute of projects
      operationId: project_getAllowedClassifiedIdentifierTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-collaborator-types:
    get:
      tags:
      - project
      summary: A list of allowed collaborator types
      description: Get a list of allowed types for collaborators on projects
      operationId: project_getAllowedCollaboratorTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-custom-defined-field-values/{propertyName}/classifications:
    get:
      tags:
      - project
      summary: Get allowed classifications for the custom-defined field associated
        with the project
      description: Get allowed classifications for the custom-defined field associated
        with the project.
      operationId: project_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: propertyName
        in: path
        description: PropertyName for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/allowed-description-types:
    get:
      tags:
      - project
      summary: A list of allowed description types
      description: Get a list of allowed types for descriptions on projects
      operationId: project_getAllowedDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-document-licenses:
    get:
      tags:
      - project
      summary: A list of allowed document licenses
      description: Get a list of allowed document licenses for projects
      operationId: project_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-document-types:
    get:
      tags:
      - project
      summary: A list of allowed document types
      description: Get a list of allowed types for documents on projects
      operationId: project_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-image-types:
    get:
      tags:
      - project
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of projects
      operationId: project_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-keyword-group-configurations:
    get:
      tags:
      - project
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: project_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /projects/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - project
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: project_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-link-types:
    get:
      tags:
      - project
      summary: A list of allowed link types
      description: Get a list of allowed link types that can be used for the 'links.linkType'
        attribute of projects
      operationId: project_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-locales:
    get:
      tags:
      - project
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: project_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /projects/allowed-nature-types:
    get:
      tags:
      - project
      summary: A list of allowed nature types
      description: Get a list of allowed nature types for projects
      operationId: project_getAllowedNatureTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-participant-roles:
    get:
      tags:
      - project
      summary: A list of allowed participant roles
      description: Get a list of allowed roles for participant on projects
      operationId: project_getAllowedParticipantRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-project-relation-types:
    get:
      tags:
      - project
      summary: A list of allowed project relation types
      description: Get a list of allowed project relation types on projects
      operationId: project_getAllowedProjectRelationTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-templates:
    get:
      tags:
      - project
      summary: A list of allowed project templates
      description: Get a list of allowed templates that can be used for projects.
        Some of the templates that exists in the API specification may be disabled
        for the Pure installation.
      operationId: project_getAllowedTemplates
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedTemplateListResult"
  /projects/allowed-types:
    get:
      tags:
      - project
      summary: A list of allowed project types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of projects
      operationId: project_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /projects/allowed-workflow-steps:
    get:
      tags:
      - project
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of projects
      operationId: project_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /projects/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - project
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for projects
      operationId: project_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /projects/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - project
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for projects
      operationId: project_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for project
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /projects/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - project
      summary: Query operation for disciplines associated with projects
      description: Lists disciplines from the discipline scheme associated with projects
        in the Pure instance that matches the provided query.
      operationId: project_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/file-uploads:
    put:
      tags:
      - project
      summary: Upload file to a specific project
      description: Uploads file for the project
      operationId: project_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /projects/orderings:
    get:
      tags:
      - project
      summary: Lists available orderings
      description: Lists all orderings available to the project endpoint. These values
        can be used by the order parameter.
      operationId: project_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /projects/search:
    post:
      tags:
      - project
      summary: Query operation for projects
      description: "Lists projects in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: project_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProjectsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProjectListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/{uuid}:
    get:
      tags:
      - project
      summary: Get project
      description: Get project with specific UUID.
      operationId: project_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - project
      summary: Update project
      description: Update project with specific UUID.
      operationId: project_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the project to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Project"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Project"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - project
      summary: Delete project
      description: Delete project with specific UUID.
      operationId: project_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /projects/{uuid}/actions/lock:
    post:
      tags:
      - project
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: project_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /projects/{uuid}/actions/unlock:
    post:
      tags:
      - project
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: project_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /projects/{uuid}/application-clusters:
    get:
      tags:
      - project
      summary: Get the application clusters for the project
      description: Get the application clusters for the project with the specified
        UUID.
      operationId: project_getApplicationClusters
      parameters:
      - name: uuid
        in: path
        description: UUID of the project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationClusterListResult"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/{uuid}/award-clusters:
    get:
      tags:
      - project
      summary: Get the award clusters for the project
      description: Get the award clusters for the project with the specified UUID.
      operationId: project_getAwardClusters
      parameters:
      - name: uuid
        in: path
        description: UUID of the project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AwardClusterListResult"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/{uuid}/dependents:
    get:
      tags:
      - project
      summary: Lists all dependents to an project
      description: "Lists all dependents to an project with the specified UUID. If\
        \ the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: project_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. Use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /projects/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - project
      summary: Get disciplines from the discipline scheme associated with the project
      description: Get disciplines from the discipline scheme associated with the
        project with specific UUID.
      operationId: project_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - project
      summary: Update disciplines from the discipline scheme associated with the project
      description: Update disciplines from the discipline scheme associated with the
        project with specific UUID.
      operationId: project_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the project to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /projects/{uuid}/files/{fileId}:
    get:
      tags:
      - project
      summary: Get file from the project
      description: Get file from the project
      operationId: project_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the project
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /projects/{uuid}/notes:
    get:
      tags:
      - project
      summary: Lists notes
      description: Lists notes associated with an project ordered by date (nulls last)
      operationId: project_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the project to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Project not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - project
      summary: Create note
      description: Create note and associate it with the project
      operationId: project_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the project to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /publishers:
    get:
      tags:
      - publisher
      summary: Lists all publishers
      description: "Lists all publishers in the Pure instance. If you need to filter\
        \ the publishers returned, see the POST version which supports additional\
        \ filtering."
      operationId: publisher_list
      parameters:
      - name: size
        in: query
        description: Number of returned publishers per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /publishers/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PublisherListResult"
    put:
      tags:
      - publisher
      summary: Create publisher
      description: Create publisher
      operationId: publisher_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Publisher"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Publisher"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /publishers/allowed-countries:
    get:
      tags:
      - publisher
      summary: A list of allowed countries
      description: Get a list of allowed countries that can be used for the 'countries'
        attribute of publishers
      operationId: publishers_getAllowedCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /publishers/allowed-keyword-group-configurations:
    get:
      tags:
      - publisher
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: publisher_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /publishers/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - publisher
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: publisher_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /publishers/allowed-locales:
    get:
      tags:
      - publisher
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: publisher_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /publishers/allowed-types:
    get:
      tags:
      - publisher
      summary: A list of allowed publisher types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of publishers
      operationId: publisher_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /publishers/allowed-workflow-steps:
    get:
      tags:
      - publisher
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of publishers
      operationId: publisher_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /publishers/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - publisher
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for publishers
      operationId: publisher_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /publishers/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - publisher
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for publishers
      operationId: publisher_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for publishers
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /publishers/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - publisher
      summary: Query operation for disciplines associated with publishers
      description: Lists disciplines from the discipline scheme associated with publishers
        in the Pure instance that matches the provided query.
      operationId: publisher_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /publishers/orderings:
    get:
      tags:
      - publisher
      summary: Lists available orderings
      description: Lists all orderings available to the publisher endpoint. These
        values can be used by the order parameter.
      operationId: publisher_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /publishers/search:
    post:
      tags:
      - publisher
      summary: Query operation for publishers
      description: "Lists publishers in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: publisher_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PublishersQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PublisherListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /publishers/{uuid}:
    get:
      tags:
      - publisher
      summary: Get publisher
      description: Get publisher with specific UUID.
      operationId: publisher_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired publisher
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Publisher"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - publisher
      summary: Update publishers
      description: Update publishers with specific UUID.
      operationId: publisher_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Publisher"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Publisher"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - publisher
      summary: Delete publisher
      description: Delete publisher with specific UUID.
      operationId: publisher_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /publishers/{uuid}/actions/lock:
    post:
      tags:
      - publisher
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: publisher_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /publishers/{uuid}/actions/unlock:
    post:
      tags:
      - publisher
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: publisher_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /publishers/{uuid}/dependents:
    get:
      tags:
      - publisher
      summary: Lists all dependents to a publisher
      description: "Lists all dependents to a publisher with the specified UUID. If\
        \ the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: publisher_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /publishers/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - publisher
      summary: Get disciplines from the discipline scheme associated with the publisher
      description: Get disciplines from the discipline scheme associated with the
        publisher with specific UUID.
      operationId: publisher_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired publisher
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - publisher
      summary: Update disciplines from the discipline scheme associated with the publisher
      description: Update disciplines from the discipline scheme associated with the
        publisher with specific UUID.
      operationId: publisher_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /publishers/{uuid}/notes:
    get:
      tags:
      - publisher
      summary: Lists notes
      description: Lists notes associated with a publisher ordered by date (nulls
        last)
      operationId: publisher_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Publisher not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - publisher
      summary: Create note
      description: Create note and associate it with a publisher
      operationId: publisher_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the publisher to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs:
    get:
      tags:
      - researchOutput
      summary: Lists all  research outputs
      description: "Lists all  research outputs in the Pure instance. If you need\
        \ to filter the research outputs returned, see the POST version which supports\
        \ additional filtering."
      operationId: researchOutput_list
      parameters:
      - name: size
        in: query
        description: Number of returned  research outputs per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /research-outputs/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutputListResult"
    put:
      tags:
      - researchOutput
      summary: Create research output
      description: Create research output
      operationId: researchOutput_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ResearchOutput"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutput"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/allowed-additional-file-access-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed access types
      description: Get a list of allowed access types for additional files on research
        outputs
      operationId: researchoutput_getAllowedAdditionalFileAccessTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-additional-file-license-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed license types
      description: Get a list of allowed license types for additional files on research
        outputs
      operationId: researchoutput_getAllowedAdditionalFileLicenseTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-article-processing-charge-currencies:
    get:
      tags:
      - researchOutput
      summary: A list of allowed article processing charge currencies
      description: Get a list of allowed article processing charge currencies on research
        outputs
      operationId: researchoutput_getAllowedArticleProcessingChargeCurrencies
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-book-anthology-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the book anthology subtype
      description: Get a list of allowed roles for contributors on the book anthology
        subtype of research outputs
      operationId: researchoutput_getAllowedBookAnthologyContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-book-anthology-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the book anthology subtype
      description: Get a list of allowed description types on the book anthology subtype
        of research outputs
      operationId: researchoutput_getAllowedBookAnthologyDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-case-note-sources:
    get:
      tags:
      - researchOutput
      summary: A list of allowed case note sources
      description: Get a list of allowed case note sources for select subtypes of
        research outputs
      operationId: researchoutput_getAllowedCaseNoteSources
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-categories:
    get:
      tags:
      - researchOutput
      summary: A list of allowed categories
      description: Get a list of allowed categories on research outputs
      operationId: researchoutput_getAllowedCategories
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-book-anthology-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the contribution to book anthology
        subtype
      description: Get a list of allowed roles for contributors on the contribution
        to book anthology subtype of research outputs
      operationId: researchoutput_getAllowedContributionToBookAnthologyContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-book-anthology-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the contribution to book anthology
        subtype
      description: Get a list of allowed description types on the contribution to
        book anthology subtype of research outputs
      operationId: researchoutput_getAllowedContributionToBookAnthologyDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-conference-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the contribution to conference
        subtype
      description: Get a list of allowed roles for contributors on the contribution
        to conference subtype of research outputs
      operationId: researchoutput_getAllowedContributionToConferenceContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-conference-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the contribution to conference
        subtype
      description: Get a list of allowed description types on the contribution to
        conference subtype of research outputs
      operationId: researchoutput_getAllowedContributionToConferenceDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-journal-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the contribution to journal
        subtype
      description: Get a list of allowed roles for contributors on the contribution
        to journal subtype of research outputs
      operationId: researchoutput_getAllowedContributionToJournalContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-journal-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the contribution to journal
        subtype
      description: Get a list of allowed description types on the contribution to
        journal subtype of research outputs
      operationId: researchoutput_getAllowedContributionToJournalDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-memorandum-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the contribution to memorandum
        subtype
      description: Get a list of allowed roles for contributors on the contribution
        to memorandum subtype of research outputs
      operationId: researchoutput_getAllowedContributionToMemorandumContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-memorandum-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the contribution to memorandum
        subtype
      description: Get a list of allowed description types on the contribution to
        memorandum subtype of research outputs
      operationId: researchoutput_getAllowedContributionToMemorandumDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-periodical-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the contribution to periodical
        subtype
      description: Get a list of allowed roles for contributors on the contribution
        to periodical subtype of research outputs
      operationId: researchoutput_getAllowedContributionToPeriodicalContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contribution-to-periodical-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the contribution to periodical
        subtype
      description: Get a list of allowed description types on the contribution to
        periodical subtype of research outputs
      operationId: researchoutput_getAllowedContributionToPeriodicalDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-contributor-countries:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor countries
      description: Get a list of allowed countries for contributors on research outputs
      operationId: researchoutput_getAllowedContributorCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-countries:
    get:
      tags:
      - researchOutput
      summary: A list of allowed countries
      description: Get a list of allowed countries that can be used for the 'countries'
        attribute of research outputs
      operationId: researchOutput_getAllowedCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-custom-defined-field-values/{fieldIdentifer}/classifications:
    get:
      tags:
      - researchOutput
      summary: Get allowed classifications for the custom-defined field associated
        with the research output
      description: Get allowed classifications for the custom-defined field associated
        with the research output.
      operationId: researchOutput_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: fieldIdentifer
        in: path
        description: FieldIdentifer for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/allowed-electronic-version-access-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed access types
      description: Get a list of allowed access types for electronic versions on research
        outputs
      operationId: researchoutput_getAllowedElectronicVersionAccessTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-electronic-version-license-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed license types
      description: Get a list of allowed license types for electronic versions on
        research outputs
      operationId: researchoutput_getAllowedElectronicVersionLicenseTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-electronic-version-version-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed version types
      description: Get a list of allowed version types for electronic versions on
        research outputs
      operationId: researchoutput_getAllowedElectronicVersionVersionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-image-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of research output
      operationId: researchOutput_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-keyword-group-configurations:
    get:
      tags:
      - researchOutput
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: researchOutput_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /research-outputs/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - researchOutput
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: researchOutput_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-languages:
    get:
      tags:
      - researchOutput
      summary: A list of allowed languages
      description: Get a list of allowed languages on research outputs
      operationId: researchoutput_getAllowedLanguages
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-link-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed link types
      description: Get a list of allowed link types on research outputs
      operationId: researchoutput_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-locales:
    get:
      tags:
      - researchOutput
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: researchOutput_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /research-outputs/allowed-main-research-areas:
    get:
      tags:
      - researchOutput
      summary: A list of allowed main research areas
      description: Get a list of allowed main research areas on research outputs
      operationId: researchoutput_getAllowedMainResearchAreas
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-memorandum-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the memorandum subtype
      description: Get a list of allowed roles for contributors on the memorandum
        subtype of research outputs
      operationId: researchoutput_getAllowedMemorandumContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-memorandum-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the memorandum subtype
      description: Get a list of allowed description types on the memorandum subtype
        of research outputs
      operationId: researchoutput_getAllowedMemorandumDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-metric-collections:
    get:
      tags:
      - researchOutput
      summary: A list of allowed metric collections
      description: Get a list of metric collections allowed on research outputs
      operationId: researchoutput_getAllowedMetricCollections
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollectionDefinitionList"
  /research-outputs/allowed-non-textual-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the non-textual subtype
      description: Get a list of allowed roles for contributors on the non-textual
        subtype of research outputs
      operationId: researchoutput_getAllowedNonTextualContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-non-textual-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the non-textual subtype
      description: Get a list of allowed description types on the non-textual subtype
        of research outputs
      operationId: researchoutput_getAllowedNonTextualDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-other-contribution-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the other contribution subtype
      description: Get a list of allowed roles for contributors on the other contribution
        subtype of research outputs
      operationId: researchoutput_getAllowedOtherContributionContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-other-contribution-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the other contribution subtype
      description: Get a list of allowed description types on the other contribution
        subtype of research outputs
      operationId: researchoutput_getAllowedOtherContributionDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-output-medias:
    get:
      tags:
      - researchOutput
      summary: A list of allowed output medias
      description: Get a list of allowed output medias for the non-textual subtype
        of research outputs
      operationId: researchoutput_getAllowedOutputMedias
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-patent-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the patent subtype
      description: Get a list of allowed roles for contributors on the patent subtype
        of research outputs
      operationId: researchoutput_getAllowedPatentContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-patent-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the patent subtype
      description: Get a list of allowed description types on the patent subtype of
        research outputs
      operationId: researchoutput_getAllowedPatentDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-peer-review-configurations:
    get:
      tags:
      - researchOutput
      summary: A list of peer review configurations
      description: "Get a list of peer review configurations that describe the allowed\
        \ combinations of values for the interrelated fields: type, category, peerReview,\
        \ and internationalPeerReview"
      operationId: researchOutput_getAllowedPeerReviewConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutputPeerReviewConfigurationListResult"
  /research-outputs/allowed-publication-statuses:
    get:
      tags:
      - researchOutput
      summary: A list of allowed publication statuses
      description: Get a list of allowed publication statuses on research output
      operationId: researchoutput_getAllowedPublicationStatuses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-qualifications:
    get:
      tags:
      - researchOutput
      summary: A list of allowed qualifications
      description: Get a list of allowed qualifications for the thesis subtype of
        research outputs
      operationId: researchoutput_getAllowedQualifications
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-supervisor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed supervisor roles
      description: Get a list of allowed supervisors roles for the thesis subtype
        of research outputs
      operationId: researchoutput_getAllowedSupervisorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-templates:
    get:
      tags:
      - researchOutput
      summary: A list of allowed research output templates
      description: "Get a list of allowed templates that can be used for research\
        \ outputs, such as 'ContributionToJournal' or 'BookAnthology'. Some of the\
        \ templates that exists in the API specification may be disabled for the Pure\
        \ installation."
      operationId: researchOutput_getAllowedTemplates
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedTemplateListResult"
  /research-outputs/allowed-thesis-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the thesis subtype
      description: Get a list of allowed roles for contributors on the thesis subtype
        of research outputs
      operationId: researchoutput_getAllowedThesisContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-thesis-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the thesis subtype
      description: Get a list of allowed description types on the thesis subtype of
        research outputs
      operationId: researchoutput_getAllowedThesisDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed research output types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of research outputs
      operationId: researchOutput_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-workflow-steps:
    get:
      tags:
      - researchOutput
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of research outputs
      operationId: researchOutput_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /research-outputs/allowed-working-paper-contributor-roles:
    get:
      tags:
      - researchOutput
      summary: A list of allowed contributor roles for the working paper subtype
      description: Get a list of allowed roles for contributors on the working paper
        subtype of research outputs
      operationId: researchoutput_getAllowedWorkingPaperContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/allowed-working-paper-description-types:
    get:
      tags:
      - researchOutput
      summary: A list of allowed description types for the working paper subtype
      description: Get a list of allowed description types on the working paper subtype
        of research outputs
      operationId: researchoutput_getAllowedWorkingPaperDescriptionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /research-outputs/disciplines/allowed-discipline-schemes:
    get:
      tags:
      - researchOutput
      summary: A list of allowed discipline schemes
      description: Get a list fo a allowed discipline schemes for research outputs
      operationId: researchoutput_getAllowedDisciplineSchemes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineSchemeListResult"
  /research-outputs/disciplines/{discipline-scheme}/allowed-disciplines:
    get:
      tags:
      - researchOutput
      summary: A list of allowed disciplines for a specific discipline scheme
      description: Get a list of a allowed disciplines for specific discipline scheme
        for research outputs
      operationId: researchoutput_getAllowedDisciplines
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme for research output
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Number of returned disciplines per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesDisciplineListResult"
  /research-outputs/disciplines/{discipline-scheme}/search:
    post:
      tags:
      - researchOutput
      summary: Query operation for disciplines associated with research outputs
      description: Lists disciplines from the discipline scheme associated with research
        outputs in the Pure instance that matches the provided query.
      operationId: researchOutput_listDisciplineAssociations
      parameters:
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociationsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociationListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/file-uploads:
    put:
      tags:
      - researchOutput
      summary: Upload file to a specific research output
      description: Uploads file for the research output
      operationId: researchOutput_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /research-outputs/orderings:
    get:
      tags:
      - researchOutput
      summary: Lists available orderings
      description: Lists all orderings available to the research output endpoint.
        These values can be used by the order parameter.
      operationId: researchOutput_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /research-outputs/search:
    post:
      tags:
      - researchOutput
      summary: Query operation for research outputs
      description: "Lists research outputs in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: researchOutput_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ResearchOutputsQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutputListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/{uuid}:
    get:
      tags:
      - researchOutput
      summary: Get research output
      description: Get research output with specific UUID.
      operationId: researchOutput_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired research output
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutput"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - researchOutput
      summary: Update research output
      description: Update research output with specific UUID.
      operationId: researchOutput_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ResearchOutput"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResearchOutput"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - researchOutput
      summary: Delete research output
      description: Delete research output with specific UUID.
      operationId: researchOutput_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /research-outputs/{uuid}/actions/lock:
    post:
      tags:
      - researchOutput
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: researchOutput_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /research-outputs/{uuid}/actions/unlock:
    post:
      tags:
      - researchOutput
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: researchOutput_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /research-outputs/{uuid}/dependents:
    get:
      tags:
      - researchOutput
      summary: Lists all dependents to a research output
      description: "Lists all dependents to a research output with the specified UUID.\
        \ If the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: researchOutput_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /research-outputs/{uuid}/disciplines/{discipline-scheme}:
    get:
      tags:
      - researchOutput
      summary: Get disciplinesfrom the discipline scheme associated with the research
        output
      description: Get disciplines from the discipline scheme associated with the
        research output with specific UUID.
      operationId: researchoutput_getDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired research output
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - researchOutput
      summary: Update disciplines from the discipline scheme associated with the research
        output
      description: Update disciplines from the discipline scheme associated with the
        research output with specific UUID.
      operationId: researchOutput_putDisciplineAssociation
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: discipline-scheme
        in: path
        description: Identifier for the discipline scheme
        required: true
        schema:
          type: string
      requestBody:
        description: The disciplines association to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DisciplinesAssociation"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisciplinesAssociation"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/{uuid}/files/{fileId}:
    get:
      tags:
      - researchOutput
      summary: Get file from the research output
      description: Get file from the research output
      operationId: researchOutput_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /research-outputs/{uuid}/metrics/{collection-id}:
    get:
      tags:
      - researchOutput
      summary: Lists metrics with collection id
      description: Lists metrics from a specific metrics collection that associated
        with a research output.
      operationId: researchOutput_listMetricsFromCollection
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: collection-id
        in: path
        description: ID of the metrics collection to get metrics for
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetricCollection"
        "404":
          description: Research output or metrics collection not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /research-outputs/{uuid}/notes:
    get:
      tags:
      - researchOutput
      summary: Lists notes
      description: Lists notes associated with a research output ordered by date (nulls
        last)
      operationId: researchOutput_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: Research output not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - researchOutput
      summary: Create note
      description: Create note and associate it with a research output
      operationId: researchOutput_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the research output to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /roles:
    get:
      tags:
      - role
      summary: Lists all assignable roles
      description: Lists all assignable roles that are currently available
      operationId: role_get_assignable_roles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/AssignableRole"
  /roles/{assignableRoleName}:
    get:
      tags:
      - role
      summary: Returns an assignable role
      description: Returns an assignable role if it is currently available
      operationId: role_get_assignable_role
      parameters:
      - name: assignableRoleName
        in: path
        description: Get assignable role from assignable role name.
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AssignableRole"
  /student-theses:
    get:
      tags:
      - studentThesis
      summary: Lists all  student theses
      description: "Lists all  student theses in the Pure instance. If you need to\
        \ filter the student theses returned, see the POST version which supports\
        \ additional filtering."
      operationId: studentThesis_list
      parameters:
      - name: size
        in: query
        description: Number of returned  student theses per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /student-theses/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StudentThesisListResult"
    put:
      tags:
      - studentThesis
      summary: Create student thesis
      description: Create student thesis
      operationId: studentThesis_create
      requestBody:
        description: The content to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StudentThesis"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StudentThesis"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /student-theses/allowed-contributor-countries:
    get:
      tags:
      - studentThesis
      summary: A list of allowed contributor countries for student theses
      description: Get a list of allowed countries for contributors of student theses
      operationId: studentthesis_getAllowedContributorCountries
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-contributor-roles:
    get:
      tags:
      - studentThesis
      summary: A list of allowed contributor roles for student theses
      description: Get a list of allowed roles for contributors of student theses
      operationId: studentthesis_getAllowedContributorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-custom-defined-field-values/{fieldIdentifer}/classifications:
    get:
      tags:
      - studentThesis
      summary: Get allowed classifications for the custom-defined field associated
        with the student thesis
      description: Get allowed classifications for the custom-defined field associated
        with the student theses.
      operationId: studentThesis_getAllowedCustomDefinedFieldClassifications
      parameters:
      - name: fieldIdentifer
        in: path
        description: FieldIdentifer for the desired custom-defined field
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /student-theses/allowed-document-embargo-reasons:
    get:
      tags:
      - studentThesis
      summary: A list of allowed document embargo reasons
      description: Get a list of allowed document embargo reasons that can be used
        for student theses
      operationId: studentThesis_getAllowedDocumentEmbargoReasons
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-document-license-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed document license types
      description: Get a list of allowed document license types that can be used for
        student these
      operationId: studentThesis_getAllowedDocumentLicenses
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-document-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed document types
      description: Get a list of allowed document types that can be used for student
        these
      operationId: studentThesis_getAllowedDocumentTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-document-version-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed document version types
      description: Get a list of allowed document version types that can be used for
        student these
      operationId: studentThesis_getAllowedDocumentVersionTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-image-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed image types
      description: Get a list of allowed image types that can be used for the 'images.type'
        attribute of student thesis
      operationId: studentThesis_getAllowedImageTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-keyword-group-configurations:
    get:
      tags:
      - studentThesis
      summary: A list of keyword group configurations
      description: Get a list of allowed keyword group configurations that can be
        used when submitting keyword groups.
      operationId: studentThesis_getAllowedKeywordGroupConfigurations
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AllowedKeywordGroupConfigurationList"
  /student-theses/allowed-keyword-group-configurations/{id}/classifications:
    get:
      tags:
      - studentThesis
      summary: A list of allowed classifications for the specified keyword group
      description: Get a list of allowed classifications that can be used when submitting
        a specified keyword group.
      operationId: studentThesis_getAllowedKeywordGroupConfigurationClassifications
      parameters:
      - name: id
        in: path
        description: Pure id of the keyword group configuration
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-languages:
    get:
      tags:
      - studentThesis
      summary: A list of allowed languages
      description: Get a list of allowed languages on student theses
      operationId: studentthesis_getAllowedLanguages
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-link-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed link types
      description: Get a list of allowed link types on student theses
      operationId: studentthesis_getAllowedLinkTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-locales:
    get:
      tags:
      - studentThesis
      summary: A list of allowed locales in localized strings
      description: Get a list of allowed locales that can be used when submitting
        localized string entities.
      operationId: studentThesis_getAllowedLocales
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocalesList"
  /student-theses/allowed-supervisor-roles:
    get:
      tags:
      - studentThesis
      summary: A list of allowed supervisor roles
      description: Get a list of allowed supervisors roles for student theses
      operationId: studentthesis_getAllowedSupervisorRoles
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-types:
    get:
      tags:
      - studentThesis
      summary: A list of allowed student thesis types
      description: Get a list of allowed types that can be used for the 'type' attribute
        of student theses
      operationId: studentThesis_getAllowedTypes
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClassificationRefList"
  /student-theses/allowed-workflow-steps:
    get:
      tags:
      - studentThesis
      summary: A list of allowed workflow steps
      description: Get a list of allowed workflow steps that can be used for the 'workflow'
        attribute of student theses
      operationId: studentThesis_getAllowedWorkflowSteps
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WorkflowListResult"
  /student-theses/file-uploads:
    put:
      tags:
      - studentThesis
      summary: Upload file to a specific student thesis
      description: Uploads file for the student thesis
      operationId: studentThesis_fileUploads
      parameters:
      - name: Content-Type
        in: header
        description: Set the mime type for the file
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              format: binary
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UploadedFile"
            application/xml:
              schema:
                $ref: "#/components/schemas/UploadedFile"
  /student-theses/orderings:
    get:
      tags:
      - studentThesis
      summary: Lists available orderings
      description: Lists all orderings available to the student thesis endpoint. These
        values can be used by the order parameter.
      operationId: studentThesis_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /student-theses/search:
    post:
      tags:
      - studentThesis
      summary: Query operation for student theses
      description: "Lists student theses in the Pure instance that matches the provided\
        \ query, similar to the GET version, instead of using parameters to alter\
        \ the response, an JSON document is posted with the request. The JSON document\
        \ contains fields for all the parameters available for the GET version, but\
        \ also additional filtering options."
      operationId: studentThesis_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StudentThesesQuery"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StudentThesisListResult"
        "400":
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /student-theses/{uuid}:
    get:
      tags:
      - studentThesis
      summary: Get student thesis
      description: Get student thesis with specific UUID.
      operationId: studentThesis_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired student thesis
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StudentThesis"
        "301":
          description: The requested content have changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - studentThesis
      summary: Update student thesis
      description: Update student thesis with specific UUID.
      operationId: studentThesis_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StudentThesis"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StudentThesis"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - studentThesis
      summary: Delete student thesis
      description: Delete student thesis with specific UUID.
      operationId: studentThesis_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /student-theses/{uuid}/actions/lock:
    post:
      tags:
      - studentThesis
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: studentThesis_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /student-theses/{uuid}/actions/unlock:
    post:
      tags:
      - studentThesis
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: studentThesis_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /student-theses/{uuid}/dependents:
    get:
      tags:
      - studentThesis
      summary: Lists all dependents to a student thesis
      description: "Lists all dependents to a student thesis with the specified UUID.\
        \ If the user does not have access to view all the dependent content, an authorization\
        \ error will be thrown. "
      operationId: studentThesis_dependents
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: verbose
        in: query
        description: "Default: false. Setting this to true will add links and names\
          \ to the output but will also have an impact on performance. use with caution."
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContentRefListResult"
  /student-theses/{uuid}/files/{fileId}:
    get:
      tags:
      - studentThesis
      summary: Get file from the student thesis
      description: Get file from the student thesis
      operationId: studentThesis_getFile
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: fileId
        in: path
        description: 'File id '
        required: true
        schema:
          pattern: .+
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /student-theses/{uuid}/notes:
    get:
      tags:
      - studentThesis
      summary: Lists notes
      description: Lists notes associated with a student thesis ordered by date (nulls
        last)
      operationId: studentThesis_listNotes
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis to get notes for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: size
        in: query
        description: Number of returned notes per request
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NoteListResult"
        "404":
          description: student thesis not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - studentThesis
      summary: Create note
      description: Create note and associate it with a student thesis
      operationId: studentThesis_createNote
      parameters:
      - name: uuid
        in: path
        description: UUID of the student thesis to add note to
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The note to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Note"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Note"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /users:
    get:
      tags:
      - user
      summary: Lists all users
      description: Lists all users in the Pure instance.
      operationId: user_list
      parameters:
      - name: size
        in: query
        description: Number of returned users per request.
        schema:
          maximum: 1000
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the
          start
        schema:
          type: integer
          format: int32
          default: 0
      - name: order
        in: query
        description: "The order of the list, must be a value from /users/orderings"
        schema:
          type: string
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserListResult"
    put:
      tags:
      - user
      summary: Create user
      description: Create user
      operationId: user_create
      requestBody:
        description: The user to create
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User"
        required: true
      responses:
        "201":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /users/orderings:
    get:
      tags:
      - user
      summary: Lists available orderings
      description: Lists all orderings available to the user endpoint. These values
        can be used by the order parameter.
      operationId: user_getOrderings
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OrderingsList"
  /users/{uuid}:
    get:
      tags:
      - user
      summary: Get user
      description: Get user with specific UUID.
      operationId: user_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the user
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        "301":
          description: The requested content has changed UUID
        "404":
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
    put:
      tags:
      - user
      summary: Update user
      description: Update user with specific UUID.
      operationId: user_update
      parameters:
      - name: uuid
        in: path
        description: UUID of the user to update
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: The content to update
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
    delete:
      tags:
      - user
      summary: Delete user
      description: Delete user with specific UUID.
      operationId: user_delete
      parameters:
      - name: uuid
        in: path
        description: UUID of the user to delete
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Successful operation
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /users/{uuid}/actions/lock:
    post:
      tags:
      - user
      summary: Lock the content
      description: Mark the content as external (used when content contains synchronised
        data). This has no effect on interactions with the content through the API.
      operationId: user_lock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to lock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as locked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already locked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /users/{uuid}/actions/reset-password:
    post:
      tags:
      - user
      summary: Reset user password
      description: Resets the user's password. Reset password email will be sent to
        the user's email. The token expiry hour defaults to 24 hours.
      operationId: user_resetPassword
      parameters:
      - name: uuid
        in: path
        description: UUID of the user to reset the password for
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      - name: tokenExpiryHours
        in: query
        description: Token expiration in hours. Must be between 1 and 168 hours (1
          week).
        schema:
          type: number
          default: 24
      responses:
        "202":
          description: Accepted
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
  /users/{uuid}/actions/unlock:
    post:
      tags:
      - user
      summary: Unlock the content
      description: Remove the external mark on the content (used when content contains
        synchronised data). This has no effect on interactions with the content through
        the API.
      operationId: user_unlock
      parameters:
      - name: uuid
        in: path
        description: UUID of the content to unlock
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "204":
          description: Content marked as unlocked
        "404":
          description: Resource not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Content already unlocked
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
  /users/{uuid}/roles:
    get:
      tags:
      - user
      summary: Lists all roles of a user
      description: Lists all roles of a user
      operationId: user_get_roles_for_user
      parameters:
      - name: uuid
        in: path
        description: UUID of the user to list the roles of
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserRoles"
    put:
      tags:
      - user
      summary: Updates roles
      description: Applies the supplied roles to a user. Roles not in the request
        will be removed from user
      operationId: user_update_roles_for_user
      parameters:
      - name: uuid
        in: path
        description: UUID of the user to update roles of
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      requestBody:
        description: Complete picture of a users roles
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserRoles"
        required: true
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserRoles"
        "400":
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "403":
          description: User not modifiable or role not assignable
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "404":
          description: User or role not found
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
        "409":
          description: Version conflict
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/ConflictProblemDetails"
components:
  schemas:
    APIStringListResult:
      type: object
      properties:
        items:
          type: array
          items:
            type: string
        count:
          type: integer
          format: int32
    AbstractActivityPersonAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: "An association between an activity and a person, which can either\
        \ be internal or external"
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalActivityPersonAssociation: "#/components/schemas/InternalActivityPersonAssociation"
          ExternalActivityPersonAssociation: "#/components/schemas/ExternalActivityPersonAssociation"
    AbstractApplicantAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        academicOwnershipPercentage:
          maximum: 1
          minimum: 0
          type: number
          description: Academic ownership of the applicant.
          format: double
          nullable: true
        plannedResearcherCommitmentPercentage:
          maximum: 1
          minimum: 0
          type: number
          description: Planned researcher commitment of the applicant.
          format: double
          nullable: true
        researcherCommitments:
          type: array
          description: Planned and actual research commitment for the applicant.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearcherCommitment"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association between an application and a person that has applied
        for it.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalApplicantAssociation: "#/components/schemas/InternalApplicantAssociation"
          ExternalApplicantAssociation: "#/components/schemas/ExternalApplicantAssociation"
    AbstractAwardHolderAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        academicOwnershipPercentage:
          maximum: 1
          minimum: 0
          type: number
          description: Academic ownership of the applicant.
          format: double
          nullable: true
        plannedResearcherCommitmentPercentage:
          maximum: 1
          minimum: 0
          type: number
          description: Planned researcher commitment of the applicant.
          format: double
          nullable: true
        researcherCommitments:
          type: array
          description: Planned and actual research commitment for the applicant.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearcherCommitment"
        period:
          $ref: "#/components/schemas/DateRange"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association between an award and a person that was awarded it.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalAwardHolderAssociation: "#/components/schemas/InternalAwardHolderAssociation"
          ExternalAwardHolderAssociation: "#/components/schemas/ExternalAwardHolderAssociation"
    AbstractContributorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        typeDiscriminator:
          type: string
      description: An association between research output and a person that has contributed
        to it
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalContributorAssociation: "#/components/schemas/InternalContributorAssociation"
          ExternalContributorAssociation: "#/components/schemas/ExternalContributorAssociation"
          AuthorCollaborationContributorAssociation: "#/components/schemas/AuthorCollaborationContributorAssociation"
    AbstractDataSetContributorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        typeDiscriminator:
          type: string
      description: An association between dataset and a contributor
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          DataSetInternalContributorAssociation: "#/components/schemas/DataSetInternalContributorAssociation"
          DataSetExternalContributorAssociation: "#/components/schemas/DataSetExternalContributorAssociation"
          DataSetAuthorCollaborationContributorAssociation: "#/components/schemas/DataSetAuthorCollaborationContributorAssociation"
    AbstractDataSetPersonAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        period:
          $ref: "#/components/schemas/DateRange"
        typeDiscriminator:
          type: string
      description: An association between dataset and a person
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalDataSetPersonAssociation: "#/components/schemas/InternalDataSetPersonAssociation"
          ExternalDataSetPersonAssociation: "#/components/schemas/ExternalDataSetPersonAssociation"
    AbstractEditorialWorkAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        typeDiscriminator:
          type: string
      description: "Association to one and only one of: event, publisher or journal."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          EventEditorialWorkAssociation: "#/components/schemas/EventMembershipAssociation"
          PublisherEditorialWorkAssociation: "#/components/schemas/PublisherEditorialWorkAssociation"
          JournalEditorialWorkAssociation: "#/components/schemas/JournalEditorialWorkAssociation"
    AbstractEquipmentPersonAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association between equipment and a person
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalEquipmentPersonAssociation: "#/components/schemas/InternalEquipmentPersonAssociation"
          ExternalEquipmentPersonAssociation: "#/components/schemas/ExternalEquipmentPersonAssociation"
    AbstractExamineeAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        typeDiscriminator:
          type: string
      description: "An association between examination and an examinee, which can\
        \ either be internal or external"
      nullable: true
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalExamineeAssociation: "#/components/schemas/InternalExamineeAssociation"
          ExternalExamineeAssociation: "#/components/schemas/ExternalExamineeAssociation"
    AbstractParticipantAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        academicOwnershipPercentage:
          type: number
          description: Academic ownership of the participant.
          format: double
          nullable: true
        plannedResearcherCommitmentPercentage:
          type: number
          description: Planned researcher commitment of the participant.
          format: double
          nullable: true
        researcherCommitments:
          type: array
          description: Planned and actual research commitment for the participant.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearcherCommitment"
        period:
          $ref: "#/components/schemas/DateRange"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association for a person that participated in the project.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalParticipantAssociation: "#/components/schemas/InternalParticipantAssociation"
          ExternalParticipantAssociation: "#/components/schemas/ExternalParticipantAssociation"
    AbstractPressMediaPersonAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association between press media and a person
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalPressMediaPersonAssociation: "#/components/schemas/InternalPressMediaPersonAssociation"
          ExternalPressMediaPersonAssociation: "#/components/schemas/ExternalPressMediaPersonAssociation"
    AbstractPrizeReceiverAssociation:
      required:
      - role
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        role:
          $ref: "#/components/schemas/ClassificationRef"
        typeDiscriminator:
          type: string
      description: An association between prize and a receiver of prize
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalPrizeReceiverAssociation: "#/components/schemas/InternalPrizeReceiverAssociation"
          ExternalPrizeReceiverAssociation: "#/components/schemas/ExternalPrizeReceiverAssociation"
    AbstractStudentThesisContributorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        typeDiscriminator:
          type: string
      description: An association between student thesis and a person that has contributed
        to it
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalContributorAssociation: "#/components/schemas/InternalStudentThesisContributorAssociation"
          ExternalContributorAssociation: "#/components/schemas/ExternalStudentThesisContributorAssociation"
    AcademicQualification:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        awardDate:
          type: string
          description: Date that the education was awarded at.
          format: date
          nullable: true
        period:
          $ref: "#/components/schemas/CompoundDateRange"
        fieldOfStudy:
          $ref: "#/components/schemas/ClassificationRef"
        fieldOfStudyUnstructured:
          $ref: "#/components/schemas/LocalizedString"
        organization:
          $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        projectTitle:
          $ref: "#/components/schemas/LocalizedString"
        qualification:
          $ref: "#/components/schemas/ClassificationRef"
        qualificationUnstructured:
          $ref: "#/components/schemas/LocalizedString"
        distinction:
          $ref: "#/components/schemas/ClassificationRef"
        supervisor:
          $ref: "#/components/schemas/InternalOrExternalSupervisor"
      description: An object mapping the data of an education received by a person
    AccessDefinitionRef:
      required:
      - uuid
      type: object
      description: A reference to an access definition
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Account:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        budget:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        classification:
          $ref: "#/components/schemas/ClassificationRef"
        costCenter:
          $ref: "#/components/schemas/ClassificationRef"
        entries:
          type: array
          description: Associated account entries of the account.
          nullable: true
          items:
            $ref: "#/components/schemas/AccountEntry"
        funderContribution:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        recoveryPercentage:
          type: number
          description: The recovery percentage of the budget.
          format: double
          nullable: true
        specification:
          type: string
          description: The specification of the budget.
          nullable: true
        yearlyBudgets:
          type: array
          description: Yearly budgets of the account.
          nullable: true
          items:
            $ref: "#/components/schemas/YearlyBudget"
      description: An account of a budget.
    AccountEntry:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        amount:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        yearMonth:
          $ref: "#/components/schemas/YearMonth"
        commitment:
          type: boolean
          description: Is the entry only a commitment?
      description: An account entry of an account.
    ActivitiesQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for activities
    Activity:
      required:
      - managingOrganization
      - period
      - persons
      - type
      - typeDiscriminator
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        organizations:
          type: array
          description: A collection of organization associations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        persons:
          type: array
          description: A collection of persons.
          items:
            $ref: "#/components/schemas/AbstractActivityPersonAssociation"
        period:
          $ref: "#/components/schemas/CompoundDateRange"
        category:
          $ref: "#/components/schemas/ClassificationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        links:
          type: array
          description: Additional links associated with this activity.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        visibility:
          $ref: "#/components/schemas/Visibility"
        workflow:
          $ref: "#/components/schemas/Workflow"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        identifiers:
          type: array
          description: Identifiers related to the activity.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the research output.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        activities:
          type: array
          description: A collection of related activities.
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityRef"
        pressMedia:
          type: array
          description: A collection of related press media.
          nullable: true
          items:
            $ref: "#/components/schemas/PressMediaRef"
        studentTheses:
          type: array
          description: A collection of related student theses.
          nullable: true
          items:
            $ref: "#/components/schemas/StudentThesisRef"
        researchOutputs:
          type: array
          description: A collection of related research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputRef"
        impacts:
          type: array
          description: A collection of related impacts.
          nullable: true
          items:
            $ref: "#/components/schemas/ImpactRef"
        equipment:
          type: array
          description: A collection of equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentRef"
        degreeOfRecognition:
          $ref: "#/components/schemas/ClassificationRef"
        documents:
          type: array
          description: Associated documents for the activity.
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        descriptions:
          type: array
          description: A collection of descriptions.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        images:
          type: array
          description: Image files with a maximum file size of 1MB.
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        indicators:
          type: array
          description: Indicators for the activity.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        typeDiscriminator:
          type: string
      description: Activities exist in many variations.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          Attendance: "#/components/schemas/Attendance"
          Consultancy: "#/components/schemas/Consultancy"
          EditorialWork: "#/components/schemas/EditorialWork"
          Examination: "#/components/schemas/Examination"
          HostVisitor: "#/components/schemas/HostVisitor"
          Membership: "#/components/schemas/Membership"
          OtherActivity: "#/components/schemas/OtherActivity"
          Talk: "#/components/schemas/Talk"
          VisitOther: "#/components/schemas/VisitOther"
    ActivityAbstractAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        typeDiscriminator:
          type: string
      description: "Association to one and only one of: event, organization or external\
        \ organization."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ActivityEventAssociation: "#/components/schemas/ActivityEventAssociation"
          ActivityOrganizationAssociation: "#/components/schemas/ActivityOrganizationAssociation"
          ActivityExternalOrganizationAssociation: "#/components/schemas/ActivityExternalOrganizationAssociation"
    ActivityAwardableAssociation:
      required:
      - activity
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        activity:
          $ref: "#/components/schemas/ActivityRef"
      description: "A relation to an activity, optionally in the context of the Award\
        \ that made it possible."
    ActivityEventAssociation:
      required:
      - event
      type: object
      description: An association with an event.
      allOf:
      - $ref: "#/components/schemas/ActivityAbstractAssociation"
      - type: object
        properties:
          event:
            $ref: "#/components/schemas/EventRef"
    ActivityExternalOrganizationAssociation:
      required:
      - externalOrganization
      type: object
      description: An association with an external organization.
      allOf:
      - $ref: "#/components/schemas/ActivityAbstractAssociation"
      - type: object
        properties:
          externalOrganization:
            $ref: "#/components/schemas/ExternalOrganizationRef"
    ActivityListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Activity
          items:
            $ref: "#/components/schemas/Activity"
      description: List of activities. Can contain a subset of all items along with
        the full count
    ActivityOrganizationAssociation:
      required:
      - organization
      type: object
      description: An association with an organization.
      allOf:
      - $ref: "#/components/schemas/ActivityAbstractAssociation"
      - type: object
        properties:
          organization:
            $ref: "#/components/schemas/OrganizationRef"
    ActivityRef:
      required:
      - uuid
      type: object
      description: A reference to an activity
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ActivityVisitorAssociation:
      required:
      - externalPerson
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organizations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        externalPerson:
          $ref: "#/components/schemas/ExternalPersonRef"
        visitorDegree:
          type: string
          description: Visitor degree.
          nullable: true
        country:
          $ref: "#/components/schemas/ClassificationRef"
      description: An association between activity and a person that has attended
        it
    AdditionalFileElectronicVersion:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        accessType:
          $ref: "#/components/schemas/ClassificationRef"
        embargoPeriod:
          $ref: "#/components/schemas/DateRange"
        licenseType:
          $ref: "#/components/schemas/ClassificationRef"
        userDefinedLicense:
          type: string
          description: License defined by the user.
          nullable: true
        visibleOnPortalDate:
          type: string
          description: Date where this document is/will be visible on the portal.
          format: date
          readOnly: true
        creator:
          type: string
          description: Username of creator.
          readOnly: true
        created:
          type: string
          description: Date and time of creation.
          format: date-time
          readOnly: true
        title:
          type: string
          description: The title of the file.
          nullable: true
        file:
          $ref: "#/components/schemas/ElectronicVersionFile"
      description: An additional file related to a research output.
    AdditionalISSN:
      required:
      - issn
      - typeDiscriminator
      type: object
      properties:
        issn:
          type: string
          description: The actual ISSN value
        typeDiscriminator:
          type: string
      nullable: true
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ElectronicISSN: "#/components/schemas/ElectronicISSN"
          AlternativeISSN: "#/components/schemas/AlternativeISSN"
    Address:
      type: object
      properties:
        road:
          type: string
          description: "Name of road and house number, eg. 'Pennsylvania Avenue' or\
            \ '123 Main St.'"
          nullable: true
        room:
          type: string
          description: "Room number or name if available, eg. '1.23' or 'Office of\
            \ Creative Services'"
          nullable: true
        building:
          type: string
          description: "Building Name if available, eg. 'Couper Administration Building'"
          nullable: true
        postalCode:
          type: string
          description: Postal code
          nullable: true
        city:
          type: string
          description: "City or town, eg. 'Binghamton'"
          nullable: true
        country:
          $ref: "#/components/schemas/ClassificationRef"
      description: A physical address
      nullable: true
    AllowedKeywordGroupConfiguration:
      required:
      - targetSystemName
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        targetSystemName:
          type: string
          description: The content system name this configuration applies to
        keywordGroupType:
          type: string
          description: The OpenAPI schema type of this keyword configuration
          readOnly: true
        name:
          $ref: "#/components/schemas/LocalizedString"
        description:
          $ref: "#/components/schemas/FormattedLocalizedString"
        classificationScheme:
          $ref: "#/components/schemas/ClassificationSchemeRef"
        allowUserdefinedKeywords:
          type: boolean
          description: Defines if user defined keywords are allowed
        limitToLeafSelection:
          type: boolean
        logicalName:
          type: string
        relationType:
          type: string
          description: "The schema name of the type (with the ability to associate\
            \ keywords) on which the keyword group configuration is related to, e.g.\
            \ StaffOrganizationAssociation. It can also be set to null (default value),\
            \ which means the keyword group configuration is related to the main type\
            \ (the target system name) and not a relation of the main type."
          nullable: true
      description: A specification of the allowed behavior of a specified keyword
        group
    AllowedKeywordGroupConfigurationList:
      type: object
      properties:
        configurations:
          type: array
          items:
            $ref: "#/components/schemas/AllowedKeywordGroupConfiguration"
      description: List of allowed keyword group configurations
    AllowedTemplate:
      type: object
      properties:
        name:
          type: string
          description: The name of the template.
          readOnly: true
        description:
          type: string
          description: The description of the template.
          readOnly: true
      description: "An allowed template, such as 'ContributionToJournal' or 'BookAnthology'\
        \ for research outputs."
    AllowedTemplateListResult:
      type: object
      properties:
        items:
          type: array
          description: Allowed templates.
          items:
            $ref: "#/components/schemas/AllowedTemplate"
      description: List of allowed templates.
    AlternativeISSN:
      required:
      - issn
      type: object
      description: "Additional non electronic ISSN, is searchable but cannot be used\
        \ when relating the journal to other content"
      allOf:
      - $ref: "#/components/schemas/AdditionalISSN"
    Anzsrc2008FieldOfResearchRef:
      required:
      - uuid
      type: object
      description: A reference to a Anzsrc2008FieldOfResearch
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Anzsrc2020FieldOfResearchRef:
      required:
      - uuid
      type: object
      description: A reference to a Anzsrc2020FieldOfResearch
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Anzsrc2020SocioEconomicObjectiveRef:
      required:
      - uuid
      type: object
      description: A reference to a Anzsrc2020SocioEconomicObjective
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Anzsrc2020TypeOfActivityRef:
      required:
      - uuid
      type: object
      description: A reference to a Anzsrc2020TypeOfActivity
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Application:
      required:
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        acronym:
          type: string
          description: The acronym of the application
          nullable: true
        applicants:
          type: array
          description: Related applicants and their affiliations.
          items:
            $ref: "#/components/schemas/AbstractApplicantAssociation"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        applicationDate:
          type: string
          description: "The date of application, ie. the date it was submitted to\
            \ the funder."
          format: date
          readOnly: true
        awards:
          type: array
          description: A collection of related grants.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardRef"
        budgetAppliedAmountDifference:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        coManagingOrganizations:
          type: array
          description: A collection of co-managing organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        collaborators:
          type: array
          description: A collection of collaborators.
          nullable: true
          items:
            $ref: "#/components/schemas/CollaboratorAssociation"
        descriptions:
          type: array
          description: A collection of descriptions for the application. Query the
            /applications/allowed-description-types endpoint for allowed types.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        expectedPeriod:
          $ref: "#/components/schemas/DateRange"
        identifiers:
          type: array
          description: Identifiers related to the application.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        fundingOpportunity:
          $ref: "#/components/schemas/FundingOpportunityRef"
        fundings:
          type: array
          description: A collection of funding information for the application.
          items:
            $ref: "#/components/schemas/ApplicationFundingAssociation"
        natureTypes:
          type: array
          description: Nature of activity types for the application.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          items:
            $ref: "#/components/schemas/OrganizationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        applications:
          type: array
          description: A collection of related applications.
          nullable: true
          items:
            $ref: "#/components/schemas/ApplicationRef"
        shortTitle:
          $ref: "#/components/schemas/LocalizedString"
        title:
          $ref: "#/components/schemas/LocalizedString"
        totalAcademicOwnership:
          type: number
          description: Total academic ownership of the application.
          format: double
          readOnly: true
        totalAppliedAmount:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        visibility:
          $ref: "#/components/schemas/Visibility"
        links:
          type: array
          description: Links associated with the application.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the application.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        cluster:
          $ref: "#/components/schemas/ApplicationClusterRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        typeDiscriminator:
          type: string
      description: Applications exists in two variations depending on the functionality
        enabled in the Pure installation.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          BasicApplication: "#/components/schemas/BasicApplication"
          AwardManagementApplication: "#/components/schemas/AwardManagementApplication"
    ApplicationBudget:
      required:
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        budgets:
          type: array
          description: Individual entries of the budget.
          nullable: true
          items:
            $ref: "#/components/schemas/ApplicationFundingBudgetAssociation"
        visibility:
          $ref: "#/components/schemas/Visibility"
      description: A budget for an application.
    ApplicationBudgetResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: ApplicationBudgets
          items:
            $ref: "#/components/schemas/ApplicationBudget"
      description: List of application budgets. Can contain a subset of all items
        along with the full count
    ApplicationCluster:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          type: string
          description: The title of the application cluster.
          readOnly: true
        containedApplications:
          type: array
          description: The applications grouped in the application cluster. Applications
            are automatically added when related to other applications in this cluster.
          readOnly: true
          items:
            $ref: "#/components/schemas/ApplicationRef"
        project:
          $ref: "#/components/schemas/ProjectRef"
        status:
          type: string
          description: Application cluster status value
          readOnly: true
          enum:
          - PENDING
          - AWARDED
          - REJECTED
        dateOfStatusChange:
          type: string
          description: The date of the last status change of the application cluster.
          format: date
          readOnly: true
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: An application cluster groups related applications from their individual
        relations.
    ApplicationClusterListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Application clusters
          items:
            $ref: "#/components/schemas/ApplicationCluster"
      description: List of application clusters. Can contain a subset of all items
        along with the full count
    ApplicationClusterRef:
      required:
      - uuid
      type: object
      description: A reference to an application cluster
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ApplicationDocument:
      required:
      - fileName
      - mimeType
      - type
      - versionType
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        title:
          type: string
          description: Document title
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        license:
          $ref: "#/components/schemas/ClassificationRef"
        visibleOnPortalDate:
          type: string
          description: The date the document will be available on the portal
          format: date
          readOnly: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        creator:
          type: string
          description: The user that created the document
          readOnly: true
        created:
          type: string
          description: Create date for the document
          format: date-time
          readOnly: true
        versionType:
          $ref: "#/components/schemas/ClassificationRef"
      description: An application document.
    ApplicationExternalFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An external collaborator for a financial funding.
      allOf:
      - $ref: "#/components/schemas/ApplicationFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          institutionalPart:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    ApplicationExternalNonFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An external collaborator for a non-financial funding.
      allOf:
      - $ref: "#/components/schemas/ApplicationNonFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    ApplicationFinancialFundingAssociation:
      required:
      - appliedAmount
      type: object
      description: A financial funding is used when money is provided by the funder.
        It holds information about amounts and splits with collaborators.
      allOf:
      - $ref: "#/components/schemas/ApplicationFundingAssociation"
      - type: object
        properties:
          appliedAmount:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          appliedAmountInAppliedCurrency:
            $ref: "#/components/schemas/CurrencyAmount"
          fundingCollaborators:
            type: array
            description: The collaborators of the funding. It's currently only possible
              to associate a single internal collaborator. There external collaborators
              must follow the collaborators associated with the application.
            nullable: true
            items:
              $ref: "#/components/schemas/ApplicationFinancialFundingCollaboratorAssociation"
    ApplicationFinancialFundingCollaboratorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        typeDiscriminator:
          type: string
      description: "Financial funding collaborator associations exists in two variants,\
        \ internal or external collaborator."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ApplicationInternalFinancialFundingCollaboratorAssociation: "#/components/schemas/ApplicationInternalFinancialFundingCollaboratorAssociation"
          ApplicationExternalFinancialFundingCollaboratorAssociation: "#/components/schemas/ApplicationExternalFinancialFundingCollaboratorAssociation"
    ApplicationFundingAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        costCode:
          type: string
          description: The cost code of the funding.
          nullable: true
        funder:
          $ref: "#/components/schemas/ExternalOrganizationRef"
        internalFunder:
          $ref: "#/components/schemas/OrganizationRef"
        classifications:
          type: array
          description: Related classifications of the funding.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        fundingProjectScheme:
          type: string
          description: "The funding project scheme of the funding, also known as research\
            \ program."
          nullable: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        typeDiscriminator:
          type: string
      description: "Funding associations exists in two variants, financial or non-financial."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ApplicationFinancialFundingAssociation: "#/components/schemas/ApplicationFinancialFundingAssociation"
          ApplicationNonFinancialFundingAssociation: "#/components/schemas/ApplicationNonFinancialFundingAssociation"
    ApplicationFundingBudgetAssociation:
      required:
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        accounts:
          type: array
          description: Associated accounts of the budget.
          nullable: true
          items:
            $ref: "#/components/schemas/Account"
        costCenter:
          $ref: "#/components/schemas/ClassificationRef"
        costCode:
          type: string
          description: The cost code of the budget.
          nullable: true
        organization:
          $ref: "#/components/schemas/OrganizationRef"
        visibility:
          $ref: "#/components/schemas/Visibility"
      description: A budget for a financial funding of an application.
    ApplicationInternalFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An internal collaborator for a financial funding.
      allOf:
      - $ref: "#/components/schemas/ApplicationFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/OrganizationRef"
          institutionalPart:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          institutionalContribution:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          institutionalFEC:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          fecPercentage:
            type: number
            description: Full Economic Costing (fEC) percentage of the funding.
            format: double
            nullable: true
    ApplicationInternalNonFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An internal collaborator for a non-financial funding.
      allOf:
      - $ref: "#/components/schemas/ApplicationNonFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/OrganizationRef"
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    ApplicationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Applications
          items:
            $ref: "#/components/schemas/Application"
      description: List of applications. Can contain a subset of all items along with
        the full count
    ApplicationNonFinancialFundingAssociation:
      type: object
      description: "A non-financial funding is used when money is not provided by\
        \ the funder, but rather time, equipment, etc. It holds information about\
        \ estimated value and splits with collaborators."
      allOf:
      - $ref: "#/components/schemas/ApplicationFundingAssociation"
      - type: object
        properties:
          description:
            type: string
            description: The description of the funds provided of the funding.
            nullable: true
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          fundingCollaborators:
            type: array
            description: The collaborators of the funding. It's currently only possible
              to associate a single internal collaborator. There external collaborators
              must follow the collaborators associated with the application.
            nullable: true
            items:
              $ref: "#/components/schemas/ApplicationNonFinancialFundingCollaboratorAssociation"
    ApplicationNonFinancialFundingCollaboratorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        typeDiscriminator:
          type: string
      description: "Non-financial funding collaborator associations exists in two\
        \ variants, internal or external collaborator."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ApplicationInternalNonFinancialFundingCollaboratorAssociation: "#/components/schemas/ApplicationInternalNonFinancialFundingCollaboratorAssociation"
          ApplicationExternalNonFinancialFundingCollaboratorAssociation: "#/components/schemas/ApplicationExternalNonFinancialFundingCollaboratorAssociation"
    ApplicationRef:
      required:
      - uuid
      type: object
      description: A reference to an application
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ApplicationStatus:
      required:
      - date
      - status
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        date:
          type: string
          description: The date of the application status.
          format: date
        documents:
          type: array
          description: Related documents of the application status.
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        status:
          $ref: "#/components/schemas/ClassificationRef"
        current:
          type: boolean
          description: Whether this element reflects the current application status.
          readOnly: true
      description: "A representation of a point in time when the status of an application\
        \ changed, e.g. the submitted to funder date or awarded by funder date of\
        \ the application."
    ApplicationsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for applications
    ArticleProcessingCharge:
      type: object
      properties:
        paid:
          type: boolean
          description: "This value is true if the processing charge has been paid,\
            \ false if not and null/not presentif unknown or not noted on content."
        amountInCurrency:
          $ref: "#/components/schemas/CurrencyAmount"
        amount:
          $ref: "#/components/schemas/SystemCurrencyAmount"
      description: Holds information on the article processing charge
    ArticleVersion:
      required:
      - key
      type: object
      properties:
        key:
          type: string
          description: Article version value
          enum:
          - SUBMITTED
          - ACCEPTED
          - PUBLISHED
        description:
          $ref: "#/components/schemas/SystemLocalizedString"
      description: Version of an article
    AssignableRole:
      required:
      - assignableRoleName
      type: object
      properties:
        assignableRoleName:
          type: string
          description: The name of the assignable role
        targetSystemName:
          type: string
          description: The name of the target system
          nullable: true
        title:
          $ref: "#/components/schemas/LocalizedString"
      description: An assignable role
    AssignableRoleRef:
      required:
      - assignableRoleName
      type: object
      properties:
        assignableRoleName:
          type: string
          description: Name of an assignable role
      description: A reference to an assignable role that can be either local or global
    Attendance:
      required:
      - managingOrganization
      - period
      - persons
      - type
      - visibility
      type: object
      description: Participating in or organizing an event
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          event:
            $ref: "#/components/schemas/EventRef"
    AuthorCollaboration:
      required:
      - name
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        name:
          $ref: "#/components/schemas/LocalizedString"
        nameVariants:
          type: array
          description: Name variants
          items:
            type: string
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        identifiers:
          type: array
          description: Identifiers related to the author collaboration.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        workflow:
          $ref: "#/components/schemas/Workflow"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: Author collaboration
    AuthorCollaborationContributorAssociation:
      required:
      - authorCollaboration
      type: object
      description: An author collaboration contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractContributorAssociation"
      - type: object
        properties:
          authorCollaboration:
            $ref: "#/components/schemas/AuthorCollaborationRef"
    AuthorCollaborationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Users
          items:
            $ref: "#/components/schemas/AuthorCollaboration"
      description: List of author collaborations. Can contain a subset of all items
        along with the full count
    AuthorCollaborationQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for author-collaborations
    AuthorCollaborationRef:
      required:
      - uuid
      type: object
      description: A reference to an author collaboration
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Award:
      required:
      - awardDate
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        acronym:
          type: string
          description: The acronym of the award
          nullable: true
        awardHolders:
          type: array
          description: Related award holders and their affiliations.
          items:
            $ref: "#/components/schemas/AbstractAwardHolderAssociation"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        awardDate:
          type: string
          description: The date the award was granted by the funder.
          format: date
        awards:
          type: array
          description: A collection of related grants.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardRef"
        budgetAwardedAmountDifference:
          $ref: "#/components/schemas/DeprecatedSystemCurrencyAmount"
        coManagingOrganizations:
          type: array
          description: A collection of co-managing organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        collaborators:
          type: array
          description: A collection of collaborators.
          nullable: true
          items:
            $ref: "#/components/schemas/CollaboratorAssociation"
        descriptions:
          type: array
          description: A collection of descriptions for the award. Query the /awards/allowed-description-types
            endpoint for allowed types.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        actualPeriod:
          $ref: "#/components/schemas/DateRange"
        expectedPeriod:
          $ref: "#/components/schemas/DateRange"
        effectivePeriod:
          $ref: "#/components/schemas/DeprecatedDateRange"
        identifiers:
          type: array
          description: Identifiers related to the award.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        fundings:
          type: array
          description: A collection of funding information for the award.
          items:
            $ref: "#/components/schemas/AwardFundingAssociation"
        natureTypes:
          type: array
          description: Nature of activity types for the award.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          items:
            $ref: "#/components/schemas/OrganizationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        applications:
          type: array
          description: A collection of related applications.
          nullable: true
          items:
            $ref: "#/components/schemas/ApplicationRef"
        shortTitle:
          $ref: "#/components/schemas/LocalizedString"
        title:
          $ref: "#/components/schemas/LocalizedString"
        totalAcademicOwnership:
          type: number
          description: DEPRECATED - Total academic ownership of the award.
          format: double
          readOnly: true
          deprecated: true
        totalAwardedAmount:
          $ref: "#/components/schemas/DeprecatedSystemCurrencyAmount"
        totalSpentAmount:
          $ref: "#/components/schemas/DeprecatedSystemCurrencyAmount"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        visibility:
          $ref: "#/components/schemas/Visibility"
        links:
          type: array
          description: Links associated with the award.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the award.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        cluster:
          $ref: "#/components/schemas/AwardClusterRef"
        documents:
          type: array
          description: A collection of documents related to the award.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardDocument"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        typeDiscriminator:
          type: string
      description: Awards exists in two variations depending on the functionality
        enabled in the Pure installation.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          BasicAward: "#/components/schemas/BasicAward"
          AwardManagementAward: "#/components/schemas/AwardManagementAward"
    AwardBudget:
      required:
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        budgets:
          type: array
          description: Individual entries of the budget.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardFundingBudgetAssociation"
        visibility:
          $ref: "#/components/schemas/Visibility"
      description: A budget for an award.
    AwardBudgetResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: AwardBudgets
          items:
            $ref: "#/components/schemas/AwardBudget"
      description: List of award budgets. Can contain a subset of all items along
        with the full count
    AwardCluster:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          type: string
          description: The title of the award cluster.
          readOnly: true
        containedAwards:
          type: array
          description: The awards grouped in the award cluster. Awards are automatically
            added when related to other awards in this cluster.
          readOnly: true
          items:
            $ref: "#/components/schemas/AwardRef"
        project:
          $ref: "#/components/schemas/ProjectRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: An award cluster groups related awards from their individual relations.
    AwardClusterListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Award clusters
          items:
            $ref: "#/components/schemas/AwardCluster"
      description: List of award clusters. Can contain a subset of all items along
        with the full count
    AwardClusterRef:
      required:
      - uuid
      type: object
      description: A reference to an award cluster
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    AwardDocument:
      required:
      - fileName
      - mimeType
      - type
      - versionType
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        title:
          type: string
          description: Document title
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        license:
          $ref: "#/components/schemas/ClassificationRef"
        visibleOnPortalDate:
          type: string
          description: The date the document will be available on the portal
          format: date
          readOnly: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        creator:
          type: string
          description: The user that created the document
          readOnly: true
        created:
          type: string
          description: Create date for the document
          format: date-time
          readOnly: true
        versionType:
          $ref: "#/components/schemas/ClassificationRef"
      description: An award document.
    AwardExternalFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An external collaborator for a financial funding.
      allOf:
      - $ref: "#/components/schemas/AwardFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          institutionalPart:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    AwardExternalNonFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An external collaborator for a non-financial funding.
      allOf:
      - $ref: "#/components/schemas/AwardNonFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    AwardFinancialFundingAssociation:
      required:
      - awardedAmount
      type: object
      description: A financial funding is used when money is provided by the funder.
        It holds information about amounts and splits with collaborators.
      allOf:
      - $ref: "#/components/schemas/AwardFundingAssociation"
      - type: object
        properties:
          awardedAmount:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          awardedAmountInAwardedCurrency:
            $ref: "#/components/schemas/CurrencyAmount"
          fundingCollaborators:
            type: array
            description: The collaborators of the funding. It's currently only possible
              to associate a single internal collaborator. There external collaborators
              must follow the collaborators associated with the award.
            nullable: true
            items:
              $ref: "#/components/schemas/AwardFinancialFundingCollaboratorAssociation"
    AwardFinancialFundingCollaboratorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        typeDiscriminator:
          type: string
      description: "Financial funding collaborator associations exists in two variants,\
        \ internal or external collaborator."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          AwardInternalFinancialFundingCollaboratorAssociation: "#/components/schemas/AwardInternalFinancialFundingCollaboratorAssociation"
          AwardExternalFinancialFundingCollaboratorAssociation: "#/components/schemas/AwardExternalFinancialFundingCollaboratorAssociation"
    AwardFundingAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        costCode:
          type: string
          description: The cost code of the funding.
          nullable: true
        funder:
          $ref: "#/components/schemas/ExternalOrganizationRef"
        internalFunder:
          $ref: "#/components/schemas/OrganizationRef"
        classifications:
          type: array
          description: Related classifications of the funding.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        fundingProjectScheme:
          type: string
          description: "The funding project scheme of the funding, also known as research\
            \ program."
          nullable: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        typeDiscriminator:
          type: string
      description: "Funding associations exists in two variants, financial or non-financial."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          AwardFinancialFundingAssociation: "#/components/schemas/AwardFinancialFundingAssociation"
          AwardNonFinancialFundingAssociation: "#/components/schemas/AwardNonFinancialFundingAssociation"
    AwardFundingBudgetAssociation:
      required:
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        accounts:
          type: array
          description: Associated accounts of the budget.
          nullable: true
          items:
            $ref: "#/components/schemas/Account"
        costCenter:
          $ref: "#/components/schemas/ClassificationRef"
        costCode:
          type: string
          description: The cost code of the budget.
          nullable: true
        organization:
          $ref: "#/components/schemas/OrganizationRef"
        visibility:
          $ref: "#/components/schemas/Visibility"
      description: A budget for a financial funding of an award.
    AwardInternalFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An internal collaborator for a financial funding.
      allOf:
      - $ref: "#/components/schemas/AwardFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/OrganizationRef"
          institutionalPart:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          institutionalContribution:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          institutionalFEC:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          fecPercentage:
            maximum: 0
            minimum: 0
            type: number
            description: Full Economic Costing (fEC) percentage of the funding.
            format: double
            nullable: true
    AwardInternalNonFinancialFundingCollaboratorAssociation:
      required:
      - collaborator
      type: object
      description: An internal collaborator for a non-financial funding.
      allOf:
      - $ref: "#/components/schemas/AwardNonFinancialFundingCollaboratorAssociation"
      - type: object
        properties:
          collaborator:
            $ref: "#/components/schemas/OrganizationRef"
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
    AwardListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Applications
          items:
            $ref: "#/components/schemas/Award"
      description: List of awards. Can contain a subset of all items along with the
        full count
    AwardManagementApplication:
      required:
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Award Management application template is used when the Award
        Management module is enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Application"
      - type: object
        properties:
          awardDate:
            type: string
            description: The date the application was awarded by the funder.
            format: date
            nullable: true
          documents:
            type: array
            description: A collection of documents related to the application.
            nullable: true
            items:
              $ref: "#/components/schemas/ApplicationDocument"
          funderReply:
            type: string
            description: Funder reply value
            nullable: true
            enum:
            - PENDING
            - AWARDED
            - REJECTED
          preApprover:
            $ref: "#/components/schemas/UserRef"
          rejectedDate:
            type: string
            description: The date the application was rejected by the funder.
            format: date
            nullable: true
          submissionDate:
            type: string
            description: The date the application was submitted to the funder.
            format: date
            nullable: true
          submissionDeadline:
            type: string
            description: The submission deadline of the application.
            format: date
            nullable: true
    AwardManagementAward:
      required:
      - awardDate
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Award Management award template is used when the Award Management
        module is enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Award"
      - type: object
        properties:
          status:
            $ref: "#/components/schemas/AwardStatus"
          allocatedTime:
            type: integer
            description: The allocated time for the award.
            format: int32
            nullable: true
    AwardManagementProject:
      required:
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Award Management project template is used when the Award Management
        module is enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Project"
      - type: object
        properties:
          participantTimeTracking:
            type: array
            description: Participant time tracking for the project.
            nullable: true
            items:
              $ref: "#/components/schemas/ParticipantTimeTrackingAssociation"
    AwardNonFinancialFundingAssociation:
      type: object
      description: "A non-financial funding is used when money is not provided by\
        \ the funder, but rather time, equipment, etc. It holds information about\
        \ estimated value and splits with collaborators."
      allOf:
      - $ref: "#/components/schemas/AwardFundingAssociation"
      - type: object
        properties:
          description:
            type: string
            description: The description of the funds provided of the funding.
            nullable: true
          estimatedValue:
            $ref: "#/components/schemas/SystemCurrencyAmount"
          fundingCollaborators:
            type: array
            description: The collaborators of the funding. It's currently only possible
              to associate a single internal collaborator. There external collaborators
              must follow the collaborators associated with the award.
            nullable: true
            items:
              $ref: "#/components/schemas/AwardNonFinancialFundingCollaboratorAssociation"
    AwardNonFinancialFundingCollaboratorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        typeDiscriminator:
          type: string
      description: "Non-financial funding collaborator associations exists in two\
        \ variants, internal or external collaborator."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          AwardInternalNonFinancialFundingCollaboratorAssociation: "#/components/schemas/AwardInternalNonFinancialFundingCollaboratorAssociation"
          AwardExternalNonFinancialFundingCollaboratorAssociation: "#/components/schemas/AwardExternalNonFinancialFundingCollaboratorAssociation"
    AwardRef:
      required:
      - uuid
      type: object
      description: A reference to an award
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    AwardStatus:
      required:
      - typeDiscriminator
      type: object
      properties:
        typeDiscriminator:
          type: string
      description: The award status and related information.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ContractNegotiationAwardStatus: "#/components/schemas/ContractNegotiationAwardStatus"
          CurtailedAwardStatus: "#/components/schemas/CurtailedAwardStatus"
          DeclinedAwardStatus: "#/components/schemas/DeclinedAwardStatus"
          InternallyApprovedAwardStatus: "#/components/schemas/InternallyApprovedAwardStatus"
          TerminatedAwardStatus: "#/components/schemas/TerminatedAwardStatus"
          ExtendedAwardStatus: "#/components/schemas/ExtendedAwardStatus"
    AwardsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for awards
    BasicApplication:
      required:
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Basic application template is used when the Award Management
        module is not enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Application"
      - type: object
        properties:
          applicationStatuses:
            type: array
            description: Manage the applications different statuses and dates these
              were reached.
            items:
              $ref: "#/components/schemas/ApplicationStatus"
    BasicAward:
      required:
      - awardDate
      - fundings
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Basic award template is used when the Award Management module
        is not enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Award"
      - type: object
        properties:
          status:
            $ref: "#/components/schemas/CurtailedAwardStatus"
          extendedStatus:
            $ref: "#/components/schemas/ExtendedAwardStatus"
    BasicProject:
      required:
      - managingOrganization
      - organizations
      - title
      - type
      type: object
      description: The Basic project template is used when the Award Management module
        is not enabled for the Pure installation.
      allOf:
      - $ref: "#/components/schemas/Project"
    BookAnthology:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "Books, reports and anthologies/collected works where the author(s)\
        \ are responsible for the entire work."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          commissioningBody:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          printISBNs:
            type: array
            description: The ISBN number for the printed versions of the production.
            nullable: true
            items:
              type: string
          electronicISBNs:
            type: array
            description: The ISBN number for the electronic versions of the production.
            nullable: true
            items:
              type: string
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
          event:
            $ref: "#/components/schemas/EventRef"
    BookSeriesJournalAssociation:
      required:
      - journal
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        title:
          $ref: "#/components/schemas/JournalTitleRef"
        issn:
          $ref: "#/components/schemas/ISSNRef"
        journal:
          $ref: "#/components/schemas/JournalRef"
        "no":
          type: string
        volume:
          type: string
      description: A relation describing the association between a book series and
        the associated journal.
    CERIFAddress:
      type: object
      properties:
        address1:
          type: string
          description: Address line 1
          nullable: true
        address2:
          type: string
          description: Address line 2
          nullable: true
        address3:
          type: string
          description: Address line 3
          nullable: true
        address4:
          type: string
          description: Address line 4
          nullable: true
        address5:
          type: string
          description: Address line 5
          nullable: true
        postalCode:
          type: string
          description: Postal code of city
          nullable: true
        city:
          type: string
          description: City
          nullable: true
        country:
          $ref: "#/components/schemas/ClassificationRef"
        subdivision:
          $ref: "#/components/schemas/ClassificationRef"
        state:
          type: string
          description: State. Mutually exclusive with state
          nullable: true
        geoLocation:
          $ref: "#/components/schemas/GeoLocation"
      description: A physical address
      nullable: true
    CaseNote:
      required:
      - court
      - judgementDate
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        court:
          $ref: "#/components/schemas/ExternalOrganizationRef"
        title:
          $ref: "#/components/schemas/LocalizedString"
        judgementDate:
          type: string
          description: The judgement date.
          format: date
        sources:
          type: array
          description: Classified case note sources
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedCaseNoteSource"
      description: "A note on a case, detailing title, judgement data and court processing\
        \ case."
    Classification:
      required:
      - uri
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uri:
          type: string
          description: URI used to uniquely identify this object
        term:
          $ref: "#/components/schemas/FormattedLocalizedString"
        disabled:
          type: boolean
        description:
          $ref: "#/components/schemas/SystemLocalizedString"
        classificationRelations:
          type: array
          items:
            $ref: "#/components/schemas/ClassificationRelation"
      description: A way to annotate another object with a type/role/etc.
    ClassificationRef:
      required:
      - uri
      type: object
      properties:
        uri:
          type: string
          description: Classification URI of the referred classification
        term:
          $ref: "#/components/schemas/SystemLocalizedString"
      description: A reference to a classification value
      nullable: true
    ClassificationRefList:
      type: object
      properties:
        classifications:
          type: array
          items:
            $ref: "#/components/schemas/ClassificationRef"
      description: List of classification references
    ClassificationRelation:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        relatedTo:
          $ref: "#/components/schemas/ClassificationRef"
        relationType:
          $ref: "#/components/schemas/ClassificationRef"
      description: Relation between classifications
    ClassificationScheme:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        baseUri:
          type: string
        typeClassification:
          $ref: "#/components/schemas/ClassificationRef"
        description:
          $ref: "#/components/schemas/LocalizedString"
        associatedSchemes:
          type: array
          items:
            $ref: "#/components/schemas/ClassificationSchemeRelation"
        containedClassifications:
          type: array
          items:
            $ref: "#/components/schemas/Classification"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A classification scheme.
    ClassificationSchemeList:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          items:
            $ref: "#/components/schemas/ClassificationScheme"
      description: List of classification schemes
    ClassificationSchemeRef:
      required:
      - uuid
      type: object
      description: A reference to a classification scheme
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ClassificationSchemeRelation:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        classification:
          $ref: "#/components/schemas/ClassificationRef"
        title:
          $ref: "#/components/schemas/LocalizedString"
        classificationScheme:
          $ref: "#/components/schemas/ClassificationSchemeRef"
      description: Association between classification schemes
    ClassificationsKeywordGroup:
      required:
      - logicalName
      type: object
      description: De-normalized version of the full keyword group representation
        for instances where only structured keywords can be selected
      allOf:
      - $ref: "#/components/schemas/KeywordGroup"
      - type: object
        properties:
          classifications:
            type: array
            description: A list classifications extracted from the keyword group structured
              keyword concept
            nullable: true
            items:
              $ref: "#/components/schemas/ClassificationRef"
    ClassifiedAddress:
      required:
      - addressType
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        addressType:
          $ref: "#/components/schemas/ClassificationRef"
        addressLines:
          type: string
          description: Address for personal residence
          nullable: true
        street:
          type: string
          description: The name of the street
          nullable: true
        building:
          type: string
          description: The name of the building
          nullable: true
        postalcode:
          type: string
          description: The postal code of the city
          nullable: true
        city:
          type: string
          description: The name of the city
          nullable: true
        country:
          $ref: "#/components/schemas/ClassificationRef"
        subdivision:
          $ref: "#/components/schemas/ClassificationRef"
        geoLocation:
          $ref: "#/components/schemas/GeoLocation"
      description: A physical address
    ClassifiedCaseNoteSource:
      required:
      - classification
      - value
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        classification:
          $ref: "#/components/schemas/ClassificationRef"
        value:
          type: string
          description: The identifier of the case note in the source system.
      description: Identification value of the case note in the source system.
    ClassifiedFormattedLocalizedValue:
      required:
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        value:
          $ref: "#/components/schemas/FormattedLocalizedString"
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A classified formatted localized value
    ClassifiedId:
      required:
      - id
      - type
      type: object
      description: A classified ID
      allOf:
      - $ref: "#/components/schemas/Identifier"
      - type: object
        properties:
          pureId:
            type: integer
            description: Pure database ID of the object
            format: int64
            readOnly: true
          id:
            type: string
            description: Classified ID
          type:
            $ref: "#/components/schemas/ClassificationRef"
    ClassifiedLocalizedValue:
      required:
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        value:
          $ref: "#/components/schemas/LocalizedString"
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A classified localized value
    ClassifiedName:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        name:
          $ref: "#/components/schemas/Name"
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A classified name
    ClassifiedValue:
      required:
      - type
      - value
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        value:
          type: string
          description: Classified value
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A classified value
    CollaboratorAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        leadCollaborator:
          type: boolean
          description: Whether this collaborator is lead collaborator or not.
          nullable: true
        typeDiscriminator:
          type: string
      description: A collaborator associated with the content.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          InternalCollaboratorAssociation: "#/components/schemas/InternalCollaboratorAssociation"
          ExternalCollaboratorAssociation: "#/components/schemas/ExternalCollaboratorAssociation"
    CompoundDate:
      required:
      - year
      type: object
      properties:
        year:
          maximum: 4000
          minimum: 0
          type: integer
          format: int32
        month:
          maximum: 12
          minimum: 1
          type: integer
          format: int32
          nullable: true
        day:
          maximum: 31
          minimum: 1
          type: integer
          format: int32
          nullable: true
      description: "A date that can be defined by only year, year and month or a full\
        \ date"
      nullable: true
    CompoundDateRange:
      type: object
      properties:
        startDate:
          $ref: "#/components/schemas/CompoundDate"
        endDate:
          $ref: "#/components/schemas/CompoundDate"
      description: "A date range of that can be defined by only year, year and month\
        \ or a full date"
    ConceptRef:
      required:
      - uuid
      type: object
      description: A reference to a concept
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ConferenceSeriesRef:
      required:
      - uuid
      type: object
      description: A reference to a conference series
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ConflictProblemDetails:
      type: object
      properties:
        type:
          type: string
          description: "A URI reference [RFC3986] that identifies the problem type."
        title:
          type: string
          description: "A short, human-readable summary of the problem type. It SHOULD\
            \ NOT change from occurrence to occurrence of the problem, except for\
            \ purposes of localization (e.g., using proactive content negotiation;\
            \ see [RFC7231], Section 3.4)."
        status:
          type: integer
          description: "The HTTP status code ([RFC7231], Section 6) generated by the\
            \ origin server for this occurrence of the problem."
          format: int32
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of
            the problem.
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of
            the problem.  It may or may not yield further information if dereferenced.
        modified:
          type: string
          format: date-time
        modifiedBy:
          type: string
      description: Problem details for state conflict failures
    Consultancy:
      required:
      - consultancyFor
      - managingOrganization
      - period
      - persons
      - title
      - type
      - visibility
      type: object
      description: Consultancy
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          title:
            $ref: "#/components/schemas/FormattedLocalizedString"
          consultancyFor:
            $ref: "#/components/schemas/ActivityAbstractAssociation"
    ContentRef:
      required:
      - systemName
      - uuid
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the referred content
          format: uuid
        systemName:
          type: string
      nullable: true
      discriminator:
        propertyName: systemName
        mapping:
          AccessDefinition: "#/components/schemas/AccessDefinitionRef"
          Activity: "#/components/schemas/ActivityRef"
          Application: "#/components/schemas/ApplicationRef"
          AuthorCollaboration: "#/components/schemas/AuthorCollaborationRef"
          Award: "#/components/schemas/AwardRef"
          ClassificationScheme: "#/components/schemas/ClassificationSchemeRef"
          ConferenceSeries: "#/components/schemas/ConferenceSeriesRef"
          DataSet: "#/components/schemas/DataSetRef"
          Equipment: "#/components/schemas/EquipmentRef"
          Event: "#/components/schemas/EventRef"
          ExternalOrganization: "#/components/schemas/ExternalOrganizationRef"
          ExternalPerson: "#/components/schemas/ExternalPersonRef"
          Impact: "#/components/schemas/ImpactRef"
          Journal: "#/components/schemas/JournalRef"
          Organization: "#/components/schemas/OrganizationRef"
          Person: "#/components/schemas/PersonRef"
          Publisher: "#/components/schemas/PublisherRef"
          PressMedia: "#/components/schemas/PressMediaRef"
          Prize: "#/components/schemas/PrizeRef"
          Project: "#/components/schemas/ProjectRef"
          ResearchOutput: "#/components/schemas/ResearchOutputRef"
          StudentThesis: "#/components/schemas/StudentThesisRef"
          FundingOpportunity: "#/components/schemas/FundingOpportunityRef"
          EthicalReview: "#/components/schemas/EthicalReviewRef"
          ApplicationCluster: "#/components/schemas/ApplicationClusterRef"
          AwardCluster: "#/components/schemas/AwardClusterRef"
          User: "#/components/schemas/UserRef"
          ERA2018FieldOfResearch: "#/components/schemas/Anzsrc2008FieldOfResearchRef"
          UnitOfAssessmentREF2014: "#/components/schemas/Ref2014UnitOfAssessmentRef"
          UnitOfAssessmentREF2020: "#/components/schemas/Ref2020UnitOfAssessmentRef"
          ANZSRCTypeOfActivity: "#/components/schemas/Anzsrc2020TypeOfActivityRef"
          ANZSRCFieldOfResearch: "#/components/schemas/Anzsrc2020FieldOfResearchRef"
          ANZSRCSocioEconomicObjective: "#/components/schemas/Anzsrc2020SocioEconomicObjectiveRef"
          Semester: "#/components/schemas/SemesterRef"
          Education: "#/components/schemas/EducationRef"
          Course: "#/components/schemas/CourseRef"
          CurriculumVitae: "#/components/schemas/CurriculumVitaeRef"
          CustomDefinedFieldConfiguration: "#/components/schemas/CustomDefinedFieldConfigurationRef"
          KeywordGroupConfiguration: "#/components/schemas/KeywordGroupConfigurationRef"
          Review: "#/components/schemas/ReviewRef"
          GenericContentRef: "#/components/schemas/GenericContentRef"
          UserProfile: "#/components/schemas/UserProfileRef"
          Thesaurus: "#/components/schemas/ThesaurusRef"
          Concept: "#/components/schemas/ConceptRef"
    ContentRefListResult:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: "#/components/schemas/ContentRef"
      description: List of Content Refs
    ContractNegotiationAwardStatus:
      type: object
      description: Indicates that an award is in the contract negotiation phase.
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
    ContributionToBookAnthology:
      required:
      - category
      - contributors
      - hostPublicationTitle
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "Books, reports and anthologies/collected works where the author(s)\
        \ are only responsible for part of the work, e.g. a chapter."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          printISBNs:
            type: array
            description: The ISBN number for the printed versions of the production.
            nullable: true
            items:
              type: string
          electronicISBNs:
            type: array
            description: The ISBN number for the electronic versions of the production.
            nullable: true
            items:
              type: string
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          event:
            $ref: "#/components/schemas/EventRef"
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          pages:
            type: string
            description: "The pages of the host publication covered by this contribution,\
              \ for example 10-15."
            nullable: true
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          hostPublicationEditors:
            type: array
            description: A list of host publication editors.
            nullable: true
            items:
              $ref: "#/components/schemas/Name"
          hostPublicationTitle:
            $ref: "#/components/schemas/FormattedString"
          hostPublicationSubTitle:
            $ref: "#/components/schemas/FormattedString"
          translatedHostPublicationTitle:
            $ref: "#/components/schemas/FormattedLocalizedString"
          translatedHostPublicationSubtitle:
            $ref: "#/components/schemas/FormattedLocalizedString"
          articleNumber:
            type: string
            description: The article number.
            nullable: true
          caseNotes:
            type: array
            description: A collection of court case notes related to this research
              output.
            nullable: true
            items:
              $ref: "#/components/schemas/CaseNote"
          commissioningBody:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
          chapter:
            type: string
            description: "The chapter of the host publication covered by this contribution,\
              \ for example 2."
            nullable: true
          conferenceSeries:
            $ref: "#/components/schemas/ConferenceSeriesRef"
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
    ContributionToConference:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "Article, abstract or poster, published in continuation of a conference."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          pages:
            type: string
            description: "The pages of the host publication covered by this contribution,\
              \ for example 10-15."
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          event:
            $ref: "#/components/schemas/EventRef"
    ContributionToJournal:
      required:
      - category
      - contributors
      - journalAssociation
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "A journal is published in a consecutive number of volumes/issues,\
        \ as a series with the same journal title."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          event:
            $ref: "#/components/schemas/EventRef"
          pages:
            type: string
            description: "The pages of the host publication covered by this contribution,\
              \ for example 10-15."
            nullable: true
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          journalAssociation:
            $ref: "#/components/schemas/JournalAssociation"
          articleNumber:
            type: string
            description: The article number.
            nullable: true
          journalNumber:
            type: string
            description: The issue number of the journal the research output is published
              in.
            nullable: true
          caseNotes:
            type: array
            description: A collection of court case notes related to this research
              output.
            nullable: true
            items:
              $ref: "#/components/schemas/CaseNote"
          conferenceSeries:
            $ref: "#/components/schemas/ConferenceSeriesRef"
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
    ContributionToMemorandum:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: A contribution to memorandum or exposition.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          applicant:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          projectNumber:
            type: string
            description: The project number.
            nullable: true
          journalNumber:
            type: string
            description: The journal number.
            nullable: true
          dateFinished:
            type: string
            description: The date finished.
            format: date
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
    ContributionToPeriodical:
      required:
      - category
      - contributors
      - journalAssociation
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: A research output that has been published in a domain-specific
        journal with a more communicative approach.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          journalAssociation:
            $ref: "#/components/schemas/JournalAssociation"
          number:
            type: string
            description: The number of periodical.
            nullable: true
          pages:
            type: string
            description: "The pages of the host publication covered by this contribution,\
              \ for example 10-15."
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
    CourseRef:
      required:
      - uuid
      type: object
      description: A reference to a course
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    CurrencyAmount:
      required:
      - currency
      - value
      type: object
      properties:
        currency:
          type: string
          description: "An ISO-4217 3-letter alphabetic code as defined by the W3C's\
            \ Payment Request standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-currency"
        value:
          type: string
          description: "A valid decimal monetary value as defined by the W3C's Payment\
            \ Request standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-value"
          format: "^-?[0-9]+(\\.[0-9]+)?$"
      description: "A monetary value in the specified currency as defined by the W3C's\
        \ Payment Request standard: https://www.w3.org/TR/payment-request/#paymentcurrencyamount-dictionary"
    CurriculumVitaeRef:
      required:
      - uuid
      type: object
      description: A reference to a curriculum vitae
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    CurtailedAwardStatus:
      required:
      - date
      type: object
      description: Indicates that an award is curtailed.
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
      - type: object
        properties:
          date:
            type: string
            description: The date of curtail.
            format: date
          reason:
            type: string
            description: The reason for curtail.
            nullable: true
    CustomDefinedField:
      required:
      - typeDiscriminator
      type: object
      properties:
        typeDiscriminator:
          type: string
      description: "Map of CustomDefinedField values, where the key is the field identifier"
      nullable: true
      example: "{ \"fieldName1\": \"typeDiscriminator\": \"Integer\", \"value\" :\
        \ 1}"
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          Integer: "#/components/schemas/CustomDefinedFieldInteger"
          String: "#/components/schemas/CustomDefinedFieldString"
          Date: "#/components/schemas/CustomDefinedFieldDate"
          Classification: "#/components/schemas/CustomDefinedFieldClassification"
          Boolean: "#/components/schemas/CustomDefinedFieldBoolean"
          Decimal: "#/components/schemas/CustomDefinedFieldDecimal"
    CustomDefinedFieldBoolean:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            type: boolean
            description: The boolean value for the custom field
            nullable: true
    CustomDefinedFieldClassification:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            $ref: "#/components/schemas/ClassificationRef"
    CustomDefinedFieldConfigurationRef:
      required:
      - uuid
      type: object
      description: A reference to a custom-defined field configuration
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    CustomDefinedFieldDate:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            type: string
            description: The date value for the custom field
            format: date
            nullable: true
    CustomDefinedFieldDecimal:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            type: number
            description: The decimal value for the custom field
            nullable: true
    CustomDefinedFieldInteger:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            type: integer
            description: The integer value for the custom field
            format: int32
            nullable: true
    CustomDefinedFieldString:
      type: object
      nullable: true
      allOf:
      - $ref: "#/components/schemas/CustomDefinedField"
      - type: object
        properties:
          value:
            type: string
            description: The string value for the custom field
            nullable: true
    CustomDefinedFields:
      type: object
      additionalProperties:
        $ref: "#/components/schemas/CustomDefinedField"
      description: "Map of CustomDefinedField values, where the key is the field identifier"
      nullable: true
      example: "{ \"fieldName1\": \"typeDiscriminator\": \"Integer\", \"value\" :\
        \ 1}"
    DataSet:
      required:
      - managingOrganization
      - persons
      - publisher
      - title
      - type
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          $ref: "#/components/schemas/LocalizedString"
        descriptions:
          type: array
          description: A collection of descriptions.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        natureTypes:
          type: array
          description: Nature of activity types for the project.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        publisher:
          $ref: "#/components/schemas/PublisherRef"
        temporalCoveragePeriod:
          $ref: "#/components/schemas/CompoundDateRange"
        dataProductionPeriod:
          $ref: "#/components/schemas/CompoundDateRange"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        geoLocation:
          $ref: "#/components/schemas/DataSetGeoLocation"
        persons:
          type: array
          description: DEPRECATED - use contributors instead. The persons that the
            dataset is associated with
          deprecated: true
          items:
            $ref: "#/components/schemas/AbstractDataSetPersonAssociation"
        contributors:
          type: array
          description: The contributors that the dataset is associated with
          items:
            $ref: "#/components/schemas/AbstractDataSetContributorAssociation"
        totalNumberOfAuthors:
          type: integer
          description: The total number of authors from author collaborations.
          format: int32
          nullable: true
        doi:
          $ref: "#/components/schemas/DataSetDoi"
        documents:
          type: array
          description: A collection of documents.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetDocument"
        physicalData:
          type: array
          description: A collection of physical data.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetPhysicalData"
        contactPerson:
          $ref: "#/components/schemas/PersonRef"
        legalConditions:
          type: array
          description: A collection of legal conditions.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetLegalCondition"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        publicationAvailableDate:
          $ref: "#/components/schemas/CompoundDate"
        openAccess:
          $ref: "#/components/schemas/OpenAccess"
        openAireCompliant:
          type: boolean
          description: OpenAire Compliancy.
          readOnly: true
        license:
          $ref: "#/components/schemas/ClassificationRef"
        dataSets:
          type: array
          description: A collection of related datasets.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetAssociation"
        projects:
          type: array
          description: A collection of related projects.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetProjectAssociation"
        researchOutputs:
          type: array
          description: A collection of related research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetResearchOutputAssociation"
        activities:
          type: array
          description: A collection of related activities.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetActivityAssociation"
        pressMedia:
          type: array
          description: A collection of related press media.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetPressMediaAssociation"
        studentTheses:
          type: array
          description: A collection of related student theses.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetStudentThesisAssociation"
        impacts:
          type: array
          description: A collection of related impacts.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetImpactAssociation"
        prizes:
          type: array
          description: A collection of related prizes.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetPrizeAssociation"
        equipment:
          type: array
          description: A collection of related equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetEquipmentAssociation"
        links:
          type: array
          description: A collection of links.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: A group for each type of keyword present.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        visibility:
          $ref: "#/components/schemas/Visibility"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        fundingText:
          $ref: "#/components/schemas/LocalizedString"
        fundingDetails:
          type: array
          description: The funding details for the dataset
          nullable: true
          items:
            $ref: "#/components/schemas/FundingDetails"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        workflow:
          $ref: "#/components/schemas/Workflow"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A dataset
    DataSetActivityAssociation:
      required:
      - activity
      type: object
      properties:
        activity:
          $ref: "#/components/schemas/ActivityRef"
      description: An association to an activity.
    DataSetAssociation:
      required:
      - dataSet
      type: object
      properties:
        dataSet:
          $ref: "#/components/schemas/DataSetRef"
      description: An association to a dataset.
    DataSetAuthorCollaborationContributorAssociation:
      required:
      - authorCollaboration
      type: object
      description: An author collaboration associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractDataSetContributorAssociation"
      - type: object
        properties:
          authorCollaboration:
            $ref: "#/components/schemas/AuthorCollaborationRef"
    DataSetAwardableAssociation:
      required:
      - dataSet
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        dataSet:
          $ref: "#/components/schemas/DataSetRef"
      description: "A relation to a dataset, optionally in the context of the Award\
        \ that made it possible."
    DataSetDocument:
      required:
      - fileName
      - mimeType
      - type
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        title:
          type: string
          description: Document title
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        license:
          $ref: "#/components/schemas/ClassificationRef"
        visibleOnPortalDate:
          type: string
          description: The date the document will be available on the portal
          format: date
          readOnly: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        creator:
          type: string
          description: The user that created the document
          readOnly: true
        created:
          type: string
          description: Create date for the document
          format: date-time
          readOnly: true
        embargoDate:
          type: string
          description: Embargo date.
          format: date-time
          nullable: true
      description: A dataset document.
    DataSetDoi:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        doi:
          type: string
          description: DOI.
          nullable: true
        accessType:
          $ref: "#/components/schemas/ClassificationRef"
        embargoPeriod:
          $ref: "#/components/schemas/DateRange"
        licenseType:
          $ref: "#/components/schemas/ClassificationRef"
      description: A DOI.
    DataSetEquipmentAssociation:
      required:
      - equipment
      type: object
      properties:
        equipment:
          $ref: "#/components/schemas/EquipmentRef"
      description: An association to an equipment.
    DataSetExternalContributorAssociation:
      required:
      - externalPerson
      - role
      type: object
      description: An external contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractDataSetContributorAssociation"
      - type: object
        properties:
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          period:
            $ref: "#/components/schemas/DateRange"
          hidden:
            type: boolean
            description: "If this contribution should be hidden, this is set to true,\
              \ false otherwise. This is used for dataset that have author collaborations.\
              \ If they do, we hide the individual contributors."
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    DataSetGeoLocation:
      type: object
      properties:
        point:
          type: string
          description: Location expressed as a point
          nullable: true
        polygon:
          type: string
          description: Location expressed as a polygon
          nullable: true
        calculatedPoint:
          type: string
          description: Used to determine whether or not we may update the point. An
            end-user has not entered a point manually if the value of the calculated
            point is the same as point
          readOnly: true
        geographicalCoverage:
          $ref: "#/components/schemas/LocalizedString"
      description: A data set geo-location.
    DataSetImpactAssociation:
      required:
      - impact
      type: object
      properties:
        impact:
          $ref: "#/components/schemas/ImpactRef"
      description: An association to an impact.
    DataSetInternalContributorAssociation:
      required:
      - person
      - role
      type: object
      description: An internal contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractDataSetContributorAssociation"
      - type: object
        properties:
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          period:
            $ref: "#/components/schemas/DateRange"
          hidden:
            type: boolean
            description: "If this contribution should be hidden, this is set to true,\
              \ false otherwise. This is used for dataset that have author collaborations.\
              \ If they do, we hide the individual contributors."
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    DataSetLegalCondition:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        description:
          type: string
          description: Description.
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A description of a legal condition.
    DataSetListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: DataSets
          items:
            $ref: "#/components/schemas/DataSet"
      description: List of datasets. Can contain a subset of all items along with
        the full count
    DataSetPhysicalData:
      required:
      - media
      - storageLocation
      - title
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        title:
          type: string
          description: Title.
        storageLocation:
          type: string
          description: Storage location.
        accessDescription:
          type: string
          description: Access description.
          nullable: true
        media:
          type: string
          description: Media.
        type:
          $ref: "#/components/schemas/ClassificationRef"
      description: A description of physical data.
    DataSetPressMediaAssociation:
      required:
      - pressMedia
      type: object
      properties:
        pressMedia:
          $ref: "#/components/schemas/PressMediaRef"
      description: An association to a press media.
    DataSetPrizeAssociation:
      required:
      - prize
      type: object
      properties:
        prize:
          $ref: "#/components/schemas/PrizeRef"
      description: An association to a prize.
    DataSetProjectAssociation:
      required:
      - project
      type: object
      properties:
        project:
          $ref: "#/components/schemas/ProjectRef"
      description: An association to a project.
    DataSetRef:
      required:
      - uuid
      type: object
      description: A reference to a data set
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    DataSetResearchOutputAssociation:
      required:
      - researchOutput
      type: object
      properties:
        researchOutput:
          $ref: "#/components/schemas/ResearchOutputRef"
      description: An association to a research output.
    DataSetStudentThesisAssociation:
      required:
      - studentThesis
      type: object
      properties:
        studentThesis:
          $ref: "#/components/schemas/StudentThesisRef"
      description: An association to a student thesis.
    DataSetsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for data sets
    DateRange:
      type: object
      properties:
        startDate:
          type: string
          description: Start date
          format: date
          nullable: true
        endDate:
          type: string
          description: End date
          format: date
          nullable: true
      description: A date range
    DeclinedAwardStatus:
      required:
      - date
      type: object
      description: Indicates that an award was declined.
      nullable: true
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
      - type: object
        properties:
          date:
            type: string
            description: The date of declination.
            format: date
          reason:
            type: string
            description: The reason for declination.
            nullable: true
    DependencyViolationProblemDetails:
      type: object
      description: "Problem details for dependency violation failures, typically seen\
        \ when deleting an entity that referred to from other dependent entities"
      allOf:
      - $ref: "#/components/schemas/ProblemDetails"
      - type: object
        properties:
          dependencyViolationErrors:
            type: array
            description: "A list of dependant content that block deletion, may not\
              \ be a complete list if the number of dependencies is very large"
            items:
              $ref: "#/components/schemas/ContentRef"
    DeprecatedDateRange:
      type: object
      properties:
        startDate:
          type: string
          description: Start date
          format: date
          nullable: true
        endDate:
          type: string
          description: End date
          format: date
          nullable: true
      description: Deprecated version of DateRange
      deprecated: true
    DeprecatedSystemCurrencyAmount:
      required:
      - value
      type: object
      properties:
        currency:
          type: string
          description: "An ISO-4217 3-letter alphabetic code representing the Pure\
            \ installation's system currency as defined by the W3C's Payment Request\
            \ standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-currency"
          readOnly: true
        value:
          type: string
          description: "A valid decimal monetary value as defined by the W3C's Payment\
            \ Request standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-value"
          format: "^-?[0-9]+(\\.[0-9]+)?$"
      description: Deprecated version of SystemCurrencyAmount
      deprecated: true
    DisciplinesAssociation:
      required:
      - disciplineAssignments
      type: object
      properties:
        content:
          $ref: "#/components/schemas/ContentRef"
        disciplineScheme:
          type: string
          description: The discipline scheme these disciplines are assigned from
          readOnly: true
        disciplineAssignments:
          type: array
          description: A collection of assigned disciplines
          items:
            $ref: "#/components/schemas/DisciplinesDisciplineAssignment"
      description: An association between a content and a number of discipline assignments
    DisciplinesAssociationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Discipline associations
          items:
            $ref: "#/components/schemas/DisciplinesAssociation"
      description: List of discipline associations. Can contain a subset of all items
        along with the full count
    DisciplinesAssociationsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
      description: Create a query for discipline associations
    DisciplinesDiscipline:
      type: object
      properties:
        disciplineId:
          type: string
          description: The discipline identifier
          readOnly: true
        title:
          type: string
          description: The discipline title
          readOnly: true
        description:
          type: string
          description: The discipline description
          readOnly: true
      description: A discipline within a specific discipline scheme
    DisciplinesDisciplineAssignment:
      required:
      - disciplineId
      - splitPercentage
      type: object
      properties:
        disciplineId:
          type: string
          description: The assigned discipline
        splitPercentage:
          type: number
          description: The split percentages within an assigned discipline scheme
            must sum up to 100%
          format: double
      description: The assigned discipline and its split percentage
    DisciplinesDisciplineListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Disciplines
          items:
            $ref: "#/components/schemas/DisciplinesDiscipline"
      description: List of disciplines for a specific discipline scheme
    DisciplinesDisciplineScheme:
      required:
      - disciplineScheme
      - title
      type: object
      properties:
        disciplineScheme:
          type: string
          description: The discipline scheme identifier
        title:
          type: string
          description: The discipline title
      description: A discipline scheme
    DisciplinesDisciplineSchemeListResult:
      type: object
      properties:
        count:
          type: integer
          description: The amount of discipline schemes
          format: int32
        items:
          type: array
          description: Discipline schemes
          items:
            $ref: "#/components/schemas/DisciplinesDisciplineScheme"
      description: List of discipline schemes
    Document:
      required:
      - fileName
      - mimeType
      - type
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        title:
          type: string
          description: Document title
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        license:
          $ref: "#/components/schemas/ClassificationRef"
        visibleOnPortalDate:
          type: string
          description: The date the document will be available on the portal
          format: date
          readOnly: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        creator:
          type: string
          description: The user that created the document
          readOnly: true
        created:
          type: string
          description: Create date for the document
          format: date-time
          readOnly: true
      description: Document
    DoiElectronicVersion:
      required:
      - doi
      type: object
      description: DOI electronic version related to a research output.
      allOf:
      - $ref: "#/components/schemas/ElectronicVersion"
      - type: object
        properties:
          doi:
            type: string
            description: The DOI of the electronic version (without proxy such as
              10.1000/182).
          versionType:
            $ref: "#/components/schemas/ClassificationRef"
    EditorialWork:
      required:
      - editorialWork
      - managingOrganization
      - period
      - persons
      - type
      - visibility
      type: object
      description: Publication peer-review and editorial work
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          editorialWork:
            $ref: "#/components/schemas/AbstractEditorialWorkAssociation"
    EducationRef:
      required:
      - uuid
      type: object
      description: A reference to Education
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ElectronicISSN:
      required:
      - issn
      type: object
      description: "Additional Electronic ISSN, is searchable but cannot be used when\
        \ relating the journal to other content"
      allOf:
      - $ref: "#/components/schemas/AdditionalISSN"
    ElectronicVersion:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        accessType:
          $ref: "#/components/schemas/ClassificationRef"
        embargoPeriod:
          $ref: "#/components/schemas/DateRange"
        licenseType:
          $ref: "#/components/schemas/ClassificationRef"
        userDefinedLicense:
          type: string
          description: License defined by the user.
          nullable: true
        visibleOnPortalDate:
          type: string
          description: Date where this document is/will be visible on the portal.
          format: date
          readOnly: true
        creator:
          type: string
          description: Username of creator
          readOnly: true
        created:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        typeDiscriminator:
          type: string
      description: Electronic version related to a research output.
      nullable: true
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          DoiElectronicVersion: "#/components/schemas/DoiElectronicVersion"
          FileElectronicVersion: "#/components/schemas/FileElectronicVersion"
          LinkElectronicVersion: "#/components/schemas/LinkElectronicVersion"
    ElectronicVersionFile:
      required:
      - fileName
      - mimeType
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
      description: Information about an electronic version file
    Equipment:
      required:
      - loanType
      - managingOrganization
      - organizations
      - title
      - type
      - visibility
      - workflow
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          $ref: "#/components/schemas/FormattedLocalizedString"
        descriptions:
          type: array
          description: A collection of descriptions about or related to the equipment
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        details:
          type: array
          description: A collection of details bout or related to the equipment
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentDetails"
        organizations:
          type: array
          description: A collection of affiliated organizations
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        contactPersons:
          type: array
          description: A collection of contact persons
          nullable: true
          items:
            $ref: "#/components/schemas/PersonRef"
        addresses:
          type: array
          description: A collection of classified addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedAddress"
        phoneNumbers:
          type: array
          description: A collection of classified phone numbers
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        emails:
          type: array
          description: A collection of classified e-mail addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        webAddresses:
          type: array
          description: A collection of classified web addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        loanType:
          $ref: "#/components/schemas/ClassificationRef"
        loanTerms:
          $ref: "#/components/schemas/FormattedLocalizedString"
        pressMedia:
          type: array
          description: A collection of related press media
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentPressMediaAssociation"
        visibility:
          $ref: "#/components/schemas/Visibility"
        keywordGroups:
          type: array
          description: A group for each type of keyword present
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        persons:
          type: array
          description: The persons that the equipment is associated with
          nullable: true
          items:
            $ref: "#/components/schemas/AbstractEquipmentPersonAssociation"
        researchOutputRelations:
          type: array
          description: A collection of research output relations
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputRef"
        impactRelations:
          type: array
          description: A collection of impacts relations
          nullable: true
          items:
            $ref: "#/components/schemas/ImpactRef"
        studentThesisRelations:
          type: array
          description: A collection of student thesis relations
          nullable: true
          items:
            $ref: "#/components/schemas/StudentThesisRef"
        activityRelations:
          type: array
          description: A collection of activity relations
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityRef"
        parents:
          type: array
          description: A collection of parent equipments
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentRef"
        category:
          $ref: "#/components/schemas/ClassificationRef"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: An equipment known to an institution
    EquipmentAwardableAssociation:
      required:
      - equipment
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        equipment:
          $ref: "#/components/schemas/EquipmentRef"
      description: "A relation to an equipment, optionally in the context of the Award\
        \ that made it possible."
    EquipmentDetails:
      required:
      - name
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        name:
          $ref: "#/components/schemas/FormattedLocalizedString"
        identifiers:
          type: array
          description: "IDs associated with this object. Such as serial number, manufacturer\
            \ id , internal id."
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        acquisitionDate:
          type: string
          description: Acquisition date
          format: date
          nullable: true
        decommissionDate:
          type: string
          description: Decommission date
          format: date
          nullable: true
        value:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        manufacturers:
          type: array
          description: A collection of manufacturers
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
      description: Details about a piece of equipment
    EquipmentListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Equipment
          items:
            $ref: "#/components/schemas/Equipment"
      description: List of equipment. Can contain a subset of all items along with
        the full count
    EquipmentPressMediaAssociation:
      required:
      - pressMedia
      type: object
      properties:
        pressMedia:
          $ref: "#/components/schemas/PressMediaRef"
      description: An association to a press media.
    EquipmentQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for equipment
    EquipmentRef:
      required:
      - uuid
      type: object
      description: A reference to a piece of equipment
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    EthicalReviewRef:
      required:
      - uuid
      type: object
      description: A reference to an ethical review
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Event:
      required:
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        abbreviatedTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        geoLocation:
          $ref: "#/components/schemas/GeoLocation"
        city:
          type: string
          description: The city of the event
          nullable: true
        conferenceNumber:
          type: string
          description: The conference number of the event
          nullable: true
        country:
          $ref: "#/components/schemas/ClassificationRef"
        degreeOfRecognition:
          $ref: "#/components/schemas/ClassificationRef"
        description:
          $ref: "#/components/schemas/FormattedLocalizedString"
        keywordGroups:
          type: array
          description: A group for each type of keyword present
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        links:
          type: array
          description: Links to information about the event
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        location:
          type: string
          description: The actual location of the event
          nullable: true
        organizers:
          type: array
          description: The organizers of the event
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        lifecycle:
          $ref: "#/components/schemas/DateRange"
        events:
          type: array
          description: Other events related to this event
          nullable: true
          items:
            $ref: "#/components/schemas/EventRef"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        sponsorOrganizations:
          type: array
          description: The event sponsors
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        subdivision:
          $ref: "#/components/schemas/ClassificationRef"
        title:
          $ref: "#/components/schemas/FormattedLocalizedString"
        subTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        workflow:
          $ref: "#/components/schemas/Workflow"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: "An event typically a conference, workshop or similar"
    EventListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Events
          items:
            $ref: "#/components/schemas/Event"
      description: List of events. Can contain a subset of all items along with the
        full count
    EventMembershipAssociation:
      required:
      - event
      type: object
      description: An editorial work association with an event.
      allOf:
      - $ref: "#/components/schemas/AbstractEditorialWorkAssociation"
      - type: object
        properties:
          event:
            $ref: "#/components/schemas/EventRef"
    EventRef:
      required:
      - uuid
      type: object
      description: A reference to an event
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    EventsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for events
    Examination:
      required:
      - managingOrganization
      - period
      - persons
      - title
      - type
      - visibility
      type: object
      description: Examination
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          title:
            $ref: "#/components/schemas/FormattedLocalizedString"
          examinationsAtOrganizations:
            type: array
            description: The examination at organizations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
          examinees:
            type: array
            description: List of examinees.
            nullable: true
            items:
              $ref: "#/components/schemas/AbstractExamineeAssociation"
    ExtendedAwardStatus:
      required:
      - extendedEndDate
      type: object
      description: Indicates that an award is extended.
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
      - type: object
        properties:
          extendedEndDate:
            type: string
            description: The date the award is extended to
            format: date
          dateOfExtension:
            type: string
            description: The date the award was extended
            format: date
            nullable: true
    ExternalActivityPersonAssociation:
      required:
      - role
      type: object
      description: An association between an external person and the activity
      allOf:
      - $ref: "#/components/schemas/AbstractActivityPersonAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalApplicantAssociation:
      required:
      - externalPerson
      - role
      type: object
      description: An association for an external person that participated in the
        application.
      allOf:
      - $ref: "#/components/schemas/AbstractApplicantAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalAppointment:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        appointment:
          $ref: "#/components/schemas/ClassificationRef"
        appointmentString:
          $ref: "#/components/schemas/LocalizedString"
        period:
          $ref: "#/components/schemas/CompoundDateRange"
        externalOrganization:
          $ref: "#/components/schemas/ExternalOrganizationRef"
      description: An appointment held in an external organizational unit
    ExternalAwardHolderAssociation:
      required:
      - externalPerson
      - role
      type: object
      description: An association for an external person that participated in the
        award.
      allOf:
      - $ref: "#/components/schemas/AbstractAwardHolderAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalCollaboratorAssociation:
      required:
      - externalOrganization
      type: object
      description: An external collaborator associated with the content.
      allOf:
      - $ref: "#/components/schemas/CollaboratorAssociation"
      - type: object
        properties:
          externalOrganization:
            $ref: "#/components/schemas/ExternalOrganizationRef"
    ExternalContributorAssociation:
      required:
      - externalPerson
      - name
      - role
      type: object
      description: An external contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractContributorAssociation"
      - type: object
        properties:
          hidden:
            type: boolean
            description: "If this contribution should be hidden, this is set to true,\
              \ false otherwise. This is used for research output that have author\
              \ collaborations. If they do, we hide the individual contributors."
          contributionDescription:
            type: string
            description: A string that details the contribution of the associated
              person.
            nullable: true
          contributionPercentage:
            type: number
            description: "A real number between 0 and 1, describing the percentage\
              \ of the contribution of the person."
            format: double
            nullable: true
          country:
            $ref: "#/components/schemas/ClassificationRef"
          correspondingAuthor:
            type: boolean
            description: "True if the contributor is the corresponding author, false\
              \ otherwise."
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalDataSetPersonAssociation:
      required:
      - role
      type: object
      description: An external association with the dataset.
      allOf:
      - $ref: "#/components/schemas/AbstractDataSetPersonAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalEquipmentPersonAssociation:
      type: object
      description: An external association with the equipment.
      allOf:
      - $ref: "#/components/schemas/AbstractEquipmentPersonAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalExamineeAssociation:
      required:
      - externalPerson
      type: object
      description: An external examinee association.
      allOf:
      - $ref: "#/components/schemas/AbstractExamineeAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalOrganization:
      required:
      - name
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        name:
          $ref: "#/components/schemas/LocalizedString"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        natureTypes:
          type: array
          description: Nature of the organizations work
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        acronym:
          type: string
          description: Acronym of organization name
          nullable: true
        alternativeNames:
          type: array
          description: Alternative names of organization
          nullable: true
          items:
            type: string
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        address:
          $ref: "#/components/schemas/CERIFAddress"
        phoneNumber:
          type: string
          description: Phone number
          nullable: true
        mobilePhoneNumber:
          type: string
          description: Phone number (mobile)
          nullable: true
        fax:
          type: string
          description: Fax number
          nullable: true
        email:
          type: string
          description: Email address
          format: email
          nullable: true
        bankAccountNumber:
          type: string
          description: Bank account number
          nullable: true
        vatNumber:
          type: string
          description: VAT number
          nullable: true
        documents:
          type: array
          description: Arbitrary documents relevant to the organization
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        images:
          type: array
          description: External organization image
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        links:
          type: array
          description: Links to information about the organization
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: A group for each type of keyword present
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        note:
          type: string
          description: A free-form note about the organization
          nullable: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        workflow:
          $ref: "#/components/schemas/Workflow"
        takenOverBy:
          $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        lifecycle:
          $ref: "#/components/schemas/DateRange"
        parent:
          $ref: "#/components/schemas/ExternalOrganizationRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: An organization external to the institution
    ExternalOrganizationList:
      type: object
      properties:
        items:
          type: array
          description: External organizations
          items:
            $ref: "#/components/schemas/ExternalOrganization"
      description: List of organizations external to the institution.
    ExternalOrganizationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: External organizations
          items:
            $ref: "#/components/schemas/ExternalOrganization"
      description: List of organizations external to the institution. Can contain
        a subset of all items along with the full count
    ExternalOrganizationRef:
      required:
      - uuid
      type: object
      description: A reference to an organization external to the institution
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ExternalOrganizationRefList:
      type: object
      properties:
        items:
          type: array
          description: External organization references
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
      description: List of references to organizations external to the institution.
    ExternalOrganizationsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for external organizations
    ExternalParticipantAssociation:
      required:
      - externalPerson
      - role
      type: object
      description: An association for an external person that participated in the
        project.
      allOf:
      - $ref: "#/components/schemas/AbstractParticipantAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalPerson:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        name:
          $ref: "#/components/schemas/Name"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        title:
          $ref: "#/components/schemas/LocalizedString"
        country:
          $ref: "#/components/schemas/ClassificationRef"
        email:
          type: string
          description: Email address
          format: email
          nullable: true
        gender:
          $ref: "#/components/schemas/Gender"
        externalOrganizations:
          type: array
          description: Organizations that the external person is associated
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        keywordGroups:
          type: array
          description: Groups of Keyword associated with the external person.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        workflow:
          $ref: "#/components/schemas/Workflow"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A person not known to the institution
    ExternalPersonListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: External Persons
          items:
            $ref: "#/components/schemas/ExternalPerson"
      description: List of external persons. Can contain a subset of all items along
        with the full count
    ExternalPersonRef:
      required:
      - uuid
      type: object
      description: A reference to a person external to the institution
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ExternalPersonsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for external persons
    ExternalPressMediaPersonAssociation:
      type: object
      description: An external person associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractPressMediaPersonAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalPrizeReceiverAssociation:
      required:
      - externalPerson
      - role
      type: object
      description: An external association with the prize.
      allOf:
      - $ref: "#/components/schemas/AbstractPrizeReceiverAssociation"
      - type: object
        properties:
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    ExternalStudentThesisContributorAssociation:
      required:
      - externalPerson
      - name
      - role
      type: object
      description: An external contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractStudentThesisContributorAssociation"
      - type: object
        properties:
          country:
            $ref: "#/components/schemas/ClassificationRef"
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          externalPerson:
            $ref: "#/components/schemas/ExternalPersonRef"
    FileElectronicVersion:
      type: object
      description: File electronic version related to a research output.
      allOf:
      - $ref: "#/components/schemas/ElectronicVersion"
      - type: object
        properties:
          title:
            type: string
            description: The title of the file.
            nullable: true
          rightsStatement:
            type: string
            description: A description of property rights for the file.
            nullable: true
          file:
            $ref: "#/components/schemas/ElectronicVersionFile"
          versionType:
            $ref: "#/components/schemas/ClassificationRef"
          legacyAccessDate:
            type: string
            description: The legacy access date (Elsevier/REF2020 only).
            format: date
            nullable: true
          legacyDepositDate:
            type: string
            description: The legacy deposit date (Elsevier/REF2020 only).
            format: date
            nullable: true
    FormattedLocalizedString:
      type: object
      additionalProperties:
        type: string
        description: A set of localized strings that support formatting. Invalid locale
          values will be ignored.
        nullable: true
        example: "{\"en_GB\":\"Some text\"}"
      description: A set of localized strings that support formatting. Invalid locale
        values will be ignored.
      nullable: true
      example:
        en_GB: Some text
    FormattedString:
      required:
      - value
      type: object
      properties:
        value:
          type: string
          description: The actual formatted string
      description: A string containing HTML formatted text
    FreeKeywordsKeywordGroup:
      required:
      - logicalName
      type: object
      description: De-normalized version of the full keyword group representation
        for instances where only free keywords can be selected
      allOf:
      - $ref: "#/components/schemas/KeywordGroup"
      - type: object
        properties:
          keywords:
            minItems: 1
            type: array
            description: Free keywords
            items:
              $ref: "#/components/schemas/Keyword"
    FullKeywordGroup:
      required:
      - logicalName
      type: object
      description: "Keywords of a specific type. A type of keyword can be configured\
        \ to solely support free keywords (represented as the FreeKeywordsKeywordGroup\
        \ type), to solely support structured keywords (represented as the ClassificationsKeywordGroup\
        \ type), or to both support structured keywords supplemented by optional free\
        \ keywords (this type)"
      allOf:
      - $ref: "#/components/schemas/KeywordGroup"
      - type: object
        properties:
          keywordContainers:
            type: array
            description: Containers with structured keywords and/or free keywords
            nullable: true
            items:
              $ref: "#/components/schemas/KeywordContainer"
    FundingDetails:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fundingOrganizations:
          maxItems: 1
          type: array
          description: The internal or external funding organizations
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        fundingOrganizationAcronym:
          type: string
          description: The acronym of the funding organization
          nullable: true
        fundingNumbers:
          type: array
          description: Funding numbers/IDs
          nullable: true
          items:
            type: string
      description: Details about funding.
    FundingOpportunityRef:
      required:
      - uuid
      type: object
      description: A reference to a funding opportunity
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Gender:
      type: object
      properties:
        key:
          type: string
          enum:
          - MALE
          - FEMALE
          - UNKNOWN
        value:
          $ref: "#/components/schemas/LocalizedString"
      description: A list of possible genders
      nullable: true
    GenericContentRef:
      required:
      - uuid
      type: object
      description: A content reference for content that has no API model (yet)
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    GenericProblemDetails:
      type: object
      description: Problem details for generic failures
      allOf:
      - $ref: "#/components/schemas/ProblemDetails"
    GeoLocation:
      type: object
      properties:
        point:
          type: string
          description: Location expressed as a point
          nullable: true
        polygon:
          type: string
          description: Location expressed as a polygon
          nullable: true
        calculatedPoint:
          type: string
          description: Used to determine whether or not we may update the point. An
            end-user has not entered a point manually if the value of the calculated
            point is the same as point
          readOnly: true
      description: Geographical location
      nullable: true
    GlobalRoleAssignment:
      required:
      - roleDefinition
      type: object
      properties:
        roleDefinition:
          $ref: "#/components/schemas/AssignableRoleRef"
      description: Assignment of a global role
    HighlightedContent:
      type: object
      properties:
        courses:
          type: array
          description: References to highlighted courses.
          nullable: true
          items:
            $ref: "#/components/schemas/CourseRef"
        curriculaVitae:
          type: array
          description: References to highlighted curricula vitae.
          nullable: true
          items:
            $ref: "#/components/schemas/CurriculumVitaeRef"
        researchOutputs:
          type: array
          description: References to highlighted research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputRef"
        activities:
          type: array
          description: References to highlighted activities.
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityRef"
        applications:
          type: array
          description: References to highlighted applications.
          nullable: true
          items:
            $ref: "#/components/schemas/ApplicationRef"
        awards:
          type: array
          description: References to highlighted awards.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardRef"
        prizes:
          type: array
          description: References to highlighted prizes.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeRef"
        projects:
          type: array
          description: References to highlighted projects.
          nullable: true
          items:
            $ref: "#/components/schemas/ProjectRef"
        pressMedia:
          type: array
          description: References to highlighted press media.
          nullable: true
          items:
            $ref: "#/components/schemas/PressMediaRef"
        impacts:
          type: array
          description: References to highlighted impacts.
          nullable: true
          items:
            $ref: "#/components/schemas/ImpactRef"
        datasets:
          type: array
          description: References to highlighted datasets.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetRef"
        studentTheses:
          type: array
          description: References to highlighted student theses.
          nullable: true
          items:
            $ref: "#/components/schemas/StudentThesisRef"
        equipment:
          type: array
          description: References to highlighted equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentRef"
      description: A person's highlighted content
    HonoraryStaffOrganizationAssociation:
      type: object
      description: A relation describing the association between honorary staff and
        organization
      allOf:
      - $ref: "#/components/schemas/PersonOrganizationAssociation"
      - type: object
        properties:
          jobDescription:
            $ref: "#/components/schemas/LocalizedString"
          jobTitle:
            $ref: "#/components/schemas/ClassificationRef"
    HostVisitor:
      required:
      - managingOrganization
      - period
      - type
      - visibility
      type: object
      description: Hosting a visitor
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          persons:
            type: array
            description: A collection of persons.
            nullable: true
            items:
              $ref: "#/components/schemas/AbstractActivityPersonAssociation"
          event:
            $ref: "#/components/schemas/EventRef"
          visitors:
            maxItems: 1
            minItems: 1
            type: array
            description: A collection of visitors.
            nullable: true
            items:
              $ref: "#/components/schemas/ActivityVisitorAssociation"
    ISSN:
      required:
      - issn
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        startDate:
          $ref: "#/components/schemas/CompoundDate"
        endDate:
          $ref: "#/components/schemas/CompoundDate"
        issn:
          type: string
          description: The actual ISSN value
      description: "An ISSN of a journal, can be populated with a start and end date\
        \ if the ISSN is only used in a specific period."
    ISSNRef:
      required:
      - pureId
      type: object
      properties:
        pureId:
          type: integer
          description: Pure database ID of the ISSN. This is found by retrieving the
            Journal and going through the ISSNs collection.
          format: int64
        issn:
          type: string
          description: The actual ISSN value
          readOnly: true
      description: A reference to a journal ISSN
    Id:
      required:
      - idSource
      - value
      type: object
      description: An external ID
      allOf:
      - $ref: "#/components/schemas/Identifier"
      - type: object
        properties:
          pureId:
            type: integer
            description: Pure database ID of the object
            format: int64
            readOnly: true
          idSource:
            type: string
            description: Name of the external source
          value:
            type: string
            description: External ID
    Identifier:
      required:
      - typeDiscriminator
      type: object
      properties:
        typeDiscriminator:
          type: string
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ClassifiedId: "#/components/schemas/ClassifiedId"
          PrimaryId: "#/components/schemas/PrimaryId"
          Id: "#/components/schemas/Id"
    ImageFile:
      required:
      - fileName
      - mimeType
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        copyrightConfirmation:
          type: boolean
          description: Indicates whether this file has been confirmed to adhere to
            the appropriate copyrights
          nullable: true
        caption:
          $ref: "#/components/schemas/LocalizedString"
        altText:
          $ref: "#/components/schemas/LocalizedString"
        copyrightStatement:
          $ref: "#/components/schemas/LocalizedString"
      description: An image file
    ImpactAwardableAssociation:
      required:
      - impact
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        impact:
          $ref: "#/components/schemas/ImpactRef"
      description: "A relation to an impact, optionally in the context of the Award\
        \ that made it possible."
    ImpactRef:
      required:
      - uuid
      type: object
      description: A reference to impact
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    InternalActivityPersonAssociation:
      required:
      - role
      type: object
      description: An association between an internal person and the activity
      allOf:
      - $ref: "#/components/schemas/AbstractActivityPersonAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalApplicantAssociation:
      required:
      - person
      - role
      type: object
      description: An association for a person that participated in the application.
      allOf:
      - $ref: "#/components/schemas/AbstractApplicantAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalAwardHolderAssociation:
      required:
      - person
      - role
      type: object
      description: An association for a person that participated in the award.
      allOf:
      - $ref: "#/components/schemas/AbstractAwardHolderAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalCollaboratorAssociation:
      required:
      - organization
      type: object
      description: An internal collaborator associated with the content.
      allOf:
      - $ref: "#/components/schemas/CollaboratorAssociation"
      - type: object
        properties:
          organization:
            $ref: "#/components/schemas/OrganizationRef"
    InternalContributorAssociation:
      required:
      - name
      - person
      - role
      type: object
      description: An internal contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractContributorAssociation"
      - type: object
        properties:
          hidden:
            type: boolean
            description: "If this contribution should be hidden, this is set to true,\
              \ false otherwise. This is used for research output that have author\
              \ collaborations. If they do, we hide the individual contributors."
          contributionDescription:
            type: string
            description: A string that details the contribution of the associated
              person.
            nullable: true
          contributionPercentage:
            type: number
            description: "A real number between 0 and 1, describing the percentage\
              \ of the contribution of the person."
            format: double
            nullable: true
          country:
            $ref: "#/components/schemas/ClassificationRef"
          correspondingAuthor:
            type: boolean
            description: "True if the contributor is the corresponding author, false\
              \ otherwise."
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalDataSetPersonAssociation:
      required:
      - role
      type: object
      description: An internal association with the dataset.
      allOf:
      - $ref: "#/components/schemas/AbstractDataSetPersonAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalEquipmentPersonAssociation:
      required:
      - person
      type: object
      description: An internal association with the equipment.
      allOf:
      - $ref: "#/components/schemas/AbstractEquipmentPersonAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalExamineeAssociation:
      required:
      - person
      type: object
      description: An internal examinee association.
      allOf:
      - $ref: "#/components/schemas/AbstractExamineeAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
    InternalOrExternalSupervisor:
      type: object
      properties:
        externalSupervisor:
          $ref: "#/components/schemas/ExternalPersonRef"
        supervisor:
          $ref: "#/components/schemas/PersonRef"
      description: "A supervisor, either internal or external, use as mutually exclusive"
    InternalParticipantAssociation:
      required:
      - person
      - role
      type: object
      description: An association for a person that participated in the project.
      allOf:
      - $ref: "#/components/schemas/AbstractParticipantAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalPressMediaPersonAssociation:
      required:
      - person
      type: object
      description: An internal person associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractPressMediaPersonAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalPrizeReceiverAssociation:
      required:
      - person
      - role
      type: object
      description: An internal association with the prize.
      allOf:
      - $ref: "#/components/schemas/AbstractPrizeReceiverAssociation"
      - type: object
        properties:
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternalStudentThesisContributorAssociation:
      required:
      - name
      - person
      - role
      type: object
      description: An internal contributor associated with the content.
      allOf:
      - $ref: "#/components/schemas/AbstractStudentThesisContributorAssociation"
      - type: object
        properties:
          country:
            $ref: "#/components/schemas/ClassificationRef"
          name:
            $ref: "#/components/schemas/Name"
          role:
            $ref: "#/components/schemas/ClassificationRef"
          person:
            $ref: "#/components/schemas/PersonRef"
          organizations:
            type: array
            description: A collection of organizational unit affiliations.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
    InternallyApprovedAwardStatus:
      type: object
      description: Indicates that an award was internally approved.
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
      - type: object
        properties:
          date:
            type: string
            description: The internal approval date.
            format: date
            nullable: true
    Journal:
      required:
      - titles
      - type
      - workflow
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        issns:
          type: array
          description: "International Standard Serial Numbers of the journal, ISSNs\
            \ in this list are searchable and selectable when relating the journal\
            \ to other content"
          nullable: true
          items:
            $ref: "#/components/schemas/ISSN"
        additionalSearchableIssns:
          type: array
          description: "Additional International Standard Serial Numbers of the journal,\
            \ ISSNs in this list are searchable but not selectable when relating the\
            \ journal to other content"
          nullable: true
          items:
            $ref: "#/components/schemas/AdditionalISSN"
        country:
          $ref: "#/components/schemas/ClassificationRef"
        indexedInDoaj:
          type: boolean
          description: Whether the journal is present in the Directory of Open Access
            Journals
        keywordGroups:
          type: array
          description: Keywords associated with the journal
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        links:
          type: array
          description: Links to websites or other URLs associated with the journal
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        publisher:
          $ref: "#/components/schemas/PublisherRef"
        identifiers:
          type: array
          description: "Identifiers of the Journal, often used to identify the journal\
            \ in other sources, an example could be the Scopus Id of the journal"
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        titles:
          type: array
          description: "Titles of the journal, these titles will be available for\
            \ use when relating the journal to other content."
          items:
            $ref: "#/components/schemas/JournalTitle"
        additionalSearchableTitles:
          type: array
          description: "Additional searchable titles of the journal, often abbreviations\
            \ that are not used to show a journal, cannot be used when relating the\
            \ journal to other content."
          nullable: true
          items:
            type: string
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        sherpaRomeoPolicy:
          $ref: "#/components/schemas/SherpaRomeoPolicy"
        additionalOpenAccessInformation:
          type: string
          description: Additional open access information for this journal.
          nullable: true
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A periodical presenting articles on a particular subject.
    JournalAssociation:
      required:
      - journal
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        title:
          $ref: "#/components/schemas/JournalTitleRef"
        issn:
          $ref: "#/components/schemas/ISSNRef"
        journal:
          $ref: "#/components/schemas/JournalRef"
      description: A journal associated with a research output.
      nullable: true
    JournalEditorialWorkAssociation:
      required:
      - journal
      type: object
      description: An editorial work association with a journal.
      allOf:
      - $ref: "#/components/schemas/AbstractEditorialWorkAssociation"
      - type: object
        properties:
          journal:
            $ref: "#/components/schemas/JournalAssociation"
    JournalListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          items:
            $ref: "#/components/schemas/Journal"
      description: A list of journals
    JournalRef:
      required:
      - uuid
      type: object
      description: A reference to a Journal
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    JournalTitle:
      required:
      - title
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        title:
          type: string
          description: The title of the journal.
        startDate:
          $ref: "#/components/schemas/CompoundDate"
        endDate:
          $ref: "#/components/schemas/CompoundDate"
      description: "A title of a journal, can be populated with a start and end date\
        \ if the title is only used in a specific period."
    JournalTitleRef:
      required:
      - pureId
      type: object
      properties:
        pureId:
          type: integer
          description: Pure database ID of the title. This is found by retrieving
            the Journal and going through the titles collection.
          format: int64
        title:
          type: string
          description: The title of the journal.
          readOnly: true
      description: A reference to a journal title
    JournalsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for journals
    Keyword:
      required:
      - locale
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        locale:
          type: string
          description: Locale that user defined keywords are in
        freeKeywords:
          type: array
          description: User defined keywords in a specific locale
          items:
            type: string
      description: List of free keywords
    KeywordContainer:
      required:
      - structuredKeyword
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        structuredKeyword:
          $ref: "#/components/schemas/ClassificationRef"
        freeKeywords:
          type: array
          description: Free keywords
          nullable: true
          items:
            $ref: "#/components/schemas/Keyword"
      description: Container for a structured keyword and/or free keywords
    KeywordGroup:
      required:
      - logicalName
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        logicalName:
          type: string
          description: Unique name of the configuration that specifies this keyword
            group
        name:
          $ref: "#/components/schemas/LocalizedString"
        typeDiscriminator:
          type: string
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          ClassificationsKeywordGroup: "#/components/schemas/ClassificationsKeywordGroup"
          FreeKeywordsKeywordGroup: "#/components/schemas/FreeKeywordsKeywordGroup"
          FullKeywordGroup: "#/components/schemas/FullKeywordGroup"
    KeywordGroupConfigurationRef:
      required:
      - uuid
      type: object
      description: A reference to a keyword group configuration
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Link:
      required:
      - url
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        url:
          type: string
          description: The URL (Uniform Resource Locator) of the link
        alias:
          type: string
          description: A user-friendly text to show instead of the URL
          nullable: true
        description:
          $ref: "#/components/schemas/LocalizedString"
        linkType:
          $ref: "#/components/schemas/ClassificationRef"
      description: A hyperlink describing a location on the web.
    LinkElectronicVersion:
      required:
      - link
      type: object
      description: Link electronic version related to a research output.
      allOf:
      - $ref: "#/components/schemas/ElectronicVersion"
      - type: object
        properties:
          link:
            type: string
            description: A link to the electronic version.
          versionType:
            $ref: "#/components/schemas/ClassificationRef"
    LocalRoleAssignment:
      required:
      - roleDefinition
      type: object
      properties:
        roleDefinition:
          $ref: "#/components/schemas/AssignableRoleRef"
        assignments:
          type: array
          description: Where the local role is (to be) assigned
          nullable: true
          items:
            $ref: "#/components/schemas/ContentRef"
      description: The complete picture of where a local role is to be assigned
    LocalesList:
      type: object
      properties:
        locales:
          pattern: "/^[a-z]{2}_[A-Z]{2}$/"
          type: array
          description: Allowed locale values for use in localized string entities.
            The locale format consists of lower-case ISO 639 alpha-2 language code
            and upper-cased ISO 3166 alpha-2 country code.
          items:
            pattern: "/^[a-z]{2}_[A-Z]{2}$/"
            type: string
            description: Allowed locale values for use in localized string entities.
              The locale format consists of lower-case ISO 639 alpha-2 language code
              and upper-cased ISO 3166 alpha-2 country code.
      description: List of available locales
    LocalizedString:
      type: object
      additionalProperties:
        type: string
        description: "A set of string values, one for each submission locale. Note:\
          \ invalid locale values will be ignored."
        nullable: true
        example: "{\"en_GB\":\"Some text\"}"
      description: "A set of string values, one for each submission locale. Note:\
        \ invalid locale values will be ignored."
      nullable: true
      example:
        en_GB: Some text
    MediaCoverage:
      required:
      - coverageType
      - date
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        coverageType:
          type: string
          description: Type value for coverage
          enum:
          - CONTRIBUTION
          - COVERAGE
        title:
          $ref: "#/components/schemas/FormattedLocalizedString"
        description:
          $ref: "#/components/schemas/LocalizedString"
        persons:
          type: array
          description: Person
          items:
            $ref: "#/components/schemas/AbstractPressMediaPersonAssociation"
        url:
          type: string
          description: URL related to the coverage
          nullable: true
        medium:
          type: string
          description: What medium the coverage is in
          nullable: true
        mediaType:
          $ref: "#/components/schemas/ClassificationRef"
        degreeOfRecognition:
          $ref: "#/components/schemas/ClassificationRef"
        authorProducer:
          type: string
          description: The person who authored or produced the coverage
          nullable: true
        durationLengthSize:
          type: string
          description: "The extent of the Duration, length, or size of the coverage"
          nullable: true
        date:
          type: string
          description: The date this coverage referred the story of the press media
          format: date
        country:
          $ref: "#/components/schemas/ClassificationRef"
        subdivision:
          $ref: "#/components/schemas/ClassificationRef"
        organizations:
          type: array
          description: Organizations associated with the coverage
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: "Organizations associated with the coverage, considered external\
            \ to the system holder"
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
      description: A press media coverage
    Membership:
      required:
      - managingOrganization
      - memberOf
      - period
      - persons
      - type
      - visibility
      type: object
      description: Membership
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          memberOf:
            $ref: "#/components/schemas/ActivityAbstractAssociation"
    Memorandum:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: A memorandum or exposition.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          applicant:
            $ref: "#/components/schemas/ExternalOrganizationRef"
          projectNumber:
            type: string
            description: The project number.
            nullable: true
          journalNumber:
            type: string
            description: The journal number.
            nullable: true
          dateFinished:
            type: string
            description: The date finished.
            format: date
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
    MetricCollection:
      required:
      - collectionId
      type: object
      properties:
        owner:
          $ref: "#/components/schemas/ContentRef"
        collectionId:
          type: string
          description: Collection ID is the unique id of the provider for the metrics.
            A collection of metrics is a list of metrics that have a shared data structure
            and provider.
        items:
          type: array
          description: Metric collection items
          items:
            $ref: "#/components/schemas/MetricCollectionItem"
      description: List of metrics
    MetricCollectionDefinition:
      required:
      - collectionId
      - name
      type: object
      properties:
        metrics:
          type: array
          description: Information about each metric in the collection
          items:
            $ref: "#/components/schemas/MetricDefinition"
        collectionId:
          type: string
          description: ID of the metric collection
        name:
          $ref: "#/components/schemas/LocalizedString"
      description: "Information about a set of related metrics, usually from a single\
        \ provider"
    MetricCollectionDefinitionList:
      type: object
      properties:
        items:
          type: array
          description: Information about each metric collection
          items:
            $ref: "#/components/schemas/MetricCollectionDefinition"
      description: List of metric collection definitions
    MetricCollectionItem:
      required:
      - metricValues
      type: object
      properties:
        source:
          $ref: "#/components/schemas/ClassificationRef"
        category:
          $ref: "#/components/schemas/ClassificationRef"
        year:
          type: integer
          description: "The year of the metric, if applicable."
          format: int32
          nullable: true
        metricValues:
          type: array
          description: List of metric values.
          items:
            $ref: "#/components/schemas/MetricValue"
      description: A metric collection. Contents a list of metric values.
    MetricDefinition:
      required:
      - metricId
      - valueType
      type: object
      properties:
        metricId:
          type: string
          description: Unique identifier of metric definition
        valueType:
          type: string
          description: Type of value handled by the metric
          x-extensible-enum:
          - INTEGER
        name:
          $ref: "#/components/schemas/LocalizedString"
      description: Information about how a specific metric is defined; how data of
        the metric is structured
    MetricValue:
      required:
      - metricId
      type: object
      properties:
        metricId:
          type: string
          description: ID of the metric that defines this metric value (this controls
            for example the type returned).
        integerValue:
          type: integer
          description: The integer value of the metric.
          format: int32
          nullable: true
        decimalValue:
          type: number
          description: The decimal value of the metric.
          nullable: true
        stringValue:
          type: string
          description: The string value of the metric.
          nullable: true
        booleanValue:
          type: boolean
          description: The boolean value of the metric.
          nullable: true
        classificationValue:
          $ref: "#/components/schemas/ClassificationRef"
      description: "A metric value, that contains one piece of data. Only one type\
        \ of value can be set at a time, and it must match the specification of the\
        \ metric definition."
    Name:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
      description: "A name describing a person, made up of given- and family name"
    NonTextual:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "Research output that is not explicitly text, e.g. content with\
        \ main focus on audio or images."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          event:
            $ref: "#/components/schemas/EventRef"
          outputMedia:
            $ref: "#/components/schemas/ClassificationRef"
          size:
            type: string
            description: The size of the production.
            nullable: true
    Note:
      required:
      - text
      type: object
      properties:
        date:
          type: string
          description: "Date and time of when the note was created, an event occurred\
            \ or similar. Can be any point in time, but <now> is normally preferred"
          format: date-time
          nullable: true
        username:
          type: string
          description: Username related to the note. Usually a username of the user
            creating the note. Does not have to be a username of a Pure user
          nullable: true
        text:
          type: string
          description: Note text
      description: A note
    NoteListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Notes
          items:
            $ref: "#/components/schemas/Note"
      description: List of notes
    OpenAccess:
      type: object
      properties:
        openAccessPermission:
          $ref: "#/components/schemas/ClassificationRef"
        openAccessEmbargoMonths:
          type: integer
          description: Open access embargo months.
          format: int32
          nullable: true
        openAccessEmbargoDate:
          type: string
          description: Open access embargo date.
          format: date
          nullable: true
          readOnly: true
      description: Open Access information.
    OrderingsList:
      type: object
      properties:
        orderings:
          type: array
          description: IDs of ways content can be ordered
          items:
            type: string
            description: IDs of ways content can be ordered
      description: List of available orderings
    Organization:
      required:
      - lifecycle
      - name
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        name:
          $ref: "#/components/schemas/LocalizedString"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        nameVariants:
          type: array
          description: A list of organization name variants
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        profileInformations:
          type: array
          description: A list of organization profile information entries
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        photos:
          type: array
          description: A list of organization photos
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        addresses:
          type: array
          description: A list of organization addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedAddress"
        phoneNumbers:
          type: array
          description: A list of organization phone numbers
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        emails:
          type: array
          description: A list of organization email addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        webAddresses:
          type: array
          description: A list of organization web addresses
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        lifecycle:
          $ref: "#/components/schemas/DateRange"
        takenOverBy:
          $ref: "#/components/schemas/OrganizationRef"
        parents:
          type: array
          description: A list of parent organizations
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        contactPersons:
          type: array
          description: A list of organization contact persons
          nullable: true
          items:
            $ref: "#/components/schemas/PersonRef"
        keywordGroups:
          type: array
          description: A group for each type of keyword present
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        costCenters:
          type: array
          description: A list of cost center classifications
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        visibility:
          $ref: "#/components/schemas/Visibility"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        links:
          type: array
          description: Links associated with this organization.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        mainResearchArea:
          $ref: "#/components/schemas/ClassificationRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: An organization in the institution
    OrganizationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          items:
            $ref: "#/components/schemas/Organization"
      description: A list of organizations
    OrganizationOrExternalOrganizationRef:
      type: object
      properties:
        organizationRef:
          $ref: "#/components/schemas/OrganizationRef"
        externalOrganizationRef:
          $ref: "#/components/schemas/ExternalOrganizationRef"
      description: A reference to an organization in the institution or an external
        organization
      nullable: true
    OrganizationRef:
      required:
      - uuid
      type: object
      description: A reference to an organization in the institution
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    OrganizationsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for organizations
    OtherActivity:
      required:
      - managingOrganization
      - period
      - persons
      - title
      - type
      - visibility
      type: object
      description: Other activity
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          title:
            $ref: "#/components/schemas/FormattedLocalizedString"
          association:
            $ref: "#/components/schemas/ActivityAbstractAssociation"
    OtherContribution:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: Research output that does not fit into the other categories.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          printISBNs:
            type: array
            description: The ISBN number for the printed versions of the production.
            nullable: true
            items:
              type: string
          electronicISBNs:
            type: array
            description: The ISBN number for the electronic versions of the production.
            nullable: true
            items:
              type: string
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          typeDescription:
            $ref: "#/components/schemas/LocalizedString"
          outputMedia:
            type: string
            nullable: true
          caseNotes:
            type: array
            description: A collection of court case notes related to this research
              output.
            nullable: true
            items:
              $ref: "#/components/schemas/CaseNote"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
    PageInformation:
      type: object
      properties:
        offset:
          type: integer
          description: Offset that returned items start at
          format: int32
        size:
          type: integer
          description: The requested number of items. May be higher than the actual
            number of items in the result if there are fewer items in the store than
            requested
          format: int32
      description: Information about pages
    ParticipantTimeSpent:
      required:
      - date
      - timeSpent
      type: object
      properties:
        date:
          type: string
          description: The date the time was spent.
          format: date
        timeSpent:
          type: integer
          description: The amount of time spent.
          format: int32
      description: Used to track how much time was spend on a given date.
    ParticipantTimeTrackingAssociation:
      required:
      - award
      - person
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        person:
          $ref: "#/components/schemas/PersonRef"
        allocatedTime:
          type: integer
          description: The allocated time for an award for the participant.
          format: int32
          nullable: true
        totalTimeSpent:
          type: integer
          description: The total time spent for an award for the participant.
          format: int32
          readOnly: true
        timeSpent:
          type: array
          description: The time spent for an award for the participant.
          items:
            $ref: "#/components/schemas/ParticipantTimeSpent"
      description: "Project participant time-tracking association, which holds allocated\
        \ and spent time."
    Patent:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: A patent is a document that grants the rights of a piece of work/invention
        to its originator.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          country:
            $ref: "#/components/schemas/ClassificationRef"
          ipcs:
            type: array
            description: The International Patent Classifications
            nullable: true
            items:
              type: string
          patentNumber:
            type: string
            description: The patent number.
            nullable: true
          date:
            type: string
            description: The filing date.
            format: date
            nullable: true
          priorityDate:
            type: string
            description: The priority date.
            format: date
            nullable: true
          priorityNumber:
            type: string
            description: The priority number.
            nullable: true
          publisher:
            $ref: "#/components/schemas/PublisherRef"
    Person:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        startDateAsResearcher:
          type: string
          description: Date that the person entered into the academic profession.
          format: date
          nullable: true
        affiliationNote:
          type: string
          description: Notes regarding affiliations of the person.
          nullable: true
        dateOfBirth:
          type: string
          description: The person's date of birth.
          format: date
          nullable: true
        employeeStartDate:
          type: string
          description: Date of the persons first day of the institution.
          format: date
          nullable: true
        employeeEndDate:
          type: string
          description: Date of the persons last day of the institution.
          format: date
          nullable: true
        externalPositions:
          type: array
          description: "positions held by the person, that are external to the institution"
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalAppointment"
        keywordGroups:
          type: array
          description: Groups of Keyword associated with the person.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        leavesOfAbsence:
          type: array
          description: Leaves of absence had by the person.
          nullable: true
          items:
            $ref: "#/components/schemas/PersonClassifiedLeaveOfAbsence"
        links:
          type: array
          description: Links associated with the person.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        name:
          $ref: "#/components/schemas/Name"
        names:
          type: array
          description: "Variant names of the person, Known aliases, ect."
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedName"
        nationality:
          $ref: "#/components/schemas/ClassificationRef"
        orcid:
          type: string
          description: orcid of the person.
          nullable: true
        orcidAuthenticated:
          type: boolean
          description: Authentication status of the orcid associated with the person.
          readOnly: true
        cienciaId:
          type: string
          description: Ciencia ID of the person.
          nullable: true
        cienciaIdAuthenticated:
          type: boolean
          description: Authentication status of the Ciencia ID associated with the
            person.
        honoraryStaffOrganizationAssociations:
          type: array
          description: Organizations that the person is associated with under the
            title of 'Honorary Staff'
          nullable: true
          items:
            $ref: "#/components/schemas/HonoraryStaffOrganizationAssociation"
        staffOrganizationAssociations:
          type: array
          description: Organizations that the person is associated with as 'Staff'
          nullable: true
          items:
            $ref: "#/components/schemas/StaffOrganizationAssociation"
        studentOrganizationAssociations:
          type: array
          description: Organizations that the person is associated with as a 'Student'
          nullable: true
          items:
            $ref: "#/components/schemas/StudentOrganizationAssociation"
        visitingScholarOrganizationAssociations:
          type: array
          description: Organizations that the person is associated with as a 'Visiting
            Scholar
          nullable: true
          items:
            $ref: "#/components/schemas/VisitingScholarOrganizationAssociation"
        academicQualifications:
          type: array
          description: Levels of academic qualifications that the person has achieved.
          nullable: true
          items:
            $ref: "#/components/schemas/AcademicQualification"
        profilePhotos:
          type: array
          description: Profile photos in the form of Image files. The maximum file
            size is 1mb
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        documents:
          type: array
          description: Associated documents for the person
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        privateAddress:
          $ref: "#/components/schemas/Address"
        professionalQualifications:
          type: array
          description: The professional qualifications held by the person
          nullable: true
          items:
            $ref: "#/components/schemas/ProfessionalQualification"
        selectedForProfileRefinementService:
          type: boolean
          description: If the person has been profiled.
        profileInformation:
          type: array
          description: Information objects making up profiles made of the person
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        retirementDate:
          type: string
          description: Date of retirement for the person
          format: date
          nullable: true
        gender:
          $ref: "#/components/schemas/ClassificationRef"
        titles:
          type: array
          description: Titles held by the person
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        visibility:
          $ref: "#/components/schemas/Visibility"
        willingToTakePhdStudents:
          type: boolean
          description: Boolean to define if the Person is willing to take on Phd Students.
        willingToTakePhdStudentsDescription:
          type: string
          description: Field to describe or list phd projects that the person will
            participate in.
          nullable: true
        identifiers:
          type: array
          description: Identifiers related to the person
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        user:
          $ref: "#/components/schemas/UserRef"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        workflow:
          $ref: "#/components/schemas/Workflow"
        mainResearchArea:
          $ref: "#/components/schemas/ClassificationRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: "An academic professional, student, or other individual attached\
        \ to the institution."
    PersonClassifiedLeaveOfAbsence:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        classification:
          $ref: "#/components/schemas/ClassificationRef"
        period:
          $ref: "#/components/schemas/DateRange"
      description: Leave of absence held by a person
    PersonListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Persons
          items:
            $ref: "#/components/schemas/Person"
      description: List of persons. Can contain a subset of all items along with the
        full count
    PersonOrganizationAssociation:
      required:
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        addresses:
          type: array
          description: List of physical addresses.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedAddress"
        affiliationId:
          type: string
          description: Affiliation identification. This could be a student ID or a
            staff ID.
          nullable: true
        employmentType:
          $ref: "#/components/schemas/ClassificationRef"
        organization:
          $ref: "#/components/schemas/OrganizationRef"
        emails:
          type: array
          description: List of emails.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        webAddresses:
          type: array
          description: List of web addresses.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedLocalizedValue"
        phoneNumbers:
          type: array
          description: Phone numbers associated with the organization association.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedValue"
        period:
          $ref: "#/components/schemas/DateRange"
        supervisorAssociations:
          type: array
          description: List of associations to persons who supervise this person.
          nullable: true
          items:
            $ref: "#/components/schemas/PersonSupervisorAssociation"
        keywordGroups:
          type: array
          description: List of keyword groups.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        primaryAssociation:
          type: boolean
          description: A boolean value indicating whether this is the primary association
            or not. Only one of the associations from a person to an organization
            will be primary.
        typeDiscriminator:
          type: string
      nullable: true
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          HonoraryStaffOrganizationAssociation: "#/components/schemas/HonoraryStaffOrganizationAssociation"
          StaffOrganizationAssociation: "#/components/schemas/StaffOrganizationAssociation"
          StudentOrganizationAssociation: "#/components/schemas/StudentOrganizationAssociation"
          VisitingScholarOrganizationAssociation: "#/components/schemas/VisitingScholarOrganizationAssociation"
    PersonRef:
      required:
      - uuid
      type: object
      description: A reference to a person internal to the institution
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    PersonSuperviseeAssociation:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        period:
          $ref: "#/components/schemas/DateRange"
        supervisionPercentage:
          maximum: 100
          minimum: 0
          type: integer
          description: Percentage for which the Supervisor is responsible for the
            total supervision
          format: int32
        supervisorRole:
          $ref: "#/components/schemas/ClassificationRef"
        supervisee:
          $ref: "#/components/schemas/PersonRef"
      description: Association between a person and their supervisee
    PersonSuperviseeAssociationListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Supervisee Associations
          items:
            $ref: "#/components/schemas/PersonSuperviseeAssociation"
      description: A list of supervision associations between persons
    PersonSupervisorAssociation:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        period:
          $ref: "#/components/schemas/DateRange"
        supervisionPercentage:
          maximum: 100
          minimum: 0
          type: integer
          description: Percentage for which the Supervisor is responsible for the
            total supervision
          format: int32
        supervisorRole:
          $ref: "#/components/schemas/ClassificationRef"
        supervisor:
          $ref: "#/components/schemas/InternalOrExternalSupervisor"
      description: The association data of a person and their supervisor
    PersonsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for persons
    PressMedia:
      required:
      - mediaCoverages
      - title
      - type
      - visibility
      - workflow
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        category:
          $ref: "#/components/schemas/ClassificationRef"
        title:
          $ref: "#/components/schemas/FormattedLocalizedString"
        mediaCoverages:
          type: array
          description: MediaCoverages
          items:
            $ref: "#/components/schemas/MediaCoverage"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the press media.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        visibility:
          $ref: "#/components/schemas/Visibility"
        event:
          $ref: "#/components/schemas/EventRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        descriptions:
          type: array
          description: A list of descriptions for this press media. Query the relevant
            /press-media/allowed-*-description-types endpoint for allowed types.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        identifiers:
          type: array
          description: Identifiers related to the project.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: "A piece of press, media, or other sort of news clipping."
    PressMediaAwardableAssociation:
      required:
      - pressMedia
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        pressMedia:
          $ref: "#/components/schemas/PressMediaRef"
      description: "A relation to a press/media, optionally in the context of the\
        \ Award that made it possible."
    PressMediaListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Press Media
          items:
            $ref: "#/components/schemas/PressMedia"
      description: List of Press Media. Can contain a subset of all items along with
        the full count
    PressMediaQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Query for searching press media
    PressMediaRef:
      required:
      - uuid
      type: object
      description: A reference to a press/media
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    PrimaryId:
      required:
      - idSource
      - value
      type: object
      description: A primary external ID
      allOf:
      - $ref: "#/components/schemas/Identifier"
      - type: object
        properties:
          pureId:
            type: integer
            description: Pure database ID of the object
            format: int64
            readOnly: true
          idSource:
            type: string
            description: Name of the external source
          value:
            type: string
            description: Primary external ID
    Prize:
      required:
      - managingOrganization
      - receiversOfPrize
      - title
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          $ref: "#/components/schemas/FormattedLocalizedString"
        grantingOrganizations:
          type: array
          description: The granting organizations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        degreeOfRecognition:
          $ref: "#/components/schemas/ClassificationRef"
        receiversOfPrize:
          type: array
          description: The receivers of the prize.
          items:
            $ref: "#/components/schemas/AbstractPrizeReceiverAssociation"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        awardedDate:
          $ref: "#/components/schemas/CompoundDate"
        prizes:
          type: array
          description: A collection of related prizes.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeAssociation"
        category:
          $ref: "#/components/schemas/ClassificationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        keywordGroups:
          type: array
          description: A group for each type of keyword present.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        visibility:
          $ref: "#/components/schemas/Visibility"
        workflow:
          $ref: "#/components/schemas/Workflow"
        links:
          type: array
          description: Additional links associated with this prize.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        event:
          $ref: "#/components/schemas/EventRef"
        documents:
          type: array
          description: Associated documents for the prize.
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        descriptions:
          type: array
          description: A collection of descriptions.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        activities:
          type: array
          description: A collection of related activities.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeActivityAssociation"
        researchOutputs:
          type: array
          description: A collection of related research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeResearchOutputAssociation"
        equipment:
          type: array
          description: A collection of related equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeEquipmentAssociation"
        dataSets:
          type: array
          description: A collection of related datasets.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeDataSetAssociation"
        projects:
          type: array
          description: A collection of related projects.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeProjectAssociation"
        studentTheses:
          type: array
          description: A collection of related student theses.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeStudentThesisAssociation"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A prize.
    PrizeActivityAssociation:
      required:
      - activity
      type: object
      properties:
        activity:
          $ref: "#/components/schemas/ActivityRef"
      description: An association to an activity.
    PrizeAssociation:
      required:
      - prize
      type: object
      properties:
        prize:
          $ref: "#/components/schemas/PrizeRef"
      description: An association to a prize.
    PrizeAwardableAssociation:
      required:
      - prize
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        prize:
          $ref: "#/components/schemas/PrizeRef"
      description: "A relation to a prize, optionally in the context of the Award\
        \ that made it possible."
    PrizeDataSetAssociation:
      required:
      - dataset
      type: object
      properties:
        dataset:
          $ref: "#/components/schemas/DataSetRef"
      description: An association to a dataset.
    PrizeEquipmentAssociation:
      required:
      - equipment
      type: object
      properties:
        equipment:
          $ref: "#/components/schemas/EquipmentRef"
      description: An association to a piece of equipment.
    PrizeListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Prizes
          items:
            $ref: "#/components/schemas/Prize"
      description: List of prizes. Can contain a subset of all items along with the
        full count
    PrizeProjectAssociation:
      required:
      - project
      type: object
      properties:
        project:
          $ref: "#/components/schemas/ProjectRef"
      description: An association to a project.
    PrizeRef:
      required:
      - uuid
      type: object
      description: A reference to a prize
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    PrizeResearchOutputAssociation:
      required:
      - researchOutput
      type: object
      properties:
        researchOutput:
          $ref: "#/components/schemas/ResearchOutputRef"
      description: An association to a research output.
    PrizeStudentThesisAssociation:
      required:
      - studentThesis
      type: object
      properties:
        studentThesis:
          $ref: "#/components/schemas/StudentThesisRef"
      description: An association to a student thesis.
    PrizesQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for prizes
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          description: "A URI reference [RFC3986] that identifies the problem type."
        title:
          type: string
          description: "A short, human-readable summary of the problem type. It SHOULD\
            \ NOT change from occurrence to occurrence of the problem, except for\
            \ purposes of localization (e.g., using proactive content negotiation;\
            \ see [RFC7231], Section 3.4)."
        status:
          type: integer
          description: "The HTTP status code ([RFC7231], Section 6) generated by the\
            \ origin server for this occurrence of the problem."
          format: int32
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of
            the problem.
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of
            the problem.  It may or may not yield further information if dereferenced.
      description: RFC7807 Error details
      discriminator:
        propertyName: type
        mapping:
          /error: "#/components/schemas/GenericProblemDetails"
          /validation-error: "#/components/schemas/ValidationProblemDetails"
          /dependency-violation-error: "#/components/schemas/DependencyViolationProblemDetails"
    ProfessionalQualification:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        abbreviatedQualification:
          $ref: "#/components/schemas/LocalizedString"
        period:
          $ref: "#/components/schemas/CompoundDateRange"
        qualification:
          $ref: "#/components/schemas/LocalizedString"
      description: The professional qualifications held by a person
    Project:
      required:
      - managingOrganization
      - organizations
      - title
      - type
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        acronym:
          type: string
          description: The acronym of the project.
          nullable: true
        participants:
          type: array
          description: Related participants and their affiliations.
          items:
            $ref: "#/components/schemas/AbstractParticipantAssociation"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        coManagingOrganizations:
          type: array
          description: A collection of co-managing organizational affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        collaborators:
          type: array
          description: A collection of collaborators.
          nullable: true
          items:
            $ref: "#/components/schemas/CollaboratorAssociation"
        descriptions:
          type: array
          description: A collection of descriptions for the project. Query the /projects/allowed-description-types
            endpoint for allowed types.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        period:
          $ref: "#/components/schemas/DateRange"
        effectivePeriod:
          $ref: "#/components/schemas/DeprecatedDateRange"
        identifiers:
          type: array
          description: Identifiers related to the project.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        natureTypes:
          type: array
          description: Nature of activity types for the project.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          items:
            $ref: "#/components/schemas/OrganizationRef"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        shortTitle:
          $ref: "#/components/schemas/LocalizedString"
        title:
          $ref: "#/components/schemas/LocalizedString"
        totalAcademicOwnership:
          type: number
          description: Total academic ownership of the project.
          format: double
          readOnly: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        visibility:
          $ref: "#/components/schemas/Visibility"
        links:
          type: array
          description: Links associated with the project.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the project.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        documents:
          type: array
          description: A collection of documents related to the project.
          nullable: true
          items:
            $ref: "#/components/schemas/Document"
        curtailed:
          $ref: "#/components/schemas/ProjectCurtailed"
        projects:
          type: array
          description: A collection of related projects.
          nullable: true
          items:
            $ref: "#/components/schemas/ProjectAssociation"
        applicationClusters:
          type: array
          description: A collection of related application clusters.
          nullable: true
          items:
            $ref: "#/components/schemas/ApplicationClusterRef"
        awardClusters:
          type: array
          description: A collection of related grant clusters.
          nullable: true
          items:
            $ref: "#/components/schemas/AwardClusterRef"
        dataSets:
          type: array
          description: A collection of related datasets.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetAwardableAssociation"
        prizes:
          type: array
          description: A collection of related prizes.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeAwardableAssociation"
        activities:
          type: array
          description: A collection of related activities.
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityAwardableAssociation"
        pressMedias:
          type: array
          description: A collection of related press/media.
          nullable: true
          items:
            $ref: "#/components/schemas/PressMediaAwardableAssociation"
        equipment:
          type: array
          description: A collection of related equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentAwardableAssociation"
        impacts:
          type: array
          description: A collection of related impacts.
          nullable: true
          items:
            $ref: "#/components/schemas/ImpactAwardableAssociation"
        researchOutputs:
          type: array
          description: A collection of related research output.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputAwardableAssociation"
        studentTheses:
          type: array
          description: A collection of related student theses.
          nullable: true
          items:
            $ref: "#/components/schemas/StudentThesisAwardableAssociation"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        typeDiscriminator:
          type: string
      description: Projects exists in two variations depending on the functionality
        enabled in the Pure installation.
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          BasicProject: "#/components/schemas/BasicProject"
          AwardManagementProject: "#/components/schemas/AwardManagementProject"
    ProjectAssociation:
      required:
      - project
      type: object
      properties:
        relationType:
          $ref: "#/components/schemas/ClassificationRef"
        project:
          $ref: "#/components/schemas/ProjectRef"
      description: An association to a project.
    ProjectAwardableAssociation:
      required:
      - project
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        project:
          $ref: "#/components/schemas/ProjectRef"
      description: "A relation to a project, optionally in the context of the Award\
        \ that made it possible."
      nullable: true
    ProjectCurtailed:
      type: object
      properties:
        date:
          type: string
          description: Date of curtail
          format: date
          nullable: true
        reason:
          type: string
          description: Reason for curtail
          nullable: true
      description: Information about project curtail.
    ProjectListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Projects
          items:
            $ref: "#/components/schemas/Project"
      description: List of projects. Can contain a subset of all items along with
        the full count
    ProjectRef:
      required:
      - uuid
      type: object
      description: A reference to project
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ProjectsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for projects
    PublicationSeries:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        name:
          $ref: "#/components/schemas/FormattedString"
        publisherName:
          type: string
          description: The publisher of the publication series.
          nullable: true
        printIssn:
          type: string
          description: The print ISSN of the publication series.
          nullable: true
        electronicIssn:
          type: string
          description: The electronic ISSN of the publication series.
          nullable: true
        "no":
          type: string
          description: The number of the publication series.
          nullable: true
        volume:
          type: string
          description: The volume of the publication series.
          nullable: true
      description: A publication series.
    PublicationStatus:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        current:
          type: boolean
          description: "True when this status element is the current, false otherwise."
          readOnly: true
        publicationStatus:
          $ref: "#/components/schemas/ClassificationRef"
        publicationDate:
          $ref: "#/components/schemas/CompoundDate"
      description: "A representation of a point in time when the status of a publication\
        \ changed, e.g. the submission date or publication date of the publication."
    Publisher:
      required:
      - name
      - type
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        name:
          type: string
          description: Name of the Publisher
        alternativeNames:
          type: array
          description: Alternate names for the publisher
          nullable: true
          items:
            type: string
        countries:
          type: array
          description: Countries that publisher is associated with. There are no restrictions
            as to why countries should be added to this list.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassificationRef"
        keywordGroups:
          type: array
          description: A group for each type of keyword present
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        workflow:
          $ref: "#/components/schemas/Workflow"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A publisher known to institution
    PublisherEditorialWorkAssociation:
      required:
      - publisher
      type: object
      description: An editorial work association with a publisher.
      allOf:
      - $ref: "#/components/schemas/AbstractEditorialWorkAssociation"
      - type: object
        properties:
          publisher:
            $ref: "#/components/schemas/PublisherRef"
    PublisherListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Publishers
          items:
            $ref: "#/components/schemas/Publisher"
      description: List of publishers. Can contain a subset of all items along with
        the full count
    PublisherRef:
      required:
      - uuid
      type: object
      description: A reference to a publisher
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    PublishersQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for publishers
    Ref2014UnitOfAssessmentRef:
      required:
      - uuid
      type: object
      description: A reference to a Ref2014UnitOfAssessment
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Ref2020UnitOfAssessmentRef:
      required:
      - uuid
      type: object
      description: A reference to a Ref2020UnitOfAssessment
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    RemoteFile:
      required:
      - fileId
      - fileState
      - sourceId
      - storeName
      type: object
      properties:
        sourceId:
          type: string
          description: The remote source ID
        storeName:
          type: string
          description: The name of the remote store
        timeStamp:
          type: string
          description: The timestamp at which the file was stored
          format: date-time
        fileId:
          type: string
          description: The remote file ID
        fileState:
          type: string
          description: The remote file state
          enum:
          - AWAITING_CREATION
          - CREATION_IN_PROGRESS
          - CREATION_FAILED
          - STORED
          - AWAITING_DELETE
          - DELETE_IN_PROGRESS
          - DELETE_FAILED
          - DELETED
        metadataUpdateRequired:
          type: boolean
          description: Whether the file's metadata should be updated
          default: false
      description: Information about a remote file (Elsevier only)
    ResearchOutput:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      - typeDiscriminator
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          $ref: "#/components/schemas/FormattedString"
        subTitle:
          $ref: "#/components/schemas/FormattedString"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        category:
          $ref: "#/components/schemas/ClassificationRef"
        peerReview:
          type: boolean
          description: Indicates whether the research output is peer reviewed or not.
            Query the /research-outputs/allowed-peer-review-configurations endpoint
            for allowed values.
          nullable: true
        internationalPeerReview:
          type: boolean
          description: Indicates whether the research output is internationally peer
            reviewed or not. Query the /research-outputs/allowed-peer-review-configurations
            endpoint for allowed values.
          nullable: true
        publicationStatuses:
          type: array
          description: Manage the research output's different statuses and dates these
            were reached.
          items:
            $ref: "#/components/schemas/PublicationStatus"
        language:
          $ref: "#/components/schemas/ClassificationRef"
        translatedTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        translatedSubTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        contributors:
          type: array
          description: Contributors and their affiliations
          items:
            $ref: "#/components/schemas/AbstractContributorAssociation"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        totalNumberOfContributors:
          type: integer
          description: The total number of authors from author collaborations.
          format: int32
          nullable: true
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        submissionYear:
          type: integer
          description: The submission year of the research output.
          format: int32
          nullable: true
        mainResearchArea:
          $ref: "#/components/schemas/ClassificationRef"
        electronicVersions:
          type: array
          description: Electronic versions of this research output.
          nullable: true
          items:
            $ref: "#/components/schemas/ElectronicVersion"
        additionalFiles:
          type: array
          description: Additional files related to this research output.
          nullable: true
          items:
            $ref: "#/components/schemas/AdditionalFileElectronicVersion"
        links:
          type: array
          description: Additional links associated with this research output.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        articleProcessingCharge:
          $ref: "#/components/schemas/ArticleProcessingCharge"
        keywordGroups:
          type: array
          description: Groups of keywords associated with the research output.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        bibliographicalNote:
          $ref: "#/components/schemas/LocalizedString"
        descriptions:
          type: array
          description: A list of descriptions for this research output. Query the
            relevant /research-outputs/allowed-*-description-types endpoint for allowed
            types.
          nullable: true
          items:
            $ref: "#/components/schemas/ClassifiedFormattedLocalizedValue"
        visibility:
          $ref: "#/components/schemas/Visibility"
        workflow:
          $ref: "#/components/schemas/Workflow"
        identifiers:
          type: array
          description: Identifiers related to the research output.
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        activities:
          type: array
          description: "Activities related to the research output,"
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityRef"
        equipment:
          type: array
          description: Equipment related to the research output.
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentRef"
        projects:
          type: array
          description: Projects related to the research output.
          nullable: true
          items:
            $ref: "#/components/schemas/ProjectAwardableAssociation"
        researchOutputs:
          type: array
          description: Other related research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputAssociation"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        fundingText:
          $ref: "#/components/schemas/LocalizedString"
        fundingDetails:
          type: array
          description: The funding details for the research output
          nullable: true
          items:
            $ref: "#/components/schemas/FundingDetails"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        abstract:
          $ref: "#/components/schemas/FormattedLocalizedString"
        typeDiscriminator:
          type: string
      description: "Research output exists in many variations, from written to non-textual\
        \ form. Templates are available for a range of these variations."
      discriminator:
        propertyName: typeDiscriminator
        mapping:
          BookAnthology: "#/components/schemas/BookAnthology"
          ContributionToBookAnthology: "#/components/schemas/ContributionToBookAnthology"
          ContributionToConference: "#/components/schemas/ContributionToConference"
          ContributionToJournal: "#/components/schemas/ContributionToJournal"
          ContributionToMemorandum: "#/components/schemas/ContributionToMemorandum"
          ContributionToPeriodical: "#/components/schemas/ContributionToPeriodical"
          Memorandum: "#/components/schemas/Memorandum"
          NonTextual: "#/components/schemas/NonTextual"
          OtherContribution: "#/components/schemas/OtherContribution"
          Patent: "#/components/schemas/Patent"
          Thesis: "#/components/schemas/Thesis"
          WorkingPaper: "#/components/schemas/WorkingPaper"
    ResearchOutputAssociation:
      required:
      - researchOutput
      type: object
      properties:
        researchOutput:
          $ref: "#/components/schemas/ResearchOutputRef"
      description: An association to a research output.
      nullable: true
    ResearchOutputAwardableAssociation:
      required:
      - researchOutput
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        researchOutput:
          $ref: "#/components/schemas/ResearchOutputRef"
      description: "A relation to a research output, optionally in the context of\
        \ the Award that made it possible."
    ResearchOutputListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: ResearchOutput
          items:
            $ref: "#/components/schemas/ResearchOutput"
      description: List of researchoutputs. Can contain a subset of all items along
        with the full count
    ResearchOutputPeerReviewConfiguration:
      type: object
      properties:
        researchOutputType:
          $ref: "#/components/schemas/ClassificationRef"
        allowedCombinations:
          type: array
          description: The valid combinations of the interrelated fields
          readOnly: true
          items:
            $ref: "#/components/schemas/ResearchOutputPeerReviewConfigurationCombination"
      description: "A specification for a research output type and the allowed combinations\
        \ of it's interrelated fields: category, peerReview, and internationPeerReview"
    ResearchOutputPeerReviewConfigurationCombination:
      type: object
      properties:
        category:
          $ref: "#/components/schemas/ClassificationRef"
        peerReviewable:
          type: string
          description: Research output peer reviewable
          readOnly: true
          enum:
          - NOT_PEER_REVIEWABLE
          - PEER_REVIEWABLE
          - INTERNATIONAL_PEER_REVIEWABLE
      description: "A specification for a publication category and it's interrelated\
        \ fields: peerReview and internationalPeerReview"
      readOnly: true
    ResearchOutputPeerReviewConfigurationListResult:
      type: object
      properties:
        researchOutputPeerReviewConfigurations:
          type: array
          items:
            $ref: "#/components/schemas/ResearchOutputPeerReviewConfiguration"
      description: List of research output peer review configurations
    ResearchOutputRef:
      required:
      - uuid
      type: object
      description: A reference to a research output
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    ResearchOutputsQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for researchOutputs
    ResearcherCommitment:
      required:
      - yearMonth
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        actualResearcherCommitment:
          maximum: 1
          minimum: 0
          type: number
          description: The actual researcher commitment.
          format: double
          nullable: true
        plannedResearcherCommitment:
          maximum: 1
          minimum: 0
          type: number
          description: The planned researcher commitment.
          format: double
          nullable: true
        yearMonth:
          $ref: "#/components/schemas/YearMonth"
      description: Planned and actual research commitment.
    ReviewRef:
      required:
      - uuid
      type: object
      description: A reference to a review
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    SemesterRef:
      required:
      - uuid
      type: object
      description: A reference to semester
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    SherpaRomeoOpenAccessPermission:
      required:
      - articleVersion
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        articleVersion:
          $ref: "#/components/schemas/ArticleVersion"
        licenses:
          type: array
          description: The licenses the article must adhere to.
          nullable: true
          items:
            type: string
            description: The licenses the article must adhere to.
            nullable: true
        conditions:
          type: array
          description: Any conditions that must be fulfilled.
          nullable: true
          items:
            type: string
            description: Any conditions that must be fulfilled.
            nullable: true
        prerequisites:
          type: array
          description: Any prerequisites that must be fulfilled.
          nullable: true
          items:
            type: string
            description: Any prerequisites that must be fulfilled.
            nullable: true
        funderPrerequisites:
          type: array
          description: Any funder prerequisites that must be fulfilled.
          nullable: true
          items:
            type: string
            description: Any funder prerequisites that must be fulfilled.
            nullable: true
        subjectPrerequisites:
          type: array
          description: Any subject prerequisites that must be fulfilled.
          nullable: true
          items:
            type: string
            description: Any subject prerequisites that must be fulfilled.
            nullable: true
        locations:
          type: array
          description: Locations where the article is permitted to be placed.
          nullable: true
          items:
            type: string
            description: Locations where the article is permitted to be placed.
            nullable: true
        publisherDeposits:
          type: array
          description: The location(s) the publisher will automatically deposit the
            article into.
          nullable: true
          items:
            type: string
            description: The location(s) the publisher will automatically deposit
              the article into.
            nullable: true
        additionalFee:
          type: boolean
          description: If an additional fee is required to make the article Open Access.
        embargo:
          type: string
          description: "How long the article should be embargoed. Will be a number\
            \ follow by a unit - days, months or years."
          nullable: true
      description: Describes a SHERPA RoMEO access permissions object used in a policy.
      nullable: true
    SherpaRomeoPolicy:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        openAccessProhibited:
          type: boolean
          description: If the policy prohibits Open Access - in which case there won't
            be any Open Access permissions
        openAccessPermissions:
          type: array
          description: The Open Access permissions for this policy
          nullable: true
          items:
            $ref: "#/components/schemas/SherpaRomeoOpenAccessPermission"
        publisherPolicies:
          type: array
          description: A list of publisher specific policies
          nullable: true
          items:
            type: string
            description: A list of publisher specific policies
            nullable: true
        sherpaRomeoUri:
          type: string
          description: The link to the journal in SHERPA RoMEO
          nullable: true
        lastUpdatedDate:
          type: string
          description: The link to the journal in SHERPA RoMEO
          format: date-time
          nullable: true
          readOnly: true
      description: Describes a SHERPA RoMEO open access policy.
    StaffOrganizationAssociation:
      type: object
      description: A relation describing the association between Staff and organization
      allOf:
      - $ref: "#/components/schemas/PersonOrganizationAssociation"
      - type: object
        properties:
          contractType:
            $ref: "#/components/schemas/ClassificationRef"
          fte:
            type: number
            description: The FTE (Full-Time Equivalent). A decimal number ranging
              between 0 (0% equivalent of full time) and 1 (100% equivalent of full
              time).
            format: double
            nullable: true
          jobDescription:
            $ref: "#/components/schemas/LocalizedString"
          jobTitle:
            $ref: "#/components/schemas/ClassificationRef"
          staffType:
            $ref: "#/components/schemas/ClassificationRef"
    StudentOrganizationAssociation:
      type: object
      description: A relation describing the association between student and organization
      allOf:
      - $ref: "#/components/schemas/PersonOrganizationAssociation"
      - type: object
        properties:
          awardDate:
            type: string
            description: The date when the student received an award.
            format: date
            nullable: true
          awardGained:
            type: string
            description: Description of what award the student gained.
            nullable: true
          fte:
            type: number
            description: The FTE (Full-Time Equivalent). A decimal number ranging
              between 0 (0% equivalent of full time) and 1 (100% equivalent of full
              time).
            format: double
            nullable: true
          programme:
            type: string
            description: "The name or title of a program often consists of the degree\
              \ (e.g., BS) and the discipline or field of study (e.g., Business Administration)."
            nullable: true
          projectTitle:
            $ref: "#/components/schemas/LocalizedString"
          expectedStudyDuration:
            type: integer
            description: The expected study duration.
            format: int32
            nullable: true
          minimumStudyDuration:
            type: integer
            description: The minimum study duration.
            format: int32
            nullable: true
          maximumStudyDuration:
            type: integer
            description: The maximum study duration.
            format: int32
            nullable: true
          programYear:
            type: string
            description: The program year
            nullable: true
          initialSubmissionDate:
            type: string
            description: The program year
            format: date
            nullable: true
          getExpectedEndDate:
            type: string
            description: Expected end date
            format: date
            nullable: true
          startYear:
            type: string
            description: Start year
            nullable: true
          attendanceStatus:
            $ref: "#/components/schemas/ClassificationRef"
          getStudentNationality:
            $ref: "#/components/schemas/ClassificationRef"
          studentResidencyFlag:
            type: string
            description: "Residency flag of the student, indicating whether the student\
              \ is a home student or an overseas student."
            enum:
            - UNKNOWN
            - HOME
            - OVERSEAS
          getStudentCountryOfDomicile:
            $ref: "#/components/schemas/ClassificationRef"
          studentTypeDescription:
            $ref: "#/components/schemas/ClassificationRef"
    StudentThesesQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        orderings:
          type: array
          items:
            type: string
        searchString:
          type: string
          description: String used to perform search
        orderBy:
          type: string
          writeOnly: true
      description: Create a query for student theses
    StudentThesis:
      required:
      - awardDate
      - contributors
      - language
      - managingOrganization
      - title
      - type
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        title:
          $ref: "#/components/schemas/FormattedString"
        subTitle:
          $ref: "#/components/schemas/FormattedString"
        translatedTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        translatedSubTitle:
          $ref: "#/components/schemas/FormattedLocalizedString"
        language:
          $ref: "#/components/schemas/ClassificationRef"
        bibliographicalNote:
          $ref: "#/components/schemas/LocalizedString"
        managingOrganization:
          $ref: "#/components/schemas/OrganizationRef"
        type:
          $ref: "#/components/schemas/ClassificationRef"
        identifiers:
          type: array
          description: IDs that this object corresponds to in external systems. Such
            as a Scopus ID. Used by Pure where it is necessary to identify objects
            to specific external systems
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        documents:
          type: array
          description: A collection of documents.
          nullable: true
          items:
            $ref: "#/components/schemas/StudentThesisDocument"
        organizations:
          type: array
          description: A collection of organizational unit affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        researchOutputs:
          type: array
          description: A collection of related research outputs.
          nullable: true
          items:
            $ref: "#/components/schemas/ResearchOutputRef"
        activities:
          type: array
          description: A collection of related activities.
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityRef"
        pressMedia:
          type: array
          description: A collection of related press media.
          nullable: true
          items:
            $ref: "#/components/schemas/PressMediaRef"
        impacts:
          type: array
          description: A collection of related impacts.
          nullable: true
          items:
            $ref: "#/components/schemas/ImpactRef"
        equipment:
          type: array
          description: A collection of related equipment.
          nullable: true
          items:
            $ref: "#/components/schemas/EquipmentRef"
        projects:
          type: array
          description: A collection of related projects.
          nullable: true
          items:
            $ref: "#/components/schemas/ProjectRef"
        prizes:
          type: array
          description: A collection of related prizes.
          nullable: true
          items:
            $ref: "#/components/schemas/PrizeRef"
        datasets:
          type: array
          description: A collection of related datasets.
          nullable: true
          items:
            $ref: "#/components/schemas/DataSetRef"
        links:
          type: array
          description: A collection of links.
          nullable: true
          items:
            $ref: "#/components/schemas/Link"
        keywordGroups:
          type: array
          description: A group for each type of keyword present.
          nullable: true
          items:
            $ref: "#/components/schemas/KeywordGroup"
        visibility:
          $ref: "#/components/schemas/Visibility"
        images:
          type: array
          description: Image files with a maximum file size of 1MB
          nullable: true
          items:
            $ref: "#/components/schemas/ImageFile"
        contributors:
          type: array
          description: Contributors and their affiliations
          items:
            $ref: "#/components/schemas/AbstractStudentThesisContributorAssociation"
        customDefinedFields:
          $ref: "#/components/schemas/CustomDefinedFields"
        workflow:
          $ref: "#/components/schemas/Workflow"
        supervisorOrganizations:
          type: array
          description: A collection of organizational affiliations associated with
            supervisors of this student thesis.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        supervisorExternalOrganizations:
          type: array
          description: A collection of external organization affiliations associated
            with supervisors of this research output.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        supervisors:
          type: array
          description: The supervisors of this student thesis.
          nullable: true
          items:
            $ref: "#/components/schemas/SupervisorAssociation"
        sponsors:
          type: array
          description: The sponsors of this student thesis.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        awardDate:
          $ref: "#/components/schemas/CompoundDate"
        awardingInstitutions:
          type: array
          description: The awarding institution.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
        systemName:
          type: string
          description: The content system name
          readOnly: true
        abstract:
          $ref: "#/components/schemas/FormattedLocalizedString"
      description: A student thesis
    StudentThesisAwardableAssociation:
      required:
      - studentThesis
      type: object
      properties:
        award:
          $ref: "#/components/schemas/AwardRef"
        studentThesis:
          $ref: "#/components/schemas/StudentThesisRef"
      description: "A relation to a student thesis, optionally in the context of the\
        \ Award that made it possible."
    StudentThesisDocument:
      required:
      - fileName
      - mimeType
      - type
      - versionType
      - visibility
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        fileId:
          type: string
          description: The id of the file
          readOnly: true
        fileName:
          type: string
          description: The documents file name
        mimeType:
          type: string
          description: The documents mime type
        size:
          type: integer
          description: The documents size in bytes
          format: int64
        url:
          type: string
          description: Download url for the binary file
          readOnly: true
        fileStoreLocations:
          type: object
          additionalProperties:
            type: string
            description: Locations of the binary file in file stores.
            readOnly: true
          description: Locations of the binary file in file stores.
          readOnly: true
        uploadedFile:
          $ref: "#/components/schemas/UploadedFile"
        remoteFile:
          $ref: "#/components/schemas/RemoteFile"
        fileData:
          type: string
          description: Base64 encoded file data for new files. This property can be
            used instead of uploadedFile for small files
          format: byte
          writeOnly: true
        title:
          type: string
          description: Document title
          nullable: true
        type:
          $ref: "#/components/schemas/ClassificationRef"
        license:
          $ref: "#/components/schemas/ClassificationRef"
        visibleOnPortalDate:
          type: string
          description: The date the document will be available on the portal
          format: date
          readOnly: true
        visibility:
          $ref: "#/components/schemas/Visibility"
        creator:
          type: string
          description: The user that created the document
          readOnly: true
        created:
          type: string
          description: Create date for the document
          format: date-time
          readOnly: true
        versionType:
          $ref: "#/components/schemas/ClassificationRef"
        embargoReason:
          $ref: "#/components/schemas/ClassificationRef"
        embargoDate:
          type: string
          description: Embargo date.
          format: date-time
          nullable: true
        rightsStatement:
          type: string
          description: A description of property rights for the file.
          nullable: true
      description: A student thesis document.
    StudentThesisListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: StudentThesis
          items:
            $ref: "#/components/schemas/StudentThesis"
      description: List of student theses. Can contain a subset of all items along
        with the full count
    StudentThesisRef:
      required:
      - uuid
      type: object
      description: A reference to student thesis
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    SupervisorAssociation:
      required:
      - role
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        externalOrganizations:
          type: array
          description: A collection of external organization affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/ExternalOrganizationRef"
        name:
          $ref: "#/components/schemas/Name"
        person:
          $ref: "#/components/schemas/PersonRef"
        externalPerson:
          $ref: "#/components/schemas/ExternalPersonRef"
        organizations:
          type: array
          description: A collection of organizational affiliations.
          nullable: true
          items:
            $ref: "#/components/schemas/OrganizationRef"
        role:
          $ref: "#/components/schemas/ClassificationRef"
      description: A supervisor on a research output.
    SystemCurrencyAmount:
      required:
      - value
      type: object
      properties:
        currency:
          type: string
          description: "An ISO-4217 3-letter alphabetic code representing the Pure\
            \ installation's system currency as defined by the W3C's Payment Request\
            \ standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-currency"
          readOnly: true
        value:
          type: string
          description: "A valid decimal monetary value as defined by the W3C's Payment\
            \ Request standard: https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-value"
          format: "^-?[0-9]+(\\.[0-9]+)?$"
      description: "A monetary value in the Pure installation's system currency as\
        \ defined by the W3C's Payment Request standard: https://www.w3.org/TR/payment-request/#paymentcurrencyamount-dictionary"
    SystemLocalizedString:
      type: object
      additionalProperties:
        type: string
        description: A set of localized string values each for a specific UI locale.
        nullable: true
        example: "{\"en_GB\":\"Some text\"}"
      description: A set of localized string values each for a specific UI locale.
      nullable: true
      example:
        en_GB: Some text
    Talk:
      required:
      - managingOrganization
      - period
      - persons
      - talkLocation
      - title
      - type
      - visibility
      type: object
      description: Talk or presentation
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          title:
            $ref: "#/components/schemas/FormattedLocalizedString"
          talkLocation:
            $ref: "#/components/schemas/ActivityAbstractAssociation"
    TerminatedAwardStatus:
      type: object
      description: Indicates that an award is terminated.
      allOf:
      - $ref: "#/components/schemas/AwardStatus"
    ThesaurusRef:
      required:
      - uuid
      type: object
      description: A reference to a thesaurus
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    Thesis:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: A thesis.
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          printISBNs:
            type: array
            description: The ISBN number for the printed versions of the production.
            nullable: true
            items:
              type: string
          electronicISBNs:
            type: array
            description: The ISBN number for the electronic versions of the production.
            nullable: true
            items:
              type: string
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
          qualification:
            $ref: "#/components/schemas/ClassificationRef"
          awardingInstitutions:
            type: array
            description: The awarding institution.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationOrExternalOrganizationRef"
          supervisorOrganizations:
            type: array
            description: A collection of organizational affiliations associated with
              supervisors of this research output.
            nullable: true
            items:
              $ref: "#/components/schemas/OrganizationRef"
          supervisorExternalOrganizations:
            type: array
            description: A collection of external organization affiliations associated
              with supervisors of this research output.
            nullable: true
            items:
              $ref: "#/components/schemas/ExternalOrganizationRef"
          supervisors:
            type: array
            description: The supervisors of this research output.
            nullable: true
            items:
              $ref: "#/components/schemas/SupervisorAssociation"
          sponsors:
            type: array
            description: The sponsors of this research output.
            nullable: true
            items:
              $ref: "#/components/schemas/ExternalOrganizationRef"
          awardDate:
            type: string
            format: date
    UploadedFile:
      required:
      - key
      type: object
      properties:
        digest:
          type: string
          description: The calculated digest for the file in Pure
          readOnly: true
        digestType:
          type: string
          description: The digest type
          readOnly: true
        size:
          type: integer
          description: The file size of the file in Pure
          format: int64
          readOnly: true
        mimeType:
          type: string
          description: The mime type detected for the file
          readOnly: true
        timeStamp:
          type: string
          description: The timestamp Pure received the file
          format: date-time
          readOnly: true
        expires:
          type: string
          description: The timestamp where Pure deletes the uploaded file if it has
            not been attached to any content
          format: date-time
          readOnly: true
        key:
          type: string
          description: Pure key identifer for the file upload
          readOnly: true
      description: Information about the uploaded file
    User:
      required:
      - email
      - username
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        uuid:
          type: string
          description: "UUID, this is the primary identity of the entity"
          format: uuid
          readOnly: true
        createdBy:
          type: string
          description: Username of creator
          readOnly: true
        createdDate:
          type: string
          description: Date and time of creation
          format: date-time
          readOnly: true
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
          readOnly: true
        modifiedDate:
          type: string
          description: Date and time of last modification
          format: date-time
          readOnly: true
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
          readOnly: true
        prettyUrlIdentifiers:
          type: array
          description: All pretty URLs
          readOnly: true
          items:
            type: string
            description: All pretty URLs
            readOnly: true
        previousUuids:
          type: array
          description: UUIDs of other content items which have been merged into this
            content item (or similar)
          readOnly: true
          items:
            type: string
            description: UUIDs of other content items which have been merged into
              this content item (or similar)
            readOnly: true
        version:
          type: string
          description: "Used to guard against conflicting updates. For new content\
            \ this is null, and for existing content the current value. The property\
            \ should never be modified by a client, except in the rare case where\
            \ the client wants to perform an update irrespective of if other clients\
            \ have made updates in the meantime, also known as a \"dirty write\".\
            \ A dirty write is performed by not including the property value or setting\
            \ the property to null"
          nullable: true
        username:
          type: string
          description: Username
        name:
          $ref: "#/components/schemas/Name"
        email:
          type: string
          description: The user's email address
        externallyAuthenticated:
          type: boolean
          description: Is the user externally authenticated.
        pureSystemUser:
          type: boolean
          description: Is the user a Pure system user. Set to false when creating
            normal Pure users.
          default: false
        locked:
          type: boolean
          description: Is the user locked. A locked user cannot log into Pure.
          default: false
        identifiers:
          type: array
          description: Identifiers related to the user
          nullable: true
          items:
            $ref: "#/components/schemas/Identifier"
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A user that can be attached to a person in Pure
    UserListResult:
      type: object
      properties:
        count:
          type: integer
          description: "The full count, ignoring paging"
          format: int32
        pageInformation:
          $ref: "#/components/schemas/PageInformation"
        items:
          type: array
          description: Users
          items:
            $ref: "#/components/schemas/User"
      description: List of users. Can contain a subset of all items along with the
        full count
    UserProfileRef:
      required:
      - uuid
      type: object
      description: A reference to a user profile
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    UserRef:
      required:
      - uuid
      type: object
      description: A reference to an user
      nullable: true
      allOf:
      - $ref: "#/components/schemas/ContentRef"
    UserRoles:
      required:
      - globalRoleAssignments
      - localRoleAssignments
      - version
      type: object
      properties:
        version:
          type: string
          description: Used to guard against conflicting updates. The property should
            never be modified explicitly by a client
        globalRoleAssignments:
          type: array
          description: Current/requested global role assignments
          items:
            $ref: "#/components/schemas/GlobalRoleAssignment"
        localRoleAssignments:
          type: array
          description: Current/requested local role assignments
          items:
            $ref: "#/components/schemas/LocalRoleAssignment"
      description: The complete picture of a users roles
    ValidationError:
      type: object
      properties:
        path:
          type: string
        code:
          type: string
        title:
          $ref: "#/components/schemas/SystemLocalizedString"
      description: Validation error
    ValidationProblemDetails:
      type: object
      description: Problem details for validation failures
      allOf:
      - $ref: "#/components/schemas/ProblemDetails"
      - type: object
        properties:
          errors:
            type: array
            items:
              $ref: "#/components/schemas/ValidationError"
    Visibility:
      required:
      - key
      type: object
      properties:
        key:
          type: string
          description: Visibility value
          enum:
          - FREE
          - CAMPUS
          - BACKEND
          - CONFIDENTIAL
        description:
          $ref: "#/components/schemas/SystemLocalizedString"
      description: Visibility of an object
    VisitOther:
      required:
      - externalOrganizationRef
      - managingOrganization
      - period
      - type
      - visibility
      type: object
      description: Visiting an external institution
      allOf:
      - $ref: "#/components/schemas/Activity"
      - type: object
        properties:
          persons:
            type: array
            description: A collection of persons.
            nullable: true
            items:
              $ref: "#/components/schemas/AbstractActivityPersonAssociation"
          event:
            $ref: "#/components/schemas/EventRef"
          externalOrganizationRef:
            $ref: "#/components/schemas/ExternalOrganizationRef"
    VisitingScholarOrganizationAssociation:
      type: object
      description: A relation describing the association between a visiting scholar
        and organization
      allOf:
      - $ref: "#/components/schemas/PersonOrganizationAssociation"
      - type: object
        properties:
          jobDescription:
            $ref: "#/components/schemas/LocalizedString"
          jobTitle:
            $ref: "#/components/schemas/ClassificationRef"
          purposeOfStay:
            type: string
            description: Why the visiting shcolar has transfered to the organization.
            nullable: true
          visitorFrom:
            $ref: "#/components/schemas/ExternalOrganizationRef"
    Workflow:
      required:
      - step
      type: object
      properties:
        step:
          type: string
          description: Current workflow step
        description:
          $ref: "#/components/schemas/SystemLocalizedString"
      description: Information about workflow
    WorkflowListResult:
      type: object
      properties:
        workflows:
          type: array
          description: Allowed workflow steps.
          items:
            $ref: "#/components/schemas/Workflow"
      description: List of workflow steps.
    WorkingPaper:
      required:
      - category
      - contributors
      - language
      - managingOrganization
      - publicationStatuses
      - title
      - type
      type: object
      description: "A working paper is a document that constitutes an early version\
        \ of a publication. Working papers are primarily used for exchanging ideas\
        \ or to get feedback, before submitting it to a publisher. Working papers\
        \ are usually published by the authors own institution."
      allOf:
      - $ref: "#/components/schemas/ResearchOutput"
      - type: object
        properties:
          volume:
            type: string
            description: The volume that the research output was published in.
            nullable: true
          numberOfPages:
            type: integer
            description: The number of pages in the research output.
            format: int32
            nullable: true
          pages:
            type: string
            description: "The pages of the host publication covered by this contribution,\
              \ for example 10-15."
            nullable: true
          publicationSeries:
            type: array
            description: The publication series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/PublicationSeries"
          placeOfPublication:
            type: string
            description: The place of publication.
            nullable: true
          edition:
            type: string
            description: The edition that the production was published in.
            nullable: true
          printISBNs:
            type: array
            description: The ISBN number for the printed versions of the production.
            nullable: true
            items:
              type: string
          electronicISBNs:
            type: array
            description: The ISBN number for the electronic versions of the production.
            nullable: true
            items:
              type: string
          publisher:
            $ref: "#/components/schemas/PublisherRef"
          bookSeries:
            type: array
            description: The book series this research output is part of.
            nullable: true
            items:
              $ref: "#/components/schemas/BookSeriesJournalAssociation"
    YearMonth:
      required:
      - month
      - year
      type: object
      properties:
        year:
          maximum: 4000
          minimum: 0
          type: integer
          format: int32
        month:
          maximum: 12
          minimum: 1
          type: integer
          format: int32
      description: A date that can be defined by only year and month
      nullable: true
    YearlyBudget:
      type: object
      properties:
        pureId:
          type: integer
          description: "Pure database ID of the object, prefer using the UUID if it\
            \ is present on the entity"
          format: int64
          readOnly: true
        budget:
          $ref: "#/components/schemas/SystemCurrencyAmount"
        year:
          type: integer
          description: The year of the yearly budget.
          format: int32
          nullable: true
      description: A yearly budget of an account.
  securitySchemes:
    api-key:
      type: apiKey
      description: Security mechanism for the API
      name: api-key
      in: header
