openapi: 3.0.3 info: title: HIT Research Portal (Pure) 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: [] paths: /research-outputs: get: 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 tags: - researchOutput parameters: - name: size in: query description: Number of returned research outputs 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 /research-outputs/orderings schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ResearchOutputListResult' put: summary: Create research output description: Create research output operationId: researchOutput_create tags: - researchOutput responses: '201': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ResearchOutput' '400': description: Bad Request /research-outputs/search: post: 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 ad operationId: researchOutput_query tags: - researchOutput responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ResearchOutputListResult' '400': description: Bad request /research-outputs/{uuid}: get: summary: Get research output description: Get research output with specific UUID. operationId: researchOutput_get tags: - researchOutput parameters: - name: uuid in: path required: true description: UUID of the desired research output schema: 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: type: object put: summary: Update research output description: Update research output with specific UUID. operationId: researchOutput_update tags: - researchOutput parameters: - name: uuid in: path required: true description: UUID of the research output to update schema: type: string format: uuid responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ResearchOutput' '400': description: Bad Request '404': description: Resource not found '409': description: Version conflict delete: summary: Delete research output description: Delete research output with specific UUID. operationId: researchOutput_delete tags: - researchOutput parameters: - name: uuid in: path required: true description: UUID of the research output schema: type: string format: uuid responses: '204': description: Successful operation '404': description: Resource not found '409': description: Conflict /research-outputs/allowed-types: get: 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 tags: - researchOutput responses: '200': description: Successful operation content: application/json: schema: type: object /research-outputs/orderings: get: 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 tags: - researchOutput responses: '200': description: Successful operation content: application/json: schema: type: object /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: securitySchemes: apiKey: type: apiKey in: header name: api-key description: Pure API key. The HIT instance requires an issued key for API access. schemas: ResearchOutput: type: object description: Research output exists in many variations, from written to non-textual form. Templates are available for a range of these variations. 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 title: type: object subTitle: type: object type: type: object category: type: object 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. 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. publicationStatuses: type: array items: type: object language: type: object translatedTitle: type: object translatedSubTitle: type: object contributors: type: array items: type: object organizations: type: array items: type: object externalOrganizations: type: array items: type: object totalNumberOfContributors: type: integer format: int32 description: The total number of authors from author collaborations. managingOrganization: type: object submissionYear: type: integer format: int32 description: The submission year of the research output. mainResearchArea: type: object electronicVersions: type: array items: type: object additionalFiles: type: array items: type: object links: type: array items: type: object articleProcessingCharge: type: object keywordGroups: type: array items: type: object bibliographicalNote: type: object descriptions: type: array items: type: object visibility: type: object workflow: type: object identifiers: type: array items: type: object prizes: type: array items: type: object pressMedias: type: array items: type: object dataSets: type: array items: type: object studentThesis: type: array items: type: object impacts: type: array items: type: object activities: type: array items: type: object equipment: type: array items: type: object projects: type: array items: type: object researchOutputs: type: array items: type: object customDefinedFields: type: object images: type: array items: type: object fundingText: type: object fundingDetails: type: array items: type: object abstract: type: object systemName: type: string description: The content system name typeDiscriminator: type: string 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 ResearchOutputListResult: 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/ResearchOutput' 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'