openapi: 3.0.1 info: title: Pure activity studentProject 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.35.0 servers: - url: https://scholars.hkbu.edu.hk/ws/api security: - api-key: [] tags: - name: studentProject paths: /student-projects: get: tags: - studentProject summary: Lists all student projects description: Lists all student projects in the Pure instance. If you need to filter the student projects returned, see the POST version which supports additional filtering. operationId: studentProject_list_1 parameters: - name: size in: query description: Number of returned student 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 /student-projects/orderings schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/StudentProjectListResult' put: tags: - studentProject summary: Create student project description: Create student project operationId: studentProject_create_1 requestBody: description: The content to create content: application/json: schema: $ref: '#/components/schemas/StudentProject' required: true responses: '201': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/StudentProject' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' /student-projects/allowed-appendix-document-licenses: get: tags: - studentProject summary: A list of allowed document licenses description: Get a list of allowed document licenses for student projects operationId: studentProject_getAllowedAppendixDocumentLicenses_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-appendix-document-types: get: tags: - studentProject summary: A list of allowed document types description: Get a list of allowed types for documents on student projects operationId: studentProject_getAllowedAppendixDocumentTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-campuses: get: tags: - studentProject summary: A list of allowed campuses description: Get a list of allowed campuses on student projects operationId: studentProject_getAllowedCampuses_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-document-licenses: get: tags: - studentProject summary: A list of allowed document licenses description: Get a list of allowed document licenses for student projects operationId: studentProject_getAllowedDocumentLicenses_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-document-types: get: tags: - studentProject summary: A list of allowed document types description: Get a list of allowed types for documents on student projects operationId: studentProject_getAllowedDocumentTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-external-collaborator-roles: get: tags: - studentProject summary: A list of allowed external collaborator rules description: Get a list of allowed external collaborator rules for the 'externalCollaborators' property on student projects operationId: studentProject_getAllowedExternalCollaboratorRoles_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-groups: get: tags: - studentProject summary: A list of allowed groups description: Get a list of allowed groups on student projects operationId: studentProject_getAllowedGroups_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-image-types: get: tags: - studentProject 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: studentProject_getAllowedImageTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-keyword-group-configurations: get: tags: - studentProject 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: studentProject_getAllowedKeywordGroupConfigurations_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/AllowedKeywordGroupConfigurationList' /student-projects/allowed-keyword-group-configurations/{id}/classifications: get: tags: - studentProject 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: studentProject_getAllowedKeywordGroupConfigurationClassifications_1 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-projects/allowed-languages: get: tags: - studentProject summary: A list of allowed languages description: Get a list of allowed languages on student projects operationId: studentProject_getAllowedLanguages_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-link-types: get: tags: - studentProject 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 student project operationId: studentProject_getAllowedLinkTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-locales: get: tags: - studentProject 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: studentProject_getAllowedLocales_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LocalesList' /student-projects/allowed-supervisor-types: get: tags: - studentProject summary: A list of allowed supervisor types description: Get a list of allowed supervisor types on student projects operationId: studentProject_getAllowedSupervisorTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-types: get: tags: - studentProject summary: A list of allowed student project types description: Get a list of allowed types that can be used for the 'type' attribute of student project operationId: studentProject_getAllowedTypes_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ClassificationRefList' /student-projects/allowed-workflow-steps: get: tags: - studentProject summary: A list of allowed workflow steps in localized strings description: Get a list of allowed workflow steps. operationId: studentProject_getAllowedWorkflowSteps_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WorkflowListResult' /student-projects/file-uploads: put: tags: - studentProject summary: Upload file to a specific student project description: Uploads file for the student project operationId: studentProject_fileUploads_1 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-projects/orderings: get: tags: - studentProject summary: Lists available orderings description: Lists all orderings available to the student project endpoint. These values can be used by the order parameter. operationId: studentProject_getOrderings_1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/OrderingsList' /student-projects/search: post: tags: - studentProject summary: Query operation for student project description: Lists student 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: studentProject_query_1 requestBody: description: The query to perform content: application/json: schema: $ref: '#/components/schemas/StudentProjectQuery' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/StudentProjectListResult' '400': description: Bad request content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' /student-projects/{uuid}: get: tags: - studentProject summary: Get student project description: Get student project with specific UUID. operationId: studentProject_get_1 parameters: - name: uuid in: path description: UUID of the desired student project required: true schema: pattern: .+ type: string format: uuid responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/StudentProject' '301': description: The requested content have changed UUID '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - studentProject summary: Update student project description: Update student project with specific UUID. operationId: studentProject_update_1 parameters: - name: uuid in: path description: UUID of the student project to update required: true schema: pattern: .+ type: string format: uuid requestBody: description: The content to update content: application/json: schema: $ref: '#/components/schemas/StudentProject' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/StudentProject' '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: - studentProject summary: Delete student project description: Delete student project with specific UUID. operationId: studentProject_delete_1 parameters: - name: uuid in: path description: UUID of the student 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' /student-projects/{uuid}/actions/lock: post: tags: - studentProject 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: studentProject_lock_1 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' /student-projects/{uuid}/actions/unlock: post: tags: - studentProject 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: studentProject_unlock_1 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' /student-projects/{uuid}/dependents: get: tags: - studentProject summary: Lists all dependents to the student project description: 'Lists all dependents to the student 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: studentProject_dependents_1 parameters: - name: uuid in: path description: UUID of the student 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' /student-projects/{uuid}/files/{fileId}: get: tags: - studentProject summary: Get file from the student project description: Get file from the student project operationId: studentProject_getFile_1 parameters: - name: uuid in: path description: UUID of the student 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 /student-projects/{uuid}/notes: get: tags: - studentProject summary: Lists notes description: Lists notes associated with an student project ordered by date (nulls last) operationId: studentProject_listNotes_1 parameters: - name: uuid in: path description: UUID of the student 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: studentProject not found content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - studentProject summary: Create note description: Create note and associate it with an student project operationId: studentProject_createNote_1 parameters: - name: uuid in: path description: UUID of the student 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' components: schemas: ExternalPersonRef: required: - uuid type: object description: A reference to a person external to the institution nullable: true allOf: - $ref: '#/components/schemas/ContentRef' 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 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 SpecializationRef: required: - uuid type: object description: A reference to a specialization 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. StudentProjectSupervisor: required: - externalPerson - 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 supervisorType: $ref: '#/components/schemas/ClassificationRef' email: type: string description: The supervisor email nullable: true person: $ref: '#/components/schemas/PersonRef' externalPerson: $ref: '#/components/schemas/ExternalPersonRef' description: A supervisor for a student project 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 ClassificationSchemeRef: required: - uuid type: object description: A reference to a classification scheme nullable: true allOf: - $ref: '#/components/schemas/ContentRef' 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 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' 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 OrganizationRef: required: - uuid type: object description: A reference to an organization in the institution nullable: true allOf: - $ref: '#/components/schemas/ContentRef' 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 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' Specialization: '#/components/schemas/SpecializationRef' StudentProject: '#/components/schemas/StudentProjectRef' 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 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 ExternalOrganizationRef: required: - uuid type: object description: A reference to an organization external to the institution nullable: true allOf: - $ref: '#/components/schemas/ContentRef' EducationAssociation: required: - educationRef - semesterRef 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 educationRef: $ref: '#/components/schemas/EducationRef' semesterRef: $ref: '#/components/schemas/SemesterRef' specializationRef: $ref: '#/components/schemas/SpecializationRef' description: An association to an education 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 StudentProjectAppendixDocument: 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: A student project appendix document StudentProjectDocument: 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 format: date description: A student project document StudentProjectExternalCollaborator: required: - email - externalCollaboratorRole - externalOrganization - 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 externalOrganization: $ref: '#/components/schemas/ExternalOrganizationRef' externalCollaboratorRole: $ref: '#/components/schemas/ClassificationRef' name: $ref: '#/components/schemas/Name' title: type: string description: The title of the external collaborator nullable: true email: type: string description: The email of the external collaborator description: An external collaborator of a student project 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 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 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 SemesterRef: required: - uuid type: object description: A reference to semester nullable: true allOf: - $ref: '#/components/schemas/ContentRef' 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 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 StudentProjectListResult: type: object properties: count: type: integer description: The full count, ignoring paging format: int32 pageInformation: $ref: '#/components/schemas/PageInformation' items: type: array description: StudentProject items: $ref: '#/components/schemas/StudentProject' description: List of student projects. Can contain a subset of all items along with the full count 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 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' 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) AllowedKeywordGroupConfigurationList: type: object properties: configurations: type: array items: $ref: '#/components/schemas/AllowedKeywordGroupConfiguration' description: List of allowed keyword group configurations EducationRef: required: - uuid type: object description: A reference to Education nullable: true allOf: - $ref: '#/components/schemas/ContentRef' StudentProjectQuery: 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 studentProject StudentProjectAuthor: required: - email - 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/Name' email: type: string description: The email of the author studentID: type: string description: The student id of the author nullable: true description: The collection of authors of the student project StudentProjectNotificationRecipient: required: - emailAddress 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 emailAddress: type: string description: The email address for the notification recipient description: A number of email addresses that will be notified once this student project enters the validated workflow step Name: type: object properties: firstName: type: string lastName: type: string description: A name describing a person, made up of given- and family name PersonRef: required: - uuid type: object description: A reference to a person internal to the institution nullable: true allOf: - $ref: '#/components/schemas/ContentRef' StudentProject: required: - authors - confidential - educations - externalCollaboration - hasSupervisors - language - publicationDate - 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 publishingInstitution: type: string description: The Publishing institution of the student thesis nullable: true hasSupervisors: type: boolean description: Whether the student project has supervisors or not supervisors: type: array description: A collection of supervisors items: $ref: '#/components/schemas/StudentProjectSupervisor' publishingPlace: type: string description: Place of Publishing nullable: true location: type: string description: The location nullable: true placement: type: string description: The placement nullable: true contactInfo: type: string description: The contact info for the student project nullable: true room: type: string description: The room where the exam will take/took place nullable: true time: type: string description: The time when the exam will take/took place nullable: true examiner: type: string description: The examiner of the exam of the student thesis nullable: true documents: type: array description: The student project documents items: $ref: '#/components/schemas/StudentProjectDocument' appendices: type: array description: The student project appendix documents items: $ref: '#/components/schemas/StudentProjectAppendixDocument' educations: type: array description: The educations of the student project items: $ref: '#/components/schemas/EducationAssociation' authorComment: type: string description: Text field to capture any authors who could not be identified as an author model nullable: true externalCollaboration: type: boolean description: Whether it has an external collaboration or not externalCollaborators: type: array description: The external collaborators of the student project items: $ref: '#/components/schemas/StudentProjectExternalCollaborator' campus: $ref: '#/components/schemas/ClassificationRef' organization: $ref: '#/components/schemas/OrganizationRef' notificationRecipients: type: array description: A number of email addresses that will be notified once this student project enters the validated workflow step items: $ref: '#/components/schemas/StudentProjectNotificationRecipient' authors: type: array description: The collection of authors of the student project items: $ref: '#/components/schemas/StudentProjectAuthor' title: $ref: '#/components/schemas/FormattedLocalizedString' subTitle: $ref: '#/components/schemas/FormattedLocalizedString' studentProjectAbstract: $ref: '#/components/schemas/FormattedLocalizedString' language: $ref: '#/components/schemas/ClassificationRef' numberOfPages: type: integer description: The number of pages in the production. Not used by patents format: int32 nullable: true publicationDate: $ref: '#/components/schemas/CompoundDate' confidential: type: boolean description: Indicates if the Student Project is confidential type: $ref: '#/components/schemas/ClassificationRef' visibility: $ref: '#/components/schemas/Visibility' links: type: array description: A collection of links items: $ref: '#/components/schemas/Link' images: type: array description: A collection of images items: $ref: '#/components/schemas/ImageFile' workflow: $ref: '#/components/schemas/Workflow' keywordGroups: type: array description: Groups of keywords associated with the student project. nullable: true items: $ref: '#/components/schemas/KeywordGroup' systemName: type: string description: The content system name readOnly: true description: A student project WorkflowListResult: type: object properties: workflows: type: array description: Allowed workflow steps. items: $ref: '#/components/schemas/Workflow' description: List of workflow steps. Workflow: required: - step type: object properties: step: type: string description: Current workflow step description: $ref: '#/components/schemas/SystemLocalizedString' description: Information about workflow 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 ContentRefListResult: type: object properties: items: type: array items: $ref: '#/components/schemas/ContentRef' description: List of Content Refs securitySchemes: api-key: type: apiKey description: Security mechanism for the API name: api-key in: header