Vrije Universiteit Amsterdam classificationScheme API

The classificationScheme API from Vrije Universiteit Amsterdam — 7 operation(s) for classificationscheme.

OpenAPI Specification

vrije-universiteit-amsterdam-classificationscheme-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Pure activity classificationScheme 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.34.3
servers:
- url: https://research.vu.nl/ws/api
  description: VU Amsterdam Pure REST web service (API key required)
security:
- api-key: []
tags:
- name: classificationScheme
paths:
  /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'
components:
  schemas:
    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'
    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
    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
    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
    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
    ClassificationSchemeRef:
      required:
      - uuid
      type: object
      description: A reference to a classification scheme
      nullable: true
      allOf:
      - $ref: '#/components/schemas/ContentRef'
    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
    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
    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'
        identifiers:
          type: array
          description: Identifiers related to the ClassificationScheme.
          nullable: true
          items:
            $ref: '#/components/schemas/Identifier'
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A classification scheme.
    ClassificationRefList:
      type: object
      properties:
        classifications:
          type: array
          items:
            $ref: '#/components/schemas/ClassificationRef'
      description: List of classification references
    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
    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'
    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'
          PersonExpertise: '#/components/schemas/PersonExpertiseRef'
          Contract: '#/components/schemas/ContractRef'
          Milestone: '#/components/schemas/MilestoneRef'
          Fingerprint: '#/components/schemas/FingerprintRef'
    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
    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
    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.
    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
  securitySchemes:
    api-key:
      type: apiKey
      description: Security mechanism for the API
      name: api-key
      in: header