University of Bath organization API
The organization API from University of Bath — 33 operation(s) for organization.
The organization API from University of Bath — 33 operation(s) for organization.
openapi: 3.0.1
info:
title: Pure activity organization 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.33.3-3
servers:
- url: /ws/api
security:
- api-key: []
tags:
- name: organization
paths:
/organizations:
get:
tags:
- organization
summary: Lists all organizations
description: Lists all organizations in the Pure instance. If you need to filter the organizations returned, see the POST version which supports additional filtering.
operationId: organization_list
parameters:
- name: size
in: query
description: Number of returned organizations 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 /organizations/orderings
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationListResult'
put:
tags:
- organization
summary: Create organization
description: Create organization
operationId: organization_create
requestBody:
description: The content to create
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/organizations/allowed-address-countries:
get:
tags:
- organization
summary: A list of allowed address countries
description: Get a list of allowed countries that can be used for the 'addresses.country' attribute of organizations
operationId: organization_getAllowedAddressCountries
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-address-subdivision:
get:
tags:
- organization
summary: A list of allowed address subdivisions
description: Get a list of allowed subdivisions that can be used for the 'addresses.subdivisions' attribute of organizations
operationId: organization_getAllowedAddressSubdivisions
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-address-types:
get:
tags:
- organization
summary: A list of allowed address types
description: Get a list of allowed address types that can be used for the 'addresses.type' attribute of organizations
operationId: organization_getAllowedAddressTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-classified-file-types:
get:
tags:
- organization
summary: A list of allowed classified identifier types
description: Get a list of allowed classified photo types that can be used for the 'photos.type' attribute of organizations
operationId: organization_getAllowedClassifiedImageTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-classified-identifier-types:
get:
tags:
- organization
summary: A list of allowed classified identifier types
description: Get a list of allowed classified identifier types that can be used for the 'identifiers.type' attribute of organizations
operationId: organization_getAllowedClassifiedIdentifierTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-cost-centers:
get:
tags:
- organization
summary: A list of allowed cost centers
description: Get a list of allowed cost centers that can be used for the 'costCenters' attribute of organizations
operationId: organization_getAllowedCostCenters
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-custom-defined-field-values/{propertyName}/classifications:
get:
tags:
- organization
summary: Get allowed classifications for the custom-defined field associated with the organization
description: Get allowed classifications for the custom-defined field associated with the organization.
operationId: organization_getAllowedCustomDefinedFieldClassifications
parameters:
- name: propertyName
in: path
description: PropertyName for the desired custom-defined field
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
'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'
/organizations/allowed-email-types:
get:
tags:
- organization
summary: A list of allowed e-mail types
description: Get a list of allowed e-mail types that can be used for the 'emails.type' attribute of organizations
operationId: organization_getAllowedEmailTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-keyword-group-configurations:
get:
tags:
- organization
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: organization_getAllowedKeywordGroupConfigurations
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AllowedKeywordGroupConfigurationList'
/organizations/allowed-keyword-group-configurations/{id}/classifications:
get:
tags:
- organization
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: organization_getAllowedKeywordGroupConfigurationClassifications
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'
/organizations/allowed-link-types:
get:
tags:
- organization
summary: A list of allowed link types
description: Get a list of allowed link types on organizations
operationId: organization_getAllowedLinkTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-locales:
get:
tags:
- organization
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: organization_getAllowedLocales
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/LocalesList'
/organizations/allowed-main-research-areas:
get:
tags:
- organization
summary: A list of allowed main research areas
description: Get a list of allowed main research areas on organizations
operationId: organization_getAllowedMainResearchAreas
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-name-variant-types:
get:
tags:
- organization
summary: A list of allowed name variant types
description: Get a list of allowed name variant types that can be used for the 'nameVariants.type' attribute of organizations
operationId: organization_getAllowedNameVariantTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-phone-number-types:
get:
tags:
- organization
summary: A list of allowed phone number types
description: Get a list of allowed phone number types that can be used for the 'phoneNumbers.type' attribute of organizations
operationId: organization_getAllowedPhoneNumberTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-photo-types:
get:
tags:
- organization
summary: A list of allowed photo types
description: Get a list of allowed photo types that can be used for the 'photos.type' attribute of organizations
operationId: organization_getAllowedPhotoTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-profile-information-types:
get:
tags:
- organization
summary: A list of allowed profile information types
description: Get a list of allowed profile information types that can be used for the 'profileInformations.type' attribute of organizations
operationId: organization_getAllowedProfileInformationTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-types:
get:
tags:
- organization
summary: A list of allowed organization types
description: Get a list of allowed types that can be used for the 'type' attribute of organizations
operationId: organization_getAllowedTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/allowed-web-address-types:
get:
tags:
- organization
summary: A list of allowed web address types
description: Get a list of allowed web address types that can be used for the 'webAddresses.type' attribute of organizations
operationId: organization_getAllowedWebAddressTypes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ClassificationRefList'
/organizations/disciplines/allowed-discipline-schemes:
get:
tags:
- organization
summary: A list of allowed discipline schemes
description: Get a list fo a allowed discipline schemes for organizations
operationId: organization_getAllowedDisciplineSchemes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesDisciplineSchemeListResult'
/organizations/disciplines/{discipline-scheme}/allowed-disciplines:
get:
tags:
- organization
summary: A list of allowed disciplines for a specific discipline scheme
description: Get a list of a allowed disciplines for specific discipline scheme for organizations
operationId: organization_getAllowedDisciplines
parameters:
- name: discipline-scheme
in: path
description: Identifier for the discipline scheme for organizations
required: true
schema:
type: string
- name: size
in: query
description: Number of returned disciplines 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/DisciplinesDisciplineListResult'
/organizations/disciplines/{discipline-scheme}/search:
post:
tags:
- organization
summary: Query operation for disciplines associated with organizations
description: Lists disciplines from the discipline scheme associated with organizations in the Pure instance that matches the provided query.
operationId: organization_listDisciplineAssociations
parameters:
- name: discipline-scheme
in: path
description: Identifier for the discipline scheme
required: true
schema:
type: string
requestBody:
description: The query to perform
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesAssociationsQuery'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesAssociationListResult'
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/organizations/file-uploads:
put:
tags:
- organization
summary: Upload file to a specific organization
description: Uploads file for the organization
operationId: organization_fileUploads
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'
/organizations/orderings:
get:
tags:
- organization
summary: Lists available orderings
description: Lists all orderings available to the organization endpoint. These values can be used by the order parameter.
operationId: organization_getOrderings
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/OrderingsList'
/organizations/search:
post:
tags:
- organization
summary: Query operation for organizations
description: Lists organizations 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: organization_query
requestBody:
description: The query to perform
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationsQuery'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationListResult'
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/organizations/{uuid}:
get:
tags:
- organization
summary: Get organization
description: Get organization with specific UUID.
operationId: organization_get
parameters:
- name: uuid
in: path
description: UUID of the desired organization
required: true
schema:
pattern: .+
type: string
format: uuid
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'301':
description: The requested content have changed UUID
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
put:
tags:
- organization
summary: Update organization
description: Update organization with specific UUID.
operationId: organization_update
parameters:
- name: uuid
in: path
description: UUID of the organization to update
required: true
schema:
pattern: .+
type: string
format: uuid
requestBody:
description: The content to update
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'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:
- organization
summary: Delete organization
description: Delete organization with specific UUID.
operationId: organization_delete
parameters:
- name: uuid
in: path
description: UUID of the organization
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'
/organizations/{uuid}/actions/lock:
post:
tags:
- organization
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: organization_lock
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'
/organizations/{uuid}/actions/unlock:
post:
tags:
- organization
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: organization_unlock
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'
/organizations/{uuid}/dependents:
get:
tags:
- organization
summary: Lists all dependents to the organization
description: 'Lists all dependents to the organization with the specified UUID. If the user does not have access to view all the dependent content, an authorization error will be thrown. '
operationId: organization_dependents
parameters:
- name: uuid
in: path
description: UUID of the organization
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'
/organizations/{uuid}/disciplines/{discipline-scheme}:
get:
tags:
- organization
summary: Get disciplines from the discipline scheme associated with the organization
description: Get disciplines from the discipline scheme associated with the organization with specific UUID.
operationId: organization_getDisciplineAssociation
parameters:
- name: uuid
in: path
description: UUID of the desired organization
required: true
schema:
pattern: .+
type: string
format: uuid
- name: discipline-scheme
in: path
description: Identifier for the discipline scheme
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesAssociation'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
put:
tags:
- organization
summary: Update disciplines from the discipline scheme associated with the organization
description: Update disciplines from the discipline scheme associated with the organization with specific UUID.
operationId: organization_putDisciplineAssociation
parameters:
- name: uuid
in: path
description: UUID of the organization to update
required: true
schema:
pattern: .+
type: string
format: uuid
- name: discipline-scheme
in: path
description: Identifier for the discipline scheme
required: true
schema:
type: string
requestBody:
description: The disciplines association to create
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesAssociation'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplinesAssociation'
'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'
/organizations/{uuid}/files/{fileId}:
get:
tags:
- organization
summary: Get file from the organization
description: Get file from the organization
operationId: organization_getFile
parameters:
- name: uuid
in: path
description: UUID of the organization
required: true
schema:
pattern: .+
type: string
format: uuid
- name: fileId
in: path
description: Id of the file
required: true
schema:
pattern: .+
type: string
responses:
'200':
description: Successful operation
content:
'*/*':
schema:
type: string
format: binary
/organizations/{uuid}/notes:
get:
tags:
- organization
summary: Lists notes
description: Lists notes associated with an organization ordered by date (nulls last)
operationId: organization_listNotes
parameters:
- name: uuid
in: path
description: UUID of the organization 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: Organization not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
put:
tags:
- organization
summary: Create note
description: Create note and associate it with an organization
operationId: organization_createNote
parameters:
- name: uuid
in: path
description: UUID of the organization 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:
DisciplinesAssociation:
required:
- disciplineAssignments
type: object
properties:
content:
$ref: '#/components/schemas/ContentRef'
disciplineScheme:
type: string
description: The discipline scheme these disciplines are assigned from
readOnly: true
disciplineAssignments:
type: array
description: A collection of assigned disciplines
items:
$ref: '#/components/schemas/DisciplinesDisciplineAssignment'
description: An association between a content and a number of discipline assignments
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
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/Equ
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-bath/refs/heads/main/openapi/university-of-bath-organization-api-openapi.yml