University of Bath · Schema
University of Bath Pure API Activity
Activities exist in many variations.
EducationHigher EducationUniversityUnited KingdomResearchOpen DataLibraryMetadata
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 |
| organizations | array | A collection of organization associations. |
| persons | array | A collection of persons. |
| period | object | |
| category | object | |
| managingOrganization | object | |
| links | array | Additional links associated with this activity. |
| type | object | |
| visibility | object | |
| workflow | object | |
| externalOrganizations | array | A collection of external organization affiliations. |
| identifiers | array | Identifiers related to the activity. |
| keywordGroups | array | Groups of keywords associated with the research output. |
| activities | array | A collection of related activities. |
| pressMedia | array | A collection of related press media. |
| studentTheses | array | A collection of related student theses. |
| researchOutputs | array | A collection of related research outputs. |
| impacts | array | A collection of related impacts. |
| equipment | array | A collection of equipment. |
| degreeOfRecognition | object | |
| documents | array | Associated documents for the activity. |
| descriptions | array | A collection of descriptions. |
| images | array | Image files with a maximum file size of 1MB. |
| customDefinedFields | object | |
| indicators | array | Indicators for the activity. |
| systemName | string | The content system name |
| typeDiscriminator | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/university-of-bath/main/json-schema/university-of-bath-activity-schema.json",
"title": "University of Bath Pure API Activity",
"description": "Activities exist in many variations.",
"required": [
"managingOrganization",
"period",
"persons",
"type",
"typeDiscriminator",
"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
},
"organizations": {
"type": "array",
"description": "A collection of organization associations.",
"nullable": true,
"items": {
"$ref": "#/$defs/OrganizationRef"
}
},
"persons": {
"type": "array",
"description": "A collection of persons.",
"items": {
"$ref": "#/$defs/AbstractActivityPersonAssociation"
}
},
"period": {
"$ref": "#/$defs/CompoundDateRange"
},
"category": {
"$ref": "#/$defs/ClassificationRef"
},
"managingOrganization": {
"$ref": "#/$defs/OrganizationRef"
},
"links": {
"type": "array",
"description": "Additional links associated with this activity.",
"nullable": true,
"items": {
"$ref": "#/$defs/Link"
}
},
"type": {
"$ref": "#/$defs/ClassificationRef"
},
"visibility": {
"$ref": "#/$defs/Visibility"
},
"workflow": {
"$ref": "#/$defs/Workflow"
},
"externalOrganizations": {
"type": "array",
"description": "A collection of external organization affiliations.",
"nullable": true,
"items": {
"$ref": "#/$defs/ExternalOrganizationRef"
}
},
"identifiers": {
"type": "array",
"description": "Identifiers related to the activity.",
"nullable": true,
"items": {
"$ref": "#/$defs/Identifier"
}
},
"keywordGroups": {
"type": "array",
"description": "Groups of keywords associated with the research output.",
"nullable": true,
"items": {
"$ref": "#/$defs/KeywordGroup"
}
},
"activities": {
"type": "array",
"description": "A collection of related activities.",
"nullable": true,
"items": {
"$ref": "#/$defs/ActivityRef"
}
},
"pressMedia": {
"type": "array",
"description": "A collection of related press media.",
"nullable": true,
"items": {
"$ref": "#/$defs/PressMediaRef"
}
},
"studentTheses": {
"type": "array",
"description": "A collection of related student theses.",
"nullable": true,
"items": {
"$ref": "#/$defs/StudentThesisRef"
}
},
"researchOutputs": {
"type": "array",
"description": "A collection of related research outputs.",
"nullable": true,
"items": {
"$ref": "#/$defs/ResearchOutputRef"
}
},
"impacts": {
"type": "array",
"description": "A collection of related impacts.",
"nullable": true,
"items": {
"$ref": "#/$defs/ImpactRef"
}
},
"equipment": {
"type": "array",
"description": "A collection of equipment.",
"nullable": true,
"items": {
"$ref": "#/$defs/EquipmentRef"
}
},
"degreeOfRecognition": {
"$ref": "#/$defs/ClassificationRef"
},
"documents": {
"type": "array",
"description": "Associated documents for the activity.",
"nullable": true,
"items": {
"$ref": "#/$defs/Document"
}
},
"descriptions": {
"type": "array",
"description": "A collection of descriptions.",
"nullable": true,
"items": {
"$ref": "#/$defs/ClassifiedFormattedLocalizedValue"
}
},
"images": {
"type": "array",
"description": "Image files with a maximum file size of 1MB.",
"nullable": true,
"items": {
"$ref": "#/$defs/ImageFile"
}
},
"customDefinedFields": {
"$ref": "#/$defs/CustomDefinedFields"
},
"indicators": {
"type": "array",
"description": "Indicators for the activity.",
"nullable": true,
"items": {
"$ref": "#/$defs/ClassificationRef"
}
},
"systemName": {
"type": "string",
"description": "The content system name",
"readOnly": true
},
"typeDiscriminator": {
"type": "string"
}
},
"discriminator": {
"propertyName": "typeDiscriminator",
"mapping": {
"Attendance": "#/components/schemas/Attendance",
"Consultancy": "#/components/schemas/Consultancy",
"EditorialWork": "#/components/schemas/EditorialWork",
"Examination": "#/components/schemas/Examination",
"HostVisitor": "#/components/schemas/HostVisitor",
"Membership": "#/components/schemas/Membership",
"OtherActivity": "#/components/schemas/OtherActivity",
"Talk": "#/components/schemas/Talk",
"VisitOther": "#/components/schemas/VisitOther"
}
},
"$defs": {
"AbstractActivityPersonAssociation": {
"required": [
"role",
"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
},
"externalOrganizations": {
"type": "array",
"description": "A collection of external organization affiliations.",
"nullable": true,
"items": {
"$ref": "#/$defs/ExternalOrganizationRef"
}
},
"name": {
"$ref": "#/$defs/Name"
},
"role": {
"$ref": "#/$defs/ClassificationRef"
},
"typeDiscriminator": {
"type": "string"
}
},
"description": "An association between an activity and a person, which can either be internal or external",
"discriminator": {
"propertyName": "typeDiscriminator",
"mapping": {
"InternalActivityPersonAssociation": "#/components/schemas/InternalActivityPersonAssociation",
"ExternalActivityPersonAssociation": "#/components/schemas/ExternalActivityPersonAssociation"
}
}
},
"AbstractEditorialWorkAssociation": {
"required": [
"typeDiscriminator"
],
"type": "object",
"properties": {
"typeDiscriminator": {
"type": "string"
}
},
"description": "Association to one and only one of: event, publisher or journal.",
"discriminator": {
"propertyName": "typeDiscriminator",
"mapping": {
"EventEditorialWorkAssociation": "#/components/schemas/EventMembershipAssociation",
"PublisherEditorialWorkAssociation": "#/components/schemas/PublisherEditorialWorkAssociation",
"JournalEditorialWorkAssociation": "#/components/schemas/JournalEditorialWorkAssociation"
}
}
},
"AbstractExamineeAssociation": {
"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
},
"typeDiscriminator": {
"type": "string"
}
},
"description": "An association between examination and an examinee, which can either be internal or external",
"nullable": true,
"discriminator": {
"propertyName": "typeDiscriminator",
"mapping": {
"InternalExamineeAssociation": "#/components/schemas/InternalExamineeAssociation",
"ExternalExamineeAssociation": "#/components/schemas/ExternalExamineeAssociation"
}
}
},
"AccessDefinitionRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an access definition",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ActivityAbstractAssociation": {
"required": [
"typeDiscriminator"
],
"type": "object",
"properties": {
"typeDiscriminator": {
"type": "string"
}
},
"description": "Association to one and only one of: event, organization or external organization.",
"discriminator": {
"propertyName": "typeDiscriminator",
"mapping": {
"ActivityEventAssociation": "#/components/schemas/ActivityEventAssociation",
"ActivityOrganizationAssociation": "#/components/schemas/ActivityOrganizationAssociation",
"ActivityExternalOrganizationAssociation": "#/components/schemas/ActivityExternalOrganizationAssociation"
}
}
},
"ActivityEventAssociation": {
"required": [
"event"
],
"type": "object",
"description": "An association with an event.",
"allOf": [
{
"$ref": "#/$defs/ActivityAbstractAssociation"
},
{
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/EventRef"
}
}
}
]
},
"ActivityExternalOrganizationAssociation": {
"required": [
"externalOrganization"
],
"type": "object",
"description": "An association with an external organization.",
"allOf": [
{
"$ref": "#/$defs/ActivityAbstractAssociation"
},
{
"type": "object",
"properties": {
"externalOrganization": {
"$ref": "#/$defs/ExternalOrganizationRef"
}
}
}
]
},
"ActivityOrganizationAssociation": {
"required": [
"organization"
],
"type": "object",
"description": "An association with an organization.",
"allOf": [
{
"$ref": "#/$defs/ActivityAbstractAssociation"
},
{
"type": "object",
"properties": {
"organization": {
"$ref": "#/$defs/OrganizationRef"
}
}
}
]
},
"ActivityRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an activity",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ActivityVisitorAssociation": {
"required": [
"externalPerson"
],
"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
},
"externalOrganizations": {
"type": "array",
"description": "A collection of external organizations.",
"nullable": true,
"items": {
"$ref": "#/$defs/ExternalOrganizationRef"
}
},
"externalPerson": {
"$ref": "#/$defs/ExternalPersonRef"
},
"visitorDegree": {
"type": "string",
"description": "Visitor degree.",
"nullable": true
},
"country": {
"$ref": "#/$defs/ClassificationRef"
}
},
"description": "An association between activity and a person that has attended it"
},
"Anzsrc2008FieldOfResearchRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a Anzsrc2008FieldOfResearch",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"Anzsrc2020FieldOfResearchRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a Anzsrc2020FieldOfResearch",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"Anzsrc2020SocioEconomicObjectiveRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a Anzsrc2020SocioEconomicObjective",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"Anzsrc2020TypeOfActivityRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a Anzsrc2020TypeOfActivity",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ApplicationClusterRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an application cluster",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ApplicationRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an application",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"Attendance": {
"required": [
"managingOrganization",
"period",
"persons",
"type",
"visibility"
],
"type": "object",
"description": "Participating in or organizing an event",
"allOf": [
{
"$ref": "#/$defs/Activity"
},
{
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/EventRef"
}
}
}
]
},
"AuthorCollaborationRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an author collaboration",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"AwardClusterRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an award cluster",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"AwardRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to an award",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ClassificationRef": {
"required": [
"uri"
],
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "Classification URI of the referred classification"
},
"term": {
"$ref": "#/$defs/SystemLocalizedString"
}
},
"description": "A reference to a classification value",
"nullable": true
},
"ClassificationSchemeRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a classification scheme",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ClassificationsKeywordGroup": {
"required": [
"logicalName"
],
"type": "object",
"description": "De-normalized version of the full keyword group representation for instances where only structured keywords can be selected",
"allOf": [
{
"$ref": "#/$defs/KeywordGroup"
},
{
"type": "object",
"properties": {
"classifications": {
"type": "array",
"description": "A list classifications extracted from the keyword group structured keyword concept",
"nullable": true,
"items": {
"$ref": "#/$defs/ClassificationRef"
}
}
}
}
]
},
"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"
},
"ClassifiedId": {
"required": [
"id",
"type"
],
"type": "object",
"description": "A classified ID",
"allOf": [
{
"$ref": "#/$defs/Identifier"
},
{
"type": "object",
"properties": {
"pureId": {
"type": "integer",
"description": "Pure database ID of the object",
"format": "int64",
"readOnly": true
},
"id": {
"type": "string",
"description": "Classified ID"
},
"type": {
"$ref": "#/$defs/ClassificationRef"
}
}
}
]
},
"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
},
"CompoundDateRange": {
"type": "object",
"properties": {
"startDate": {
"$ref": "#/$defs/CompoundDate"
},
"endDate": {
"$ref": "#/$defs/CompoundDate"
}
},
"description": "A date range of that can be defined by only year, year and month or a full date"
},
"ConceptRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a concept",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"ConferenceSeriesRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a conference series",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"Consultancy": {
"required": [
"consultancyFor",
"managingOrganization",
"period",
"persons",
"title",
"type",
"visibility"
],
"type": "object",
"description": "Consultancy",
"allOf": [
{
"$ref": "#/$defs/Activity"
},
{
"type": "object",
"properties": {
"title": {
"$ref": "#/$defs/FormattedLocalizedString"
},
"consultancyFor": {
"$ref": "#/$defs/ActivityAbstractAssociation"
}
}
}
]
},
"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"
}
}
},
"CourseRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a course",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"CurriculumVitaeRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a curriculum vitae",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"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"
}
}
},
"CustomDefinedFieldBoolean": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"type": "boolean",
"description": "The boolean value for the custom field",
"nullable": true
}
}
}
]
},
"CustomDefinedFieldClassification": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/ClassificationRef"
}
}
}
]
},
"CustomDefinedFieldConfigurationRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a custom-defined field configuration",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/ContentRef"
}
]
},
"CustomDefinedFieldDate": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The date value for the custom field",
"format": "date",
"nullable": true
}
}
}
]
},
"CustomDefinedFieldDecimal": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"type": "number",
"description": "The decimal value for the custom field",
"nullable": true
}
}
}
]
},
"CustomDefinedFieldInteger": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "The integer value for the custom field",
"format": "int32",
"nullable": true
}
}
}
]
},
"CustomDefinedFieldString": {
"type": "object",
"nullable": true,
"allOf": [
{
"$ref": "#/$defs/CustomDefinedField"
},
{
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The string value for the custom field",
"nullable": true
}
}
}
]
},
"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}"
},
"DataSetRef": {
"required": [
"uuid"
],
"type": "object",
"description": "A reference to a data set",
"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"
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-bath/refs/heads/main/json-schema/university-of-bath-activity-schema.json