Aarhus University fingerprint API

The fingerprint API from Aarhus University — 3 operation(s) for fingerprint.

OpenAPI Specification

aarhus-fingerprint-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Pure activity fingerprint 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.3-4
servers:
- url: https://pure.au.dk/ws/api
security:
- api-key: []
tags:
- name: fingerprint
paths:
  /fingerprints:
    get:
      tags:
      - fingerprint
      summary: Lists all fingerprints
      description: Lists all fingerprints in the Pure instance. If you need to filter the fingerprints returned, see the POST version which supports additional filtering.
      operationId: fingerprint_list
      parameters:
      - name: size
        in: query
        description: Number of returned fingerprints 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/FingerprintListResult'
  /fingerprints/search:
    post:
      tags:
      - fingerprint
      summary: Query operation for fingerprints
      description: Lists fingerprints in the Pure instance that matches the provided query, similar to the GET version, instead of using parameters to alter the response, a 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: fingerprint_query
      requestBody:
        description: The query to perform
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FingerprintQuery'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FingerprintListResult'
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /fingerprints/{uuid}:
    get:
      tags:
      - fingerprint
      summary: Get fingerprint
      description: Get fingerprint with specific UUID.
      operationId: fingerprint_get
      parameters:
      - name: uuid
        in: path
        description: UUID of the desired fingerprint
        required: true
        schema:
          pattern: .+
          type: string
          format: uuid
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fingerprint'
        '301':
          description: The requested content have changed UUID
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    Fingerprint:
      required:
      - relatedContent
      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
        relatedContent:
          $ref: '#/components/schemas/ContentRef'
        concepts:
          type: array
          description: The ranked concepts that makes up this fingerprint
          nullable: true
          items:
            $ref: '#/components/schemas/RankedConcept'
        systemName:
          type: string
          description: The content system name
          readOnly: true
      description: A fingerprint
    RankedConcept:
      required:
      - concept
      - rank
      type: object
      properties:
        concept:
          $ref: '#/components/schemas/ConceptRef'
        rank:
          type: number
          description: The rank of the ranked concept. If this is not set on creation, the ranked concept will have a default rank value of 0
          format: double
        weightedRank:
          type: number
          description: WeightedRank
          format: double
          nullable: true
        frequency:
          type: integer
          description: Frequency
          format: int32
          nullable: true
      description: A ranked concept
    FingerprintListResult:
      type: object
      properties:
        count:
          type: integer
          description: The full count, ignoring paging
          format: int32
        pageInformation:
          $ref: '#/components/schemas/PageInformation'
        items:
          type: array
          description: Fingerprints
          items:
            $ref: '#/components/schemas/Fingerprint'
      description: List of fingerprints. Can contain a subset of all items along with the full count
    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
    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'
    FingerprintQuery:
      type: object
      properties:
        uuids:
          type: array
          items:
            type: string
            format: uuid
        size:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        searchString:
          type: string
          description: String used to perform search
        relatedContentUuid:
          type: string
          description: UUID of the related content
        relatedContentSystemName:
          type: string
          description: System name of the related content
      description: Create a query for fingerprint
    ConceptRef:
      required:
      - uuid
      type: object
      description: A reference to a concept
      nullable: true
      allOf:
      - $ref: '#/components/schemas/ContentRef'
      - type: object
        properties:
          conceptId:
            type: string
            description: The concept ID
            readOnly: true
    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'
  securitySchemes:
    api-key:
      type: apiKey
      description: Security mechanism for the API
      name: api-key
      in: header