Harbin Institute of Technology person API

The person API from Harbin Institute of Technology — 5 operation(s) for person.

OpenAPI Specification

harbin-institute-of-technology-person-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: HIT Research Portal (Pure) person API
  description: Subset of the Elsevier Pure web services API exposed by the Harbin Institute of Technology research portal (scholar.hit.edu.cn). Covers read access to research outputs (publications) and persons (researchers). Derived faithfully from the live Pure OpenAPI document at /ws/api/openapi.json; deeply nested supporting schemas are simplified to generic objects. Original Pure API version 5.35.3-4.
  version: 5.35.3-4
  contact:
    name: Harbin Institute of Technology Research Portal
    url: https://scholar.hit.edu.cn/en/
servers:
- url: https://scholar.hit.edu.cn/ws/api
  description: HIT Pure web services API
security:
- apiKey: []
tags:
- name: person
paths:
  /persons:
    get:
      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
      tags:
      - person
      parameters:
      - name: size
        in: query
        description: Number of returned persons per request.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: The offset for the returned list. 0 or null value is from the start
        schema:
          type: integer
          format: int32
      - 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:
      summary: Create person
      description: Create person
      operationId: person_create
      tags:
      - person
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '400':
          description: Bad Request
  /persons/search:
    post:
      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 '
      operationId: person_query
      tags:
      - person
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonListResult'
        '400':
          description: Bad request
  /persons/{uuid}:
    get:
      summary: Get person
      description: Get person with specific UUID.
      operationId: person_get
      tags:
      - person
      parameters:
      - name: uuid
        in: path
        required: true
        description: UUID of the desired person
        schema:
          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:
                type: object
    put:
      summary: Update person
      description: Update person with specific UUID.
      operationId: person_update
      tags:
      - person
      parameters:
      - name: uuid
        in: path
        required: true
        description: UUID of the person to update
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '400':
          description: Bad Request
        '404':
          description: Resource not found
        '409':
          description: Version conflict
    delete:
      summary: Delete person
      description: Delete person with specific UUID.
      operationId: person_delete
      tags:
      - person
      parameters:
      - name: uuid
        in: path
        required: true
        description: UUID of the person
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Successful operation
        '404':
          description: Resource not found
        '409':
          description: Conflict
  /persons/allowed-main-research-areas:
    get:
      summary: A list of allowed main research areas
      description: Get a list of allowed main research areas associated with the person
      operationId: person_getAllowedMainResearchAreas
      tags:
      - person
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
  /persons/orderings:
    get:
      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
      tags:
      - person
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    Person:
      type: object
      description: An academic professional, student, or other individual attached to the institution.
      properties:
        pureId:
          type: integer
          format: int64
          description: Pure database ID of the object, prefer using the UUID if it is present on the entity
        uuid:
          type: string
          format: uuid
          description: UUID, this is the primary identity of the entity
        createdBy:
          type: string
          description: Username of creator
        createdDate:
          type: string
          format: date-time
          description: Date and time of creation
        modifiedBy:
          type: string
          description: Username of the user that performed a modification
        modifiedDate:
          type: string
          format: date-time
          description: Date and time of last modification
        portalUrl:
          type: string
          description: URL of the content on the Pure Portal
        prettyUrlIdentifiers:
          type: array
          items:
            type: string
        previousUuids:
          type: array
          items:
            type: string
        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 th
        personExpertise:
          type: object
        startDateAsResearcher:
          type: string
          format: date
          description: Date that the person entered into the academic profession.
        affiliationNote:
          type: string
          description: Notes regarding affiliations of the person.
        dateOfBirth:
          type: string
          format: date
          description: The person's date of birth.
        employeeStartDate:
          type: string
          format: date
          description: Date of the persons first day of the institution.
        employeeEndDate:
          type: string
          format: date
          description: Date of the persons last day of the institution.
        externalPositions:
          type: array
          items:
            type: object
        keywordGroups:
          type: array
          items:
            type: object
        leavesOfAbsence:
          type: array
          items:
            type: object
        links:
          type: array
          items:
            type: object
        name:
          type: object
        names:
          type: array
          items:
            type: object
        nationality:
          type: object
        orcid:
          type: string
          description: orcid of the person.
        orcidAuthenticated:
          type: boolean
          description: Authentication status of the orcid associated with the person.
        cienciaId:
          type: string
          description: Ciencia ID of the person.
        cienciaIdAuthenticated:
          type: boolean
          description: Authentication status of the Ciencia ID associated with the person.
        honoraryStaffOrganizationAssociations:
          type: array
          items:
            type: object
        staffOrganizationAssociations:
          type: array
          items:
            type: object
        studentOrganizationAssociations:
          type: array
          items:
            type: object
        visitingScholarOrganizationAssociations:
          type: array
          items:
            type: object
        academicQualifications:
          type: array
          items:
            type: object
        profilePhotos:
          type: array
          items:
            type: object
        documents:
          type: array
          items:
            type: object
        privateAddress:
          type: object
        professionalQualifications:
          type: array
          items:
            type: object
        selectedForProfileRefinementService:
          type: boolean
          description: If the person has been profiled.
        profileInformation:
          type: array
          items:
            type: object
        retirementDate:
          type: string
          format: date
          description: Date of retirement for the person
        gender:
          type: object
        titles:
          type: array
          items:
            type: object
        visibility:
          type: object
        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.
        identifiers:
          type: array
          items:
            type: object
        user:
          type: object
        customDefinedFields:
          type: object
        workflow:
          type: object
        mainResearchArea:
          type: object
        profiled:
          type: boolean
        systemName:
          type: string
          description: The content system name
    PersonListResult:
      type: object
      properties:
        count:
          type: integer
          format: int64
          description: Total number of items.
        pageInformation:
          type: object
          description: Pagination info.
        items:
          type: array
          items:
            $ref: '#/components/schemas/Person'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: api-key
      description: Pure API key. The HIT instance requires an issued key for API access.