Aarhus University · Schema

Aarhus University Pure API Project

Projects exists in two variations depending on the functionality enabled in the Pure installation.

EducationHigher EducationUniversityResearchOpen DataDenmarkEurope

Properties

Name Type Description
pureId integer Pure database ID of the object, prefer using the UUID if it is present on the entity
uuid string UUID, this is the primary identity of the entity
createdBy string Username of creator
createdDate string Date and time of creation
modifiedBy string Username of the user that performed a modification
modifiedDate string Date and time of last modification
portalUrl string URL of the content on the Pure Portal
prettyUrlIdentifiers array All pretty URLs
previousUuids array UUIDs of other content items which have been merged into this content item (or similar)
version string 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
acronym string The acronym of the project.
participants array Related participants and their affiliations.
externalOrganizations array A collection of external organization affiliations.
coManagingOrganizations array A collection of co-managing organizational affiliations.
collaborators array A collection of collaborators.
descriptions array A collection of descriptions for the project. Query the /projects/allowed-description-types endpoint for allowed types.
period object
effectivePeriod object
identifiers array Identifiers related to the project.
natureTypes array Nature of activity types for the project.
organizations array A collection of organizational unit affiliations.
managingOrganization object
shortTitle object
title object
totalAcademicOwnership number Total academic ownership of the project.
type object
workflow object
visibility object
links array Links associated with the project.
keywordGroups array Groups of keywords associated with the project.
documents array A collection of documents related to the project.
curtailed object
projects array A collection of related projects.
applicationClusters array A collection of related application clusters.
awardClusters array A collection of related grant clusters.
dataSets array A collection of related datasets.
prizes array A collection of related prizes.
activities array A collection of related activities.
pressMedias array A collection of related press/media.
equipment array A collection of related equipment.
impacts array A collection of related impacts.
researchOutputs array A collection of related research output.
studentTheses array A collection of related student theses.
customDefinedFields object
images array Image files with a maximum file size of 1MB
systemName string The content system name
typeDiscriminator string
View JSON Schema on GitHub

JSON Schema

aarhus-project-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/aarhus/main/json-schema/aarhus-project-schema.json",
  "title": "Aarhus University Pure API Project",
  "description": "Projects exists in two variations depending on the functionality enabled in the Pure installation.",
  "required": [
    "managingOrganization",
    "organizations",
    "title",
    "type",
    "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
    },
    "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
    },
    "acronym": {
      "type": "string",
      "description": "The acronym of the project.",
      "nullable": true
    },
    "participants": {
      "type": "array",
      "description": "Related participants and their affiliations.",
      "items": {
        "$ref": "#/$defs/AbstractParticipantAssociation"
      }
    },
    "externalOrganizations": {
      "type": "array",
      "description": "A collection of external organization affiliations.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ExternalOrganizationRef"
      }
    },
    "coManagingOrganizations": {
      "type": "array",
      "description": "A collection of co-managing organizational affiliations.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/OrganizationRef"
      }
    },
    "collaborators": {
      "type": "array",
      "description": "A collection of collaborators.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/CollaboratorAssociation"
      }
    },
    "descriptions": {
      "type": "array",
      "description": "A collection of descriptions for the project. Query the /projects/allowed-description-types endpoint for allowed types.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ClassifiedFormattedLocalizedValue"
      }
    },
    "period": {
      "$ref": "#/$defs/DateRange"
    },
    "effectivePeriod": {
      "$ref": "#/$defs/DeprecatedDateRange"
    },
    "identifiers": {
      "type": "array",
      "description": "Identifiers related to the project.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/Identifier"
      }
    },
    "natureTypes": {
      "type": "array",
      "description": "Nature of activity types for the project.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ClassificationRef"
      }
    },
    "organizations": {
      "type": "array",
      "description": "A collection of organizational unit affiliations.",
      "items": {
        "$ref": "#/$defs/OrganizationRef"
      }
    },
    "managingOrganization": {
      "$ref": "#/$defs/OrganizationRef"
    },
    "shortTitle": {
      "$ref": "#/$defs/LocalizedString"
    },
    "title": {
      "$ref": "#/$defs/LocalizedString"
    },
    "totalAcademicOwnership": {
      "type": "number",
      "description": "Total academic ownership of the project.",
      "format": "double",
      "readOnly": true
    },
    "type": {
      "$ref": "#/$defs/ClassificationRef"
    },
    "workflow": {
      "$ref": "#/$defs/Workflow"
    },
    "visibility": {
      "$ref": "#/$defs/Visibility"
    },
    "links": {
      "type": "array",
      "description": "Links associated with the project.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/Link"
      }
    },
    "keywordGroups": {
      "type": "array",
      "description": "Groups of keywords associated with the project.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/KeywordGroup"
      }
    },
    "documents": {
      "type": "array",
      "description": "A collection of documents related to the project.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/Document"
      }
    },
    "curtailed": {
      "$ref": "#/$defs/ProjectCurtailed"
    },
    "projects": {
      "type": "array",
      "description": "A collection of related projects.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ProjectAssociation"
      }
    },
    "applicationClusters": {
      "type": "array",
      "description": "A collection of related application clusters.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ApplicationClusterRef"
      }
    },
    "awardClusters": {
      "type": "array",
      "description": "A collection of related grant clusters.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/AwardClusterRef"
      }
    },
    "dataSets": {
      "type": "array",
      "description": "A collection of related datasets.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/DataSetAwardableAssociation"
      }
    },
    "prizes": {
      "type": "array",
      "description": "A collection of related prizes.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/PrizeAwardableAssociation"
      }
    },
    "activities": {
      "type": "array",
      "description": "A collection of related activities.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ActivityAwardableAssociation"
      }
    },
    "pressMedias": {
      "type": "array",
      "description": "A collection of related press/media.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/PressMediaAwardableAssociation"
      }
    },
    "equipment": {
      "type": "array",
      "description": "A collection of related equipment.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/EquipmentAwardableAssociation"
      }
    },
    "impacts": {
      "type": "array",
      "description": "A collection of related impacts.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ImpactAwardableAssociation"
      }
    },
    "researchOutputs": {
      "type": "array",
      "description": "A collection of related research output.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ResearchOutputAwardableAssociation"
      }
    },
    "studentTheses": {
      "type": "array",
      "description": "A collection of related student theses.",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/StudentThesisAwardableAssociation"
      }
    },
    "customDefinedFields": {
      "$ref": "#/$defs/CustomDefinedFields"
    },
    "images": {
      "type": "array",
      "description": "Image files with a maximum file size of 1MB",
      "nullable": true,
      "items": {
        "$ref": "#/$defs/ImageFile"
      }
    },
    "systemName": {
      "type": "string",
      "description": "The content system name",
      "readOnly": true
    },
    "typeDiscriminator": {
      "type": "string"
    }
  },
  "discriminator": {
    "propertyName": "typeDiscriminator",
    "mapping": {
      "BasicProject": "#/components/schemas/BasicProject",
      "AwardManagementProject": "#/components/schemas/AwardManagementProject"
    }
  },
  "$defs": {
    "ProjectAssociation": {
      "required": [
        "project"
      ],
      "type": "object",
      "properties": {
        "relationType": {
          "$ref": "#/$defs/ClassificationRef"
        },
        "project": {
          "$ref": "#/$defs/ProjectRef"
        }
      },
      "description": "An association to a project."
    },
    "PressMediaAwardableAssociation": {
      "required": [
        "pressMedia"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "pressMedia": {
          "$ref": "#/$defs/PressMediaRef"
        }
      },
      "description": "A relation to a press/media, optionally in the context of the Award that made it possible."
    },
    "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"
    },
    "PressMediaRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to a press/media",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "DateRange": {
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "description": "Start date",
          "format": "date",
          "nullable": true
        },
        "endDate": {
          "type": "string",
          "description": "End date",
          "format": "date",
          "nullable": true
        }
      },
      "description": "A date range"
    },
    "CustomDefinedField": {
      "required": [
        "typeDiscriminator"
      ],
      "type": "object",
      "properties": {
        "typeDiscriminator": {
          "type": "string"
        }
      },
      "description": "Map of CustomDefinedField values, where the key is the field identifier",
      "nullable": true,
      "example": "{ \"fieldName1\": \"typeDiscriminator\": \"Integer\", \"value\" : 1}",
      "discriminator": {
        "propertyName": "typeDiscriminator",
        "mapping": {
          "Integer": "#/components/schemas/CustomDefinedFieldInteger",
          "String": "#/components/schemas/CustomDefinedFieldString",
          "Date": "#/components/schemas/CustomDefinedFieldDate",
          "Classification": "#/components/schemas/CustomDefinedFieldClassification",
          "Boolean": "#/components/schemas/CustomDefinedFieldBoolean",
          "Decimal": "#/components/schemas/CustomDefinedFieldDecimal"
        }
      }
    },
    "ActivityRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to an activity",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "Document": {
      "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": "#/$defs/UploadedFile"
        },
        "remoteFile": {
          "$ref": "#/$defs/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": "#/$defs/ClassificationRef"
        },
        "license": {
          "$ref": "#/$defs/ClassificationRef"
        },
        "visibleOnPortalDate": {
          "type": "string",
          "description": "The date the document will be available on the portal",
          "format": "date",
          "readOnly": true
        },
        "visibility": {
          "$ref": "#/$defs/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": "Document"
    },
    "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"
      }
    },
    "ActivityAwardableAssociation": {
      "required": [
        "activity"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "activity": {
          "$ref": "#/$defs/ActivityRef"
        }
      },
      "description": "A relation to an activity, optionally in the context of the Award that made it possible."
    },
    "ExternalOrganizationRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to an organization external to the institution",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "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"
        }
      }
    },
    "ResearchOutputAwardableAssociation": {
      "required": [
        "researchOutput"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "researchOutput": {
          "$ref": "#/$defs/ResearchOutputRef"
        }
      },
      "description": "A relation to a research output, optionally in the context of the Award that made it possible."
    },
    "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"
      }
    },
    "CollaboratorAssociation": {
      "required": [
        "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
        },
        "type": {
          "$ref": "#/$defs/ClassificationRef"
        },
        "leadCollaborator": {
          "type": "boolean",
          "description": "Whether this collaborator is lead collaborator or not.",
          "nullable": true
        },
        "typeDiscriminator": {
          "type": "string"
        }
      },
      "description": "A collaborator associated with the content.",
      "discriminator": {
        "propertyName": "typeDiscriminator",
        "mapping": {
          "InternalCollaboratorAssociation": "#/components/schemas/InternalCollaboratorAssociation",
          "ExternalCollaboratorAssociation": "#/components/schemas/ExternalCollaboratorAssociation"
        }
      }
    },
    "Visibility": {
      "required": [
        "key"
      ],
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Visibility value",
          "enum": [
            "FREE",
            "CAMPUS",
            "BACKEND",
            "CONFIDENTIAL"
          ]
        },
        "description": {
          "$ref": "#/$defs/SystemLocalizedString"
        }
      },
      "description": "Visibility of an object"
    },
    "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"
      }
    },
    "Name": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        }
      },
      "description": "A name describing a person, made up of given- and family name"
    },
    "DataSetAwardableAssociation": {
      "required": [
        "dataSet"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "dataSet": {
          "$ref": "#/$defs/DataSetRef"
        }
      },
      "description": "A relation to a dataset, optionally in the context of the Award that made it possible."
    },
    "OrganizationRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to an organization in the institution",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "EquipmentRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to a piece of equipment",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "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": "#/$defs/UploadedFile"
        },
        "remoteFile": {
          "$ref": "#/$defs/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": "#/$defs/ClassificationRef"
        },
        "copyrightConfirmation": {
          "type": "boolean",
          "description": "Indicates whether this file has been confirmed to adhere to the appropriate copyrights",
          "nullable": true
        },
        "caption": {
          "$ref": "#/$defs/LocalizedString"
        },
        "altText": {
          "$ref": "#/$defs/LocalizedString"
        },
        "copyrightStatement": {
          "$ref": "#/$defs/LocalizedString"
        }
      },
      "description": "An image file"
    },
    "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": "#/$defs/LocalizedString"
        },
        "linkType": {
          "$ref": "#/$defs/ClassificationRef"
        }
      },
      "description": "A hyperlink describing a location on the web."
    },
    "ResearcherCommitment": {
      "required": [
        "yearMonth"
      ],
      "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
        },
        "actualResearcherCommitment": {
          "maximum": 1,
          "minimum": 0,
          "type": "number",
          "description": "The actual researcher commitment.",
          "format": "double",
          "nullable": true
        },
        "plannedResearcherCommitment": {
          "maximum": 1,
          "minimum": 0,
          "type": "number",
          "description": "The planned researcher commitment.",
          "format": "double",
          "nullable": true
        },
        "yearMonth": {
          "$ref": "#/$defs/YearMonth"
        }
      },
      "description": "Planned and actual research commitment."
    },
    "AwardClusterRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to an award cluster",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "CustomDefinedFields": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/CustomDefinedField"
      },
      "description": "Map of CustomDefinedField values, where the key is the field identifier",
      "nullable": true,
      "example": "{ \"fieldName1\": \"typeDiscriminator\": \"Integer\", \"value\" : 1}"
    },
    "ImpactAwardableAssociation": {
      "required": [
        "impact"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "impact": {
          "$ref": "#/$defs/ImpactRef"
        }
      },
      "description": "A relation to an impact, optionally in the context of the Award that made it possible."
    },
    "ResearchOutputRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to a research output",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "StudentThesisAwardableAssociation": {
      "required": [
        "studentThesis"
      ],
      "type": "object",
      "properties": {
        "award": {
          "$ref": "#/$defs/AwardRef"
        },
        "studentThesis": {
          "$ref": "#/$defs/StudentThesisRef"
        }
      },
      "description": "A relation to a student thesis, optionally in the context of the Award that made it possible."
    },
    "AwardRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to an award",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "DataSetRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to a data set",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "Workflow": {
      "required": [
        "step"
      ],
      "type": "object",
      "properties": {
        "step": {
          "type": "string",
          "description": "Current workflow step"
        },
        "description": {
          "$ref": "#/$defs/SystemLocalizedString"
        }
      },
      "description": "Information about workflow"
    },
    "YearMonth": {
      "required": [
        "month",
        "year"
      ],
      "type": "object",
      "properties": {
        "year": {
          "maximum": 4000,
          "minimum": 0,
          "type": "integer",
          "format": "int32"
        },
        "month": {
          "maximum": 12,
          "minimum": 1,
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "A date that can be defined by only year and month",
      "nullable": true
    },
    "ClassifiedFormattedLocalizedValue": {
      "required": [
        "type"
      ],
      "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
        },
        "value": {
          "$ref": "#/$defs/FormattedLocalizedString"
        },
        "type": {
          "$ref": "#/$defs/ClassificationRef"
        }
      },
      "description": "A classified formatted localized value"
    },
    "ProjectCurtailed": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "description": "Date of curtail",
          "format": "date",
          "nullable": true
        },
        "reason": {
          "type": "string",
          "description": "Reason for curtail",
          "nullable": true
        }
      },
      "description": "Information about project curtail."
    },
    "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)"
    },
    "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": "#/$defs/LocalizedString"
        },
        "typeDiscriminator": {
          "type": "string"
        }
      },
      "discriminator": {
        "propertyName": "typeDiscriminator",
        "mapping": {
          "ClassificationsKeywordGroup": "#/components/schemas/ClassificationsKeywordGroup",
          "FreeKeywordsKeywordGroup": "#/components/schemas/FreeKeywordsKeywordGroup",
          "FullKeywordGroup": "#/components/schemas/FullKeywordGroup"
        }
      }
    },
    "ImpactRef": {
      "required": [
        "uuid"
      ],
      "type": "object",
      "description": "A reference to impact",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/ContentRef"
        }
      ]
    },
    "DeprecatedDateRange": {
      "type": "object",
      "properties": {
        "startDate": {

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aarhus/refs/heads/main/json-schema/aarhus-project-schema.json