openapi: 3.0.1
info:
title: Coscine Web API
description: Coscine (short for COllaborative SCientific INtegration Environment) is the research
data management platform for your research project.
termsOfService: https://about.coscine.de/en/termsofuse/
contact:
name: Coscine Team
email: servicedesk@rwth-aachen.de
version: '2.0'
servers:
- url: https://coscine.rwth-aachen.de/coscine
paths:
/api/v2/admin/activity-logs:
get:
tags:
- Admin
summary: Retrieves all activity logs.
description:
Required JWT roles for access: administrator.
operationId: GetAllActivityLogs
parameters:
- name: ActivityTimestampBefore
in: query
description: The activity timestamp date before which activity logs should be retrieved.
schema:
type: string
format: date-time
- name: ActivityTimestampAfter
in: query
description: The activity timestamp date after which activity logs should be retrieved.
schema:
type: string
format: date-time
- name: Guid
in: query
description: The GUID for which activity logs should be retrieved. Can be a project, resource or other ID.
schema:
type: string
format: uuid
- name: UserId
in: query
description: The user ID for which activity logs should be retrieved.
schema:
type: string
format: uuid
- name: RegularExpression
in: query
description: The regular expression to filter activity logs' API path by. The regex must be a valid, already escaped
string.
schema:
type: string
- name: HttpMethod
in: query
description: The http method to filter activity logs by.
schema:
$ref: '#/components/schemas/CoscineHttpMethod'
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the activity logs.
content:
application/json:
schema:
$ref: '#/components/schemas/ActivityLogDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ActivityLogDtoPagedResponse'
/api/v2/admin/projects:
get:
tags:
- Admin
summary: Retrieves all projects.
description: Required JWT roles for access: administrator.
operationId: GetAllProjects
parameters:
- name: TopLevel
in: query
description: Gets or sets a value indicating whether to filter top-level projects.
schema:
type: boolean
- name: IncludeDeleted
in: query
description: Gets or sets a value indicating whether to include deleted projects in the results.
schema:
type: boolean
- name: IncludeQuotas
in: query
description: Gets or sets a value indicating whether to include quotas in the results.
schema:
type: boolean
- name: IncludePublicationRequests
in: query
description: Gets or sets a value indicating whether to include project publication requests in the results.
schema:
type: boolean
- name: PageSize
in: query
description: Number of items per page. The maximum number of items per page is `250`.
schema:
type: integer
format: int32
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the projects.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectAdminDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectAdminDtoPagedResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
/api/v2/admin/resources:
get:
tags:
- Admin
summary: Retrieves all resources.
description: Required JWT roles for access: administrator.
operationId: GetAllResources
parameters:
- name: IncludeDeleted
in: query
description: Value indicating whether to include deleted resources.
schema:
type: boolean
- name: IncludeQuotas
in: query
description: Value indicating whether to include individual resource quotas.
schema:
type: boolean
- name: PageSize
in: query
description: Number of items per page. The maximum number of items per page is `250`.
schema:
type: integer
format: int32
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceAdminDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceAdminDtoPagedResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
/api/v2/admin/users:
get:
tags:
- Admin
summary: Retrieves all users.
description: Required JWT roles for access: administrator.
operationId: GetAllUsers
parameters:
- name: TosAccepted
in: query
description: Gets or sets a value indicating whether the terms of service have been accepted by the user.
schema:
type: boolean
- name: PageSize
in: query
description: Number of items per page. The maximum number of items per page is `250`.
schema:
type: integer
format: int32
- name: DataProcessingConsentGranted
in: query
description: Gets or sets a value indicating whether the personal data processing consent have been granted by the
user.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the users.
content:
application/json:
schema:
$ref: '#/components/schemas/UserDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/UserDtoPagedResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
/api/v2/admin/metadata/{graph}:
get:
tags:
- Admin
summary: Gets a metadata graph.
description: Required JWT roles for access: administrator.
operationId: GetMetadataGraph
parameters:
- name: graph
in: path
description: The absolute URI of the graph to get.
required: true
schema:
type: string
- name: Format
in: query
description: Gets or sets the RDF format.
schema:
$ref: '#/components/schemas/RdfFormat'
responses:
'200':
description: Returns the metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/RdfDefinitionDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/RdfDefinitionDtoResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
put:
tags:
- Admin
summary: Updates a metadata graph.
description: Required JWT roles for access: administrator.
operationId: UpdateMetadataGraph
parameters:
- name: graph
in: path
description: The absolute URI of the graph to update.
required: true
schema:
type: string
requestBody:
description: The metadata update admin parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataUpdateAdminParameters'
text/json:
schema:
$ref: '#/components/schemas/MetadataUpdateAdminParameters'
application/*+json:
schema:
$ref: '#/components/schemas/MetadataUpdateAdminParameters'
responses:
'204':
description: Metadata graph updated
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
patch:
tags:
- Admin
summary: Patches a metadata graph.
description: Required JWT roles for access: administrator.
operationId: PatchMetadata
parameters:
- name: graph
in: path
description: The absolute URI of the graph to patch.
required: true
schema:
type: string
requestBody:
description: The well-formed RDF patch document containing the changes as operations to be applied to the graph.
content:
application/json:
schema:
$ref: '#/components/schemas/RdfPatchDocumentDto'
text/json:
schema:
$ref: '#/components/schemas/RdfPatchDocumentDto'
application/*+json:
schema:
$ref: '#/components/schemas/RdfPatchDocumentDto'
responses:
'204':
description: Metadata graph patched
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
/api/v2/admin/graphs:
get:
tags:
- Admin
summary: Gets all deployed graphs.
description: Required JWT roles for access: administrator.
operationId: GetDeployedGraphs
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/DeployedGraphDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/DeployedGraphDtoPagedResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
/api/v2/admin/resource/{resourceId}/type/{typeId}:
post:
tags:
- Admin
summary: Creates a new datasource for a specified resource and type.
description: Required JWT roles for access: administrator.
operationId: CreateDatasource
parameters:
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: typeId
in: path
description: The unique identifier of the datasource type.
required: true
schema:
type: string
format: uuid
- name: quota
in: query
description: The allocated quota for the datasource.
schema:
type: integer
format: int64
- name: dsNrwReplicationGroup
in: query
description: The optional replication grouo for the datasource.
schema:
$ref: '#/components/schemas/DsNrwReplicationGroup'
responses:
'200':
description: Datasource successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatasourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/CreateDatasourceDtoResponse'
'403':
description: User lacks authorization. Only accessible to Coscine Admin users.
put:
tags:
- Admin
summary: Updates the type and option ID of a specified resource.
description: Required JWT roles for access: administrator.
operationId: UpdateResourceType
parameters:
- name: resourceId
in: path
description: The unique identifier of the resource to be updated.
required: true
schema:
type: string
format: uuid
- name: typeId
in: path
description: The unique identifier of the new resource type.
required: true
schema:
type: string
format: uuid
- name: optionId
in: query
description: The unique identifier of the new resource type option.
schema:
type: string
format: uuid
responses:
'204':
description: Resource successfully updated.
'403':
description: User lacks authorization. Only accessible to Coscine Admin users.
/api/v2/admin/users/{userId}:
delete:
tags:
- Admin
summary: Deletes the given user.
description: Required JWT roles for access: administrator.
parameters:
- name: userId
in: path
description: The id of the user.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: No Content
/api/v2/admin:
options:
tags:
- Admin
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/application-profiles/profiles:
get:
tags:
- ApplicationProfile
summary: Retrieves all application profiles.
operationId: GetApplicationProfiles
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter application profiles.
schema:
type: string
- name: Language
in: query
description: Gets or sets the language for which the application profiles are requested.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: Modules
in: query
description: Gets or sets a value indicating whether to include modules in the application profiles.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the application profiles.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoPagedResponse'
/api/v2/application-profiles/profiles/{profile}:
get:
tags:
- ApplicationProfile
summary: Retrieves an application profile by its URI.
operationId: GetApplicationProfile
parameters:
- name: profile
in: path
description: The URI of the application profile to retrieve.
required: true
schema:
type: string
- name: format
in: query
description: The desired data format for the returned application profile.
schema:
$ref: '#/components/schemas/RdfFormat'
- name: Accept-Language
in: header
description: The preferred language for the application profile data.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the application profile.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoResponse'
'404':
description: Application profile does not exist.
/api/v2/application-profiles/profiles/{profile}/raw:
get:
tags:
- ApplicationProfile
summary: Retrieves the `raw` application profile definition by its URI.
operationId: GetRawApplicationProfile
parameters:
- name: profile
in: path
description: The URI of the application profile.
required: true
schema:
type: string
responses:
'200':
description: Returns the raw application profile.
content:
text/turtle:
schema:
type: string
application/ld+json:
schema:
type: string
'404':
description: Application profile does not exist.
/api/v2/application-profiles/requests:
post:
tags:
- ApplicationProfile
summary: Submits a request to create a new application profile.
operationId: CreateApplicationProfileRequest
requestBody:
description: The details required to create a new application profile.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
responses:
'201':
description: Application profile request created.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/application-profiles:
options:
tags:
- ApplicationProfile
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}:
post:
tags:
- Blob
summary: Creates a new blob for a resource.
operationId: CreateBlob
parameters:
- name: projectId
in: path
description: The identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: key
in: path
description: The key for the new blob.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required: true
responses:
'201':
description: Blob created.
'400':
description: Blob already exists.
'415':
description: Blob is not of the type "multipart/form-data"
'413':
description: Blob is to large.
deprecated: true
get:
tags:
- Blob
summary: Download a blob from a resource.
operationId: GetBlob
parameters:
- name: projectId
in: path
description: The identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: key
in: path
description: The key associated with the blob.
required: true
schema:
type: string
responses:
'200':
description: Returns the blob.
content:
application/octet-stream:
schema:
type: string
format: binary
'404':
description: Blob does not exist.
deprecated: true
put:
tags:
- Blob
summary: Updates an existing blob of a resource.
operationId: UpdateBlob
parameters:
- name: projectId
in: path
description: The identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: key
in: path
description: The key associated with the blob to update.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required: true
responses:
'201':
description: Blob updated.
'400':
description: Blob already exists.
'415':
description: Blob is not of the type "multipart/form-data"
'413':
description: Blob is to large.
deprecated: true
delete:
tags:
- Blob
summary: Deletes a blob from a resource.
operationId: DeleteBlob
parameters:
- name: projectId
in: path
description: The identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: key
in: path
description: The key associated with the blob to delete.
required: true
schema:
type: string
responses:
'204':
description: Blob deleted.
'404':
description: Blob does not exist.
deprecated: true
/api/v2/projects/{projectId}/resources/{resourceId}/blobs:
options:
tags:
- Blob
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/reports/data-hamster/3685:
get:
tags:
- DataHamsterReport
summary: Get the number of archived resources KPI report.
description: Required JWT roles for access: administrator.
operationId: GetNumberOfArchivedResourcesKpi
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/DataHamsterKpiDtoResponse'
/api/v2/reports/data-hamster/3681:
get:
tags:
- DataHamsterReport
summary: Get the number of created projects KPI report.
description: Required JWT roles for access: administrator.
operationId: GetNumberOfCreatedProjectsKpi
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/DataHamsterKpiDtoResponse'
/api/v2/reports/data-hamster/3683:
get:
tags:
- DataHamsterReport
summary: Get the number of created resources KPI report.
description: Required JWT roles for access: administrator.
operationId: GetNumberOfCreatedResourcesKpi
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/DataHamsterKpiDtoResponse'
/api/v2/reports/data-hamster/3691:
get:
tags:
- DataHamsterReport
summary: Get the number of users per day KPI report.
description: Required JWT roles for access: administrator.
operationId: GetNumberOfUsersPerDayKpi
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/DataHamsterKpiDtoResponse'
/api/v2/reports/data-hamster/type/{typeId}:
get:
tags:
- DataHamsterReport
summary: Get the storage usage per resource type report.
description: Required JWT roles for access: administrator.
operationId: GetStorageByResourceTypeKpi
parameters:
- name: typeId
in: path
description: The id of the resource type.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/StorageDataHamsterKpiDtoResponse'
/api/v2/reports/data-hamster/3689:
get:
tags:
- DataHamsterReport
summary: Get the number of users per ror report.
description: Required JWT roles for access: administrator.
operationId: GetUsersPerRorKpi
responses:
'200':
description: Returns the data hamster report.
content:
application/json:
schema:
$ref: '#/components/schemas/DataHamsterKpiDtoIEnumerableResponse'
/api/v2/reports/data-hamster:
options:
tags:
- DataHamsterReport
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/disciplines/{disciplineId}:
get:
tags:
- Discipline
summary: Retrieves a discipline with the specified ID.
operationId: GetDiscipline
parameters:
- name: disciplineId
in: path
description: The ID of the discipline.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the discipline.
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplineDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/DisciplineDtoResponse'
'404':
description: Discipline does not exist.
/api/v2/disciplines:
get:
tags:
- Discipline
summary: Retrieves all disciplines.
operationId: GetDisciplines
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter disciplines.
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the disciplines.
content:
application/json:
schema:
$ref: '#/components/schemas/DisciplineDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/DisciplineDtoPagedResponse'
options:
tags:
- Discipline
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/graphs:
get:
tags:
- Graph
summary: "Retrieves a paginated subset of nodes that make up the metadata tree\r\nfor a specified resource within a\
\ given project."
operationId: GetStorageGraphTree
parameters:
- name: projectId
in: path
description: "The unique identifier of the project containing the resource.\r\nSupplied as a route parameter."
required: true
schema:
type: string
- name: resourceId
in: path
description: "The unique identifier of the resource whose metadata tree should be retrieved.\r\nSupplied as a route\
\ parameter."
required: true
schema:
type: string
format: uuid
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\n\r\n\r\nThe properties `HasChildren`,\
\ `HasMetadata`, `HasData` and `Subject` are supported for ordering.\r\nUse \"asc\" or \"desc\" as the direction.\r\
\nThe Default is `HasChildren desc, subject asc`.\r\n"
schema:
type: string
- name: Prefix
in: query
description: "Gets or sets the prefix filter.\r\n\r\n\r\nThe prefix to filter the storage objects by.\r\nSlashes are\
\ taken into account when filtering by prefix.\r\nThe forwads slash (/) character is treated as the path separator.\r\
\nThe lookup is only done for one level.\r\nTo look into the next level, include the trailing slash to indicate\
\ the next level of the tree.\r\n"
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
responses:
'200':
description: Successfully retrieved a paged list of metadata tree nodes for the specified resource.
content:
application/json:
schema:
$ref: '#/components/schemas/StorageNodeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/StorageNodeDtoPagedResponse'
'403':
description: The user is missing the necessary authorization to access the resource.
'404':
description: The resource was not found.
'400':
description: Invalid request parameters were supplied.
options:
tags:
- Graph
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}:
head:
tags:
- Graph
summary: Performs a metadata check for a graph node or group at the specified path without returning a response body.
operationId: HeadStorageGraph
parameters:
- name: projectId
in: path
description: The unique identifier of the project. Supplied as a route parameter.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource. Supplied as a route parameter.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
responses:
'200':
description: The resource exists. Metadata is available in the headers.
'403':
description: User is missing authorization requirements.
'404':
description: The resource was not found.
'400':
description: Invalid request parameters were supplied.
'401':
description: The user is not authorized to access the resource.
get:
tags:
- Graph
summary: Retrieves metadata for a graph node or group at the specified path.
operationId: GetStorageGraph
parameters:
- name: projectId
in: path
description: The unique identifier of the project. Supplied as a route parameter.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource. Supplied as a route parameter.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
responses:
'200':
description: The resource exists. Metadata is available in the body and headers.
content:
application/json:
schema:
$ref: '#/components/schemas/StorageNodeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/StorageNodeDtoResponse'
'403':
description: User is missing authorization requirements.
'404':
description: The resource was not found.
'400':
description: Invalid request parameters were supplied.
'401':
description: The user is not authorized to access the resource.
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}/metadata/versions:
get:
tags:
- GraphMetadata
summary: "Retrieves a paginated list of all metadata versions available\r\nfor a specific graph node of a resource."
operationId: ListMetadataVersions
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path to the graph node.
required: true
schema:
type: string
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\n\r\n\r\nThe property `version`is supported\
\ for ordering.\r\nUse \"asc\" or \"desc\" as the direction.\r\nThe Default is `version desc`.\r\n"
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
responses:
'200':
description: Successfully retrieved metadata version list.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoPagedResponse'
'403':
description: User is missing authorization requirements.
'404':
description: No metadata versions were found for the specified path.
'400':
description: Invalid query parameters supplied.
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}/metadata:
get:
tags:
- GraphMetadata
summary: Retrieves a specific version of the metadata graph for a given path.
operationId: GetMetadataVersion
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: "The URL-encoded path to the graph node.\r\n Due to a limitation in the underlying structure,\
\ any trailing slashes in the path will be trimmed.\r\n Test.txt and Test.txt/ will be treated as the\
\ same path."
required: true
schema:
type: string
- name: graphVersion
in: query
description: "The version identifier of the graph to retrieve.\r\nIf omitted, the latest version is returned."
schema:
type: string
responses:
'200':
description: Successfully retrieved the specified metadata version.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoResponse'
'403':
description: User is missing authorization requirements.
'404':
description: The requested version was not found.
'400':
description: Invalid request parameters supplied.
'401':
description: The user is not authorized to access the resource.
head:
tags:
- GraphMetadata
summary: Checks the existence of a specific metadata version without returning content.
operationId: HeadMetadataVersion
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path to the graph node.
required: true
schema:
type: string
- name: graphVersion
in: query
description: Optional version identifier of the graph to check.
schema:
type: string
responses:
'204':
description: The specified metadata version exists.
'403':
description: User is missing authorization requirements.
'404':
description: The metadata version was not found.
'400':
description: Invalid request parameters supplied.
'401':
description: The user is not authorized to access the resource.
options:
tags:
- GraphMetadata
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: encodedPath
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}/metadata/content:
get:
tags:
- GraphMetadataContent
summary: "Retrieves the raw RDF content of a specific metadata graph version\r\nfor the given resource and path."
operationId: GetMetadataContent
parameters:
- name: projectId
in: path
description: The unique identifier of the project. Supplied as a route parameter.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource. Supplied as a route parameter.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path representing the location of the graph node.
required: true
schema:
type: string
- name: graphVersion
in: query
description: The version identifier of the metadata graph to retrieve.
schema:
type: string
responses:
'200':
description: Successfully retrieved the RDF content stream.
content:
text/turtle:
schema:
type: string
application/ld+json:
schema:
type: string
'404':
description: The specified metadata version or path was not found.
'400':
description: Invalid route or query parameters supplied.
'401':
description: The user is not authorized to access the resource.
put:
tags:
- GraphMetadataContent
summary: "Creates a new metadata graph version for a given resource and graph path.\r\nAccepts RDF content as the request\
\ body."
operationId: CreateMetadataVersion
parameters:
- name: projectId
in: path
description: The unique identifier of the project. Supplied as a route parameter.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource. Supplied as a route parameter.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path representing the location of the graph node.
required: true
schema:
type: string
requestBody:
content:
application/ld+json:
schema:
type: string
description: JSON-LD payload
text/turtle:
schema:
type: string
description: Turtle (TTL) RDF payload
required: true
responses:
'200':
description: OK
'201':
description: The metadata version was successfully created.
'400':
description: Invalid or malformed RDF content was supplied.
'401':
description: The user is not authorized to modify the resource.
'415':
description: The provided content type is unsupported.
options:
tags:
- GraphMetadataContent
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: encodedPath
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/handles/{prefix}/{suffix}:
get:
tags:
- Handle
summary: Retrieves all values of a handle by its PID.
operationId: GetHandle
parameters:
- name: prefix
in: path
description: The prefix of the PID
required: true
schema:
type: string
- name: suffix
in: path
description: The suffix of the PID
required: true
schema:
type: string
responses:
'200':
description: Returns the handles.
content:
application/json:
schema:
$ref: '#/components/schemas/HandleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/HandleDtoResponse'
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
put:
tags:
- Handle
summary: Updates a handle.
description: Required JWT roles for access: administrator.
operationId: UpdateHandle
parameters:
- name: prefix
in: path
description: The prefix of the PID
required: true
schema:
type: string
- name: suffix
in: path
description: The suffix of the PID
required: true
schema:
type: string
requestBody:
description: The handle for updating.
content:
application/json:
schema:
$ref: '#/components/schemas/HandleForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/HandleForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/HandleForUpdateDto'
responses:
'204':
description: Handle updated.
'403':
description: User is missing authorization requirements. This endpoint is only available to Coscine Admin users.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/handles:
options:
tags:
- Handle
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/languages/{languageId}:
get:
tags:
- Language
summary: Retrieves a language by ID.
operationId: GetLanguage
parameters:
- name: languageId
in: path
description: The ID of the language.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the language.
content:
application/json:
schema:
$ref: '#/components/schemas/LanguageDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/LanguageDtoResponse'
'404':
description: Language does not exist.
/api/v2/languages:
get:
tags:
- Language
summary: Retrieves all languages.
operationId: GetLanguages
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the languages.
content:
application/json:
schema:
$ref: '#/components/schemas/LanguageDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/LanguageDtoIEnumerableResponse'
options:
tags:
- Language
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/licenses/{licenseId}:
get:
tags:
- License
summary: Retrieves a license with the specified ID.
operationId: GetLicense
parameters:
- name: licenseId
in: path
description: The ID of the license.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the license.
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/LicenseDtoResponse'
'404':
description: License does not exist.
/api/v2/licenses:
get:
tags:
- License
summary: Retrieves all licenses.
operationId: GetLicenses
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the licenses.
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/LicenseDtoPagedResponse'
options:
tags:
- License
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/maintenances:
get:
tags:
- Maintenance
summary: Retrieves the current maintenance messages.
operationId: GetCurrentMaintenances
responses:
'200':
description: Returns the maintenances.
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MaintenanceDtoPagedResponse'
deprecated: true
options:
tags:
- Maintenance
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/notifications/{notificationId}:
get:
tags:
- Notification
summary: Retrieves a notification.
operationId: GetNotification
parameters:
- name: notificationId
in: path
description: The ID of the notification.
required: true
schema:
type: string
responses:
'200':
description: Returns the notification.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/NotificationDtoResponse'
'404':
description: Notification does not exist.
/api/v2/notifications:
get:
tags:
- Notification
summary: Retrieves all notifications.
operationId: GetNotifications
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the notifications.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/NotificationDtoPagedResponse'
options:
tags:
- Notification
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/organizations/{organizationRorUri}:
get:
tags:
- Organization
summary: Retrieves an organization.
operationId: GetOrganization
parameters:
- name: organizationRorUri
in: path
description: The parameters for organization filtering and pagination.
required: true
schema:
type: string
responses:
'200':
description: Returns the organizations.
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/OrganizationDtoResponse'
/api/v2/organizations:
get:
tags:
- Organization
summary: Retrieves all organizations.
operationId: GetOrganizations
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter organizations.
schema:
type: string
- name: Language
in: query
description: Language of name or text (dataPublicationService)
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: FilterByPublicationService
in: query
description: Gets or sets the option to find only organizations having the publication service set.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the organizations.
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/OrganizationDtoPagedResponse'
options:
tags:
- Organization
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/pids/{prefix}/{suffix}:
get:
tags:
- Pid
summary: Retrieves the Persistent Identifier (PID) for a given prefix and suffix.
operationId: GetPid
parameters:
- name: prefix
in: path
description: The PID prefix. Limited to the values provided by the API.
required: true
schema:
type: string
- name: suffix
in: path
description: The PID suffix of a project or a resource, represented as a GUID.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Successful response with the PID
content:
application/json:
schema:
$ref: '#/components/schemas/PidDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/PidDtoResponse'
'404':
description: The specified PID does not exist
'410':
description: The PID is no longer valid (e.g., resource deleted)
/api/v2/pids/{prefix}/{suffix}/requests:
post:
tags:
- Pid
summary: Sends an inquiry to the owner of the given PID.
operationId: SendRequestToOwner
parameters:
- name: prefix
in: path
description: The PID prefix of a project or a resource to validate
required: true
schema:
type: string
- name: suffix
in: path
description: The PID body of a project or a resource to validate
required: true
schema:
type: string
format: uuid
requestBody:
description: The data transfer object containing the inquiry details.
content:
application/json:
schema:
$ref: '#/components/schemas/PidRequestDto'
text/json:
schema:
$ref: '#/components/schemas/PidRequestDto'
application/*+json:
schema:
$ref: '#/components/schemas/PidRequestDto'
responses:
'204':
description: Email sent successfully
'400':
description: PID has a bad format
'404':
description: PID does not exist or is invalid
/api/v2/pids:
get:
tags:
- Pid
summary: Retrieves all PIDs.
description: Required JWT roles for access: administrator.
operationId: GetPids
parameters:
- name: IncludeProjects
in: query
description: Gets or sets a value indicating whether to include projects when retrieving pid information.
schema:
type: boolean
- name: IncludeResources
in: query
description: Gets or sets a value indicating whether to include resources when retrieving pid information.
schema:
type: boolean
- name: IncludeDeleted
in: query
description: Gets or sets a value indicating whether to include deleted pid information.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the PIDs.
content:
application/json:
schema:
$ref: '#/components/schemas/PidDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/PidDtoPagedResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- Pid
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects:
post:
tags:
- Project
summary: Creates a new project.
operationId: CreateProject
requestBody:
description: The project data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectForCreationDto'
responses:
'201':
description: Project created.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
get:
tags:
- Project
summary: Retrieves all projects.
operationId: GetProjects
parameters:
- name: IncludeOrganizations
in: query
description: Gets or sets a value indicating whether to retrieve the organizations.
schema:
type: boolean
- name: TopLevel
in: query
description: Gets or sets a value indicating whether to retrieve only top-level projects.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the projects.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectDtoPagedResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- Project
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects/{projectId}:
get:
tags:
- Project
summary: Retrieves a project.
operationId: GetProject
parameters:
- name: projectId
in: path
description: The ID of the project.
required: true
schema:
type: string
- name: IncludeSubProjects
in: query
description: Gets or sets a value indicating whether to include sub-projects in the retrieval.
schema:
type: boolean
responses:
'200':
description: Returns the project.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Project does not exist or has been deleted.
put:
tags:
- Project
summary: Updates a project.
operationId: UpdateProject
parameters:
- name: projectId
in: path
description: The ID of the project.
required: true
schema:
type: string
requestBody:
description: The updated project data.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectForUpdateDto'
responses:
'204':
description: Project updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
delete:
tags:
- Project
summary: Deletes a project.
operationId: DeleteProject
parameters:
- name: projectId
in: path
description: The ID of the project.
required: true
schema:
type: string
responses:
'204':
description: Project deleted.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/graphs/metadata/content:
get:
tags:
- ProjectGraphContent
summary: Retrieves a project graph.
operationId: GetProjectGraphContent
parameters:
- name: projectId
in: path
description: The ID or slug of the project.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/n-quads:
schema:
type: string
options:
tags:
- ProjectGraphContent
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/invitations/{projectInvitationId}:
get:
tags:
- ProjectInvitation
summary: Retrieves a project invitation for a specified project.
operationId: GetProjectInvitation
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: projectInvitationId
in: path
description: The ID of the project invitation to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the project invitation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoResponse'
'404':
description: Project invitation does not exist.
delete:
tags:
- ProjectInvitation
summary: Deletes a project invitation for a specified project.
operationId: DeleteProjectInvitation
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: projectInvitationId
in: path
description: The ID of the project invitation to delete.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Project invitation deleted.
'403':
description: User is missing authorization requirements.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/invitations:
get:
tags:
- ProjectInvitation
summary: Retrieves all project invitations for a specified project.
operationId: GetProjectInvitations
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the project invitations.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoPagedResponse'
post:
tags:
- ProjectInvitation
summary: Creates a project invitation for a specified project.
operationId: CreateProjectInvitation
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The project invitation data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationForProjectManipulationDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectInvitationForProjectManipulationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectInvitationForProjectManipulationDto'
responses:
'201':
description: Project invitation created.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectInvitationDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- ProjectInvitation
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/members/{membershipId}:
get:
tags:
- ProjectMember
summary: Retrieves a project membership for a specified project.
operationId: GetMembership
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: membershipId
in: path
description: The ID of the project membership to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the project membership.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
'404':
description: Project membership does not exist.
put:
tags:
- ProjectMember
summary: Updates a project membership for a specified project.
operationId: UpdateMembership
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: membershipId
in: path
description: The ID of the project membership to update.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated project membership data.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectManipulationDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectManipulationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectManipulationDto'
responses:
'204':
description: Project membership updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
delete:
tags:
- ProjectMember
summary: Deletes a project membership for a specified project.
operationId: DeleteMembership
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: membershipId
in: path
description: The ID of the project membership to delete.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Project membership deleted.
'403':
description: User is missing authorization requirements.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/members:
get:
tags:
- ProjectMember
summary: Retrieves all project memberships for a specified project.
operationId: GetMemberships
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the project memberships.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoPagedResponse'
post:
tags:
- ProjectMember
summary: Creates a project membership for a specified project.
operationId: AddMembership
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The project membership data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectRoleForProjectCreationDto'
responses:
'201':
description: Project membership created.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- ProjectMember
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/members/me:
get:
tags:
- ProjectMember
summary: Retrieves the project role of the authenticated user for a specified project.
operationId: GetMyMembership
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
responses:
'200':
description: Returns the project role of the authenticated user.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectRoleDtoResponse'
'404':
description: Authenticated user has no role in the given project.
/api/v2/projects/{projectId}/publications/requests:
post:
tags:
- ProjectPublicationRequest
summary: Creates a new publication request.
operationId: CreatePublicationRequest
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The publication request data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
responses:
'201':
description: Publication request created.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- ProjectPublicationRequest
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/publications/requests/{publicationRequestId}:
get:
tags:
- ProjectPublicationRequest
summary: Retrieves a publication request.
operationId: GetPublicationRequest
parameters:
- name: projectId
in: path
description: The ID of the project.
required: true
schema:
type: string
- name: publicationRequestId
in: path
description: The ID of the publication request.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the publication request.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Publication request does not exist or has been deleted.
/api/v2/projects/{projectId}/quotas/{resourceTypeId}:
get:
tags:
- ProjectQuota
summary: Retrieves a project quota for a specified project and resource type.
operationId: GetProjectQuota
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceTypeId
in: path
description: The ID of the resource type.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the project quota.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectQuotaDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectQuotaDtoResponse'
'404':
description: Project quota does not exist.
put:
tags:
- ProjectQuota
summary: Updates a project quota for a specified project and resource type.
operationId: UpdateProjectQuota
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceTypeId
in: path
description: The ID of the resource type.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated project quota data.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectQuotaForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectQuotaForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectQuotaForUpdateDto'
responses:
'204':
description: Project quota updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/quotas:
get:
tags:
- ProjectQuota
summary: Retrieves all project quotas for a specified project.
operationId: GetProjectQuotas
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the project quotas.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectQuotaDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectQuotaDtoPagedResponse'
options:
tags:
- ProjectQuota
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources:
post:
tags:
- ProjectResource
summary: Creates a new resource for a specified project.
operationId: CreateResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The resource data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
responses:
'201':
description: Resource created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
get:
tags:
- ProjectResource
summary: Retrieves all resources for a specified project.
operationId: GetResourcesForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoPagedResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- ProjectResource
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}:
get:
tags:
- ProjectResource
summary: Retrieves a resource for a specified project.
operationId: GetResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Resource does not exist or has been deleted.
put:
tags:
- ProjectResource
summary: Updates a resource for a specified project.
operationId: UpdateResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to update.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated resource data.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
responses:
'204':
description: Resource updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
delete:
tags:
- ProjectResource
summary: Deletes a resource for a specified project.
operationId: DeleteResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to delete.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Resource deleted.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/resources/{resourceId}/quota:
get:
tags:
- ProjectResourceQuota
summary: Retrieves the resource quota for a specific resource in a project.
operationId: GetQuotaForResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource.
required: true
schema:
type: string
format: uuid
- name: versionInfo
in: query
description: If versioning information should be loaded.
schema:
type: boolean
default: false
responses:
'200':
description: Returns the resource quota.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceQuotaDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceQuotaDtoResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- ProjectResourceQuota
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resource-types:
get:
tags:
- ProjectResourceType
summary: Retrieves the available resource types information for a specific project.
operationId: GetAvailableResourceTypesInformationForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
responses:
'200':
description: Returns the available resourceTypeInformation types information.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoIEnumerableResponse'
'403':
description: User is missing authorization requirements.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- ProjectResourceType
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/subprojects:
get:
tags:
- ProjectSubProjects
summary: Retrieves all subprojects for a specified project.
operationId: GetSubProjectsForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: IncludeOrganizations
in: query
description: Gets or sets a value indicating whether to retrieve the organizations.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the subprojects.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectDtoPagedResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- ProjectSubProjects
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/provenance/specific:
get:
tags:
- Provenance
summary: Retrieves the specific provenance information associated with a resource.
operationId: GetSpecificProvenance
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: Path
in: query
description: Gets or sets the path of the metadata tree.
required: true
schema:
type: string
- name: Version
in: query
description: "Gets or sets the desired version.\r\nIf the version is null, the newest will be returned."
schema:
type: integer
format: int32
responses:
'200':
description: Returns the specific metadata tree of a resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ProvenanceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProvenanceDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Project does not exist or has been deleted.
put:
tags:
- Provenance
summary: Updates existing specific provenance information of a resource.
description: Required JWT roles for access: administrator.
operationId: UpdateSpecificProvenance
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated provenance information.
content:
application/json:
schema:
$ref: '#/components/schemas/ProvenanceForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ProvenanceForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProvenanceForUpdateDto'
responses:
'204':
description: Provenance information updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/projects/{projectId}/resources/{resourceId}/provenance:
options:
tags:
- Provenance
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/publication-service:
get:
tags:
- PublicationAdvisoryService
summary: Retrieves all relevant publication services for an organization.
operationId: GetPublicationServices
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter organizations.
schema:
type: string
- name: Language
in: query
description: Gets or sets language of name or text (dataPublicationService).
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the publication services.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicationAdvisoryServiceDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/PublicationAdvisoryServiceDtoPagedResponse'
options:
tags:
- PublicationAdvisoryService
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/reports/project:
get:
tags:
- Report
summary: Download for the project report.
description: Required JWT roles for access: administrator.
operationId: GetProjectReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/project/quota:
get:
tags:
- Report
summary: Download for the project quota report.
description: Required JWT roles for access: administrator.
operationId: GetProjectQuotaReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/user:
get:
tags:
- Report
summary: Download for the user report.
description: Required JWT roles for access: administrator.
operationId: GetUserReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/application-profile:
get:
tags:
- Report
summary: Download for the applicationprofile report.
description: Required JWT roles for access: administrator.
operationId: GetApplicationProfileReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/resource:
get:
tags:
- Report
summary: Download for the resource report.
description: Required JWT roles for access: administrator.
operationId: GetResourceReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/resource/quota:
get:
tags:
- Report
summary: Download for the resource quota report.
description: Required JWT roles for access: administrator.
operationId: GetResourceQuotaReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports/maintenance:
get:
tags:
- Report
summary: Download for the maintenance report.
description: Required JWT roles for access: administrator.
operationId: GetMaintenanceReport
responses:
'200':
description: Returns the report.
content:
application/json: {}
/api/v2/reports:
options:
tags:
- Report
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/resources/{resourceId}:
get:
tags:
- Resource
summary: Retrieves a resource by its ID.
operationId: GetResource
parameters:
- name: resourceId
in: path
description: The ID of the resource to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
'403':
description: User is missing authorization requirements.
'404':
description: Resource does not exist or has been deleted.
/api/v2/resources:
options:
tags:
- Resource
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/metadata/content:
get:
tags:
- ResourceGraphContent
summary: Retrieves a resource graph.
operationId: GetResourceGraphContent
parameters:
- name: projectId
in: path
description: The ID of the project that the resource belongs to.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/n-quads:
schema:
type: string
options:
tags:
- ResourceGraphContent
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/resource-types/types:
get:
tags:
- ResourceType
summary: Retrieves the entire global resource types information.
operationId: GetAllResourceTypesInformation
responses:
'200':
description: Returns the entire global resource types information.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoIEnumerableResponse'
/api/v2/resource-types/types/{resourceTypeId}:
get:
tags:
- ResourceType
summary: Retrieves the resource type information for a specific resource type.
operationId: GetResourceTypeInformation
parameters:
- name: resourceTypeId
in: path
description: The ID of the resource type to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the resource type information.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceTypeInformationDtoResponse'
'404':
description: Resource type does not exist.
/api/v2/resource-types:
options:
tags:
- ResourceType
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/resource-types/gitlab/projects:
get:
tags:
- ResourceTypeGitLab
summary: Retrieves all GitLab projects, that the user is a member of, based on the provided credentials.
operationId: GetAllGitlabProjects
parameters:
- name: Domain
in: query
description: Domain/Host of the GitLab Provider.
required: true
schema:
type: string
format: uri
example: https://git.rwth-aachen.de/
example: https://git.rwth-aachen.de/
- name: AccessToken
in: query
description: GitLab Project or Group Access Token.
required: true
schema:
type: string
responses:
'200':
description: Returns the GitLab projects.
content:
application/json:
schema:
$ref: '#/components/schemas/GitlabProjectDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/GitlabProjectDtoIEnumerableResponse'
'403':
description: GitLab access token is invalid.
/api/v2/resource-types/gitlab/projects/{gitlabProjectId}:
get:
tags:
- ResourceTypeGitLab
summary: Retrieves a single GitLab project, that the user is a member of, based on the provided credentials.
operationId: GetGitlabProject
parameters:
- name: gitlabProjectId
in: path
description: The ID of the GitLab project.
required: true
schema:
type: integer
format: int32
- name: Domain
in: query
description: Domain/Host of the GitLab Provider.
required: true
schema:
type: string
format: uri
example: https://git.rwth-aachen.de/
example: https://git.rwth-aachen.de/
- name: AccessToken
in: query
description: GitLab Project or Group Access Token.
required: true
schema:
type: string
responses:
'200':
description: Returns the GitLab project.
content:
application/json:
schema:
$ref: '#/components/schemas/GitlabProjectDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/GitlabProjectDtoResponse'
'403':
description: GitLab access token is invalid.
/api/v2/resource-types/gitlab/projects/{gitlabProjectId}/branches:
get:
tags:
- ResourceTypeGitLab
summary: Retrieves all branches of a GitLab project, that the user is a member of, based on the provided credentials.
operationId: GetAllGitlabBranchesForProject
parameters:
- name: gitlabProjectId
in: path
description: The ID of the GitLab project.
required: true
schema:
type: integer
format: int32
- name: Domain
in: query
description: Domain/Host of the GitLab Provider.
required: true
schema:
type: string
format: uri
example: https://git.rwth-aachen.de/
example: https://git.rwth-aachen.de/
- name: AccessToken
in: query
description: GitLab Project or Group Access Token.
required: true
schema:
type: string
responses:
'200':
description: Returns the GitLab project.
content:
application/json:
schema:
$ref: '#/components/schemas/GitlabBranchDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/GitlabBranchDtoIEnumerableResponse'
'403':
description: GitLab access token is invalid.
/api/v2/resource-types/gitlab:
options:
tags:
- ResourceTypeGitLab
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/roles/{roleId}:
get:
tags:
- Role
summary: Retrieves a role by ID.
operationId: GetRole
parameters:
- name: roleId
in: path
description: The ID of the role.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the role.
content:
application/json:
schema:
$ref: '#/components/schemas/RoleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/RoleDtoResponse'
'404':
description: Role does not exist.
/api/v2/roles:
get:
tags:
- Role
summary: Retrieves all roles.
operationId: GetRoles
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the roles.
content:
application/json:
schema:
$ref: '#/components/schemas/RoleDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/RoleDtoPagedResponse'
options:
tags:
- Role
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/search:
get:
tags:
- Search
summary: Retrieves a search result by given search parameters.
operationId: GetSearchResults
parameters:
- name: Query
in: query
description: The search query
schema:
type: string
- name: UseAdvancedSyntax
in: query
description: Set true for advanced Elasticsearch search syntax
schema:
type: boolean
- name: Languages
in: query
description: Set the used languages
schema:
type: array
items:
type: string
- name: Category
in: query
description: Set the category filter
schema:
$ref: '#/components/schemas/SearchCategoryType'
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the search result.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResultDtoPagedSearchResponse'
text/json:
schema:
$ref: '#/components/schemas/SearchResultDtoPagedSearchResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- Search
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/self:
get:
tags:
- Self
summary: Retrieves the current authenticated user.
operationId: GetCurrentUser
responses:
'200':
description: Returns the current authenticated user.
content:
application/json:
schema:
$ref: '#/components/schemas/UserDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/UserDtoResponse'
put:
tags:
- Self
summary: Updates the current authenticated user.
operationId: UpdateCurrentUser
requestBody:
description: The updated user data.
content:
application/json:
schema:
$ref: '#/components/schemas/UserForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/UserForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/UserForUpdateDto'
responses:
'204':
description: User updated.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
delete:
tags:
- Self
summary: Deletes the current authenticated user.
operationId: DeleteCurrentUser
responses:
'204':
description: User deleted.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
'409':
description: User has active project roles.
options:
tags:
- Self
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/self/tos:
post:
tags:
- Self
summary: Accepts the current Terms Of Service for the current authenticated user.
operationId: AcceptCurrentTos
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTermsOfServiceAcceptDto'
text/json:
schema:
$ref: '#/components/schemas/UserTermsOfServiceAcceptDto'
application/*+json:
schema:
$ref: '#/components/schemas/UserTermsOfServiceAcceptDto'
responses:
'204':
description: Terms of Service accepted.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/self/emails:
post:
tags:
- Self
summary: Confirms the email of a user.
operationId: ConfirmUserEmail
parameters:
- name: ConfirmationToken
in: query
description: Gets or initializes the confirmation token for user email confirmation.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Contact email confirmed.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
'400':
description: Provided input has a bad format.
/api/v2/self/emails/resend:
post:
tags:
- Self
summary: Resends the confirmation email for a user.
operationId: ResendUserEmailConfirmation
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/api/v2/self/identities:
post:
tags:
- Self
summary: Initiates user merging for the current user.
operationId: InitiateUserMerge
parameters:
- name: IdentityProvider
in: query
description: The identity provider from which user data is to be merged.
required: true
schema:
$ref: '#/components/schemas/IdentityProviders'
responses:
'200':
description: Returns the user merge dto.
content:
application/json:
schema:
$ref: '#/components/schemas/UserMergeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/UserMergeDtoResponse'
'400':
description: Provided input has a bad format.
/api/v2/self/project-invitations:
post:
tags:
- Self
summary: Resolves a project invitation for the authenticated user.
operationId: ResolveProjectInvitation
requestBody:
description: The project invitation resolve data.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationResolveDto'
text/json:
schema:
$ref: '#/components/schemas/ProjectInvitationResolveDto'
application/*+json:
schema:
$ref: '#/components/schemas/ProjectInvitationResolveDto'
responses:
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/self/data-proccessing-consent:
post:
tags:
- Self
summary: Gives the consent for data processing for the current authenticated user.
operationId: GiveDataProcessingConsent
responses:
'204':
description: Data processing consent given.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/self/active-project-roles-count:
get:
tags:
- Self
summary: Retrieves the number of active project roles for the currently authenticated user.
operationId: GetActiveProjectRolesCount
responses:
'200':
description: Returns the number of active project roles for the currently authenticated user.
content:
application/json:
schema:
$ref: '#/components/schemas/UserProjectRoleCountDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/UserProjectRoleCountDtoResponse'
/api/v2/self/api-tokens/{apiTokenId}:
get:
tags:
- SelfApiToken
summary: Retrieves an API token for the current authenticated user.
operationId: GetApiToken
parameters:
- name: apiTokenId
in: path
description: The ID of the token.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the API token.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoResponse'
'404':
description: API token does not exist.
delete:
tags:
- SelfApiToken
summary: Revokes an API token for the current authenticated user.
operationId: RevokeToken
parameters:
- name: apiTokenId
in: path
description: The ID of the token.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: API token revoked/deleted.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/self/api-tokens:
get:
tags:
- SelfApiToken
summary: Retrieves all API tokens for the current authenticated user.
operationId: GetAllApiTokens
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the API tokens of the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoPagedResponse'
post:
tags:
- SelfApiToken
summary: Creates an API token for the current authenticated user.
operationId: CreateApiToken
requestBody:
description: The API token data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTokenForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ApiTokenForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ApiTokenForCreationDto'
responses:
'201':
description: API token created.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiTokenDtoResponse'
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- SelfApiToken
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/self/session:
get:
tags:
- SelfSession
summary: Initiate the login workflow with the default (NFDI4Ing AAI) provider.
operationId: Login
responses:
'200':
description: OK
options:
tags:
- SelfSession
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/self/session/{externalAuthenticatorId}:
get:
tags:
- SelfSession
summary: Initiate the login workflow with specific provider.
operationId: LoginWithProvider
parameters:
- name: externalAuthenticatorId
in: path
description: The ID of the external authenticator to use for login.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/v2/self/session/merge/{externalAuthenticatorId}:
get:
tags:
- SelfSession
summary: Initiate the merge workflow with specific provider.
operationId: Merge
parameters:
- name: externalAuthenticatorId
in: path
description: The ID of the external authenticator to use for login.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/v2/self/session/logout:
post:
tags:
- SelfSession
summary: Initiate the Log out workflow.
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/storage/{encodedPath}:
head:
tags:
- Storage
summary: Checks if a file or folder exists at the specified path within the given project and resource.
operationId: HeadFileFromStorage
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
- name: version
in: query
description: The version to get. Null will default to the latest.
schema:
type: string
responses:
'200':
description: File or folder exists. Metadata is returned via response headers.
'403':
description: User is missing authorization requirements.
'404':
description: File or folder not found at the specified path.
'400':
description: Invalid path or query parameters.
/api/v2/projects/{projectId}/resources/{resourceId}/storage:
delete:
tags:
- Storage
summary: Deletes a file or folder at the specified path within the given project and resource.
operationId: DeleteFileFromStorage
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
responses:
'204':
description: Blob deleted.
'404':
description: Blob does not exist.
get:
tags:
- Storage
summary: Lists the contents of a directory in the storage tree.
operationId: ListFilesFromStorage
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\n\r\n`Sorting is not yet supported for\
\ the file tree endpoint, but this property is included for consistency with other query parameter classes and to\
\ allow for future extensibility.`.\r\nUse \"asc\" or \"desc\" as the direction.\r\n"
schema:
type: string
- name: Prefix
in: query
description: "Gets or sets the prefix filter.\r\n\r\n\r\nThe prefix to filter the storage objects by.\r\nSlashes are\
\ taken into account when filtering by prefix.\r\nThe forwads slash (/) character is treated as the path separator.\r\
\nThe lookup is only done for one level.\r\nTo look into the next level, include the trailing slash to indicate\
\ the next level of the tree.\r\n"
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
responses:
'200':
description: Returns a paged list of file tree entries for the specified resource.
content:
application/json:
schema:
$ref: '#/components/schemas/FileTreeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/FileTreeDtoPagedResponse'
'403':
description: User is missing authorization requirements.
'404':
description: Resource not found.
'400':
description: Invalid query parameters.
options:
tags:
- Storage
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/storage/{encodedPath}/content:
get:
tags:
- StorageContent
summary: Retrieves the raw content of a file, optionally at a specific version.
operationId: GetStorageRaw
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
responses:
'200':
description: Successfully retrieved the raw file content.
content:
application/octet-stream:
schema:
type: string
format: binary
'302':
description: Redirects to the file download URL.
'403':
description: User is missing authorization requirements.
'404':
description: The specified file was not found.
'400':
description: Invalid path or query parameters.
post:
tags:
- StorageContent
summary: Uploads a new file with raw content.
operationId: PostStorageRaw
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required: true
responses:
'201':
description: Blob created.
'400':
description: Blob already exists.
'415':
description: Blob is not of the type "multipart/form-data"
'413':
description: Blob is to large.
put:
tags:
- StorageContent
summary: Updates or overwrites a file with new raw content.
operationId: PutStorageRaw
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The url encoded path of the file.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required: true
responses:
'201':
description: Blob updated.
'400':
description: Blob already exists.
'415':
description: Blob is not of the type "multipart/form-data"
'413':
description: Blob is to large.
options:
tags:
- StorageContent
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: encodedPath
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/system/status/internal:
get:
tags:
- SystemStatus
summary: Retrieves the internal messages.
operationId: GetInternalMessages
parameters:
- name: StartDateAfter
in: query
description: Will only return messages that have their start date after this date (UTC).
schema:
type: string
format: date-time
- name: StartDateBefore
in: query
description: Will only return messages that have their start date before this date (UTC).
schema:
type: string
format: date-time
- name: EndDateAfter
in: query
description: Will only return messages that have their end date after this date (UTC).
schema:
type: string
format: date-time
- name: EndDateBefore
in: query
description: Will only return messages that have their end date before this date (UTC).
schema:
type: string
format: date-time
- name: Type
in: query
description: Filter messages by their type (e.g. information, warning, error).
schema:
$ref: '#/components/schemas/MessageType'
- name: SearchTerm
in: query
description: Filter messages by text contained in the messages or title.
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the internal message.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
/api/v2/system/status/noc:
get:
tags:
- SystemStatus
summary: Retrieves the NOC messages.
operationId: GetNocMessages
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the NOC messages.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
/api/v2/system/status/noc/active:
get:
tags:
- SystemStatus
summary: Retrieves the NOC messages.
operationId: GetActiveNocMessages
parameters:
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the active NOC messages.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoIEnumerableResponse'
/api/v2/system/status:
options:
tags:
- SystemStatus
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/titles/{titleId}:
get:
tags:
- Title
summary: Retrieves a title by ID.
operationId: GetTitle
parameters:
- name: titleId
in: path
description: The ID of the title.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the title.
content:
application/json:
schema:
$ref: '#/components/schemas/TitleDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/TitleDtoResponse'
'404':
description: Title does not exist.
/api/v2/titles:
get:
tags:
- Title
summary: Retrieves all titles.
operationId: GetTitles
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the titles.
content:
application/json:
schema:
$ref: '#/components/schemas/TitleDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/TitleDtoIEnumerableResponse'
options:
tags:
- Title
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/tos:
get:
tags:
- Tos
summary: Retrieves the current Terms of Service version.
operationId: GetTos
responses:
'200':
description: Returns the current Terms of Service version.
content:
application/json:
schema:
$ref: '#/components/schemas/TermsOfServiceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/TermsOfServiceDtoResponse'
options:
tags:
- Tos
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}/trees/files:
get:
tags:
- Tree
summary: Retrieves the file tree associated with a resource.
description: The `OrderBy` query is currently not supported.
operationId: GetFileTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: Path
in: query
description: Gets or sets the path of the file tree.
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the file tree of a resource.
content:
application/json:
schema:
$ref: '#/components/schemas/FileTreeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/FileTreeDtoPagedResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Project does not exist or has been deleted.
deprecated: true
/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata:
get:
tags:
- Tree
summary: Retrieves the metadata tree associated with a resource.
operationId: GetMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: Path
in: query
description: Gets or sets the path of the metadata tree.
schema:
type: string
- name: Format
in: query
description: Gets or sets the format of the RDF data.
schema:
$ref: '#/components/schemas/RdfFormat'
- name: IncludeExtractedMetadata
in: query
description: Gets or sets if extracted metadata should be included.
schema:
type: boolean
- name: IncludeProvenance
in: query
description: Gets or sets if provenance metadata should be included.
schema:
type: boolean
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the metadata tree of a resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoPagedResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Project does not exist or has been deleted.
deprecated: true
post:
tags:
- Tree
summary: Creates a new metadata tree for a resource.
operationId: CreateMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The metadata tree data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/MetadataTreeForCreationDto'
responses:
'201':
description: Metadata tree created.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
deprecated: true
put:
tags:
- Tree
summary: Updates an existing metadata tree of a resource.
operationId: UpdateMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated metadata tree data.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/MetadataTreeForUpdateDto'
responses:
'204':
description: Metadata tree updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
deprecated: true
delete:
tags:
- Tree
summary: Deletes (invalidates) a metadata tree associated with a resource.
description: Required JWT roles for access: administrator.
operationId: DeleteMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The dto for the deletion.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeForDeletionDto'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeForDeletionDto'
application/*+json:
schema:
$ref: '#/components/schemas/MetadataTreeForDeletionDto'
responses:
'204':
description: Metadata tree deleted.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
deprecated: true
/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata/specific:
get:
tags:
- Tree
summary: Retrieves the specific metadata tree associated with a resource.
operationId: GetSpecificMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: Path
in: query
description: Gets or sets the path of the metadata tree.
required: true
schema:
type: string
- name: Format
in: query
description: Gets or sets the format of the RDF data.
schema:
$ref: '#/components/schemas/RdfFormat'
- name: IncludeExtractedMetadata
in: query
description: Gets or sets if extracted metadata should be included.
schema:
type: boolean
- name: IncludeProvenance
in: query
description: Gets or sets if provenance should be included.
schema:
type: boolean
- name: Version
in: query
description: "Gets or sets the desired version.\r\nIf the version is null, the newest will be returned."
schema:
type: integer
format: int32
responses:
'200':
description: Returns the specific metadata tree of a resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Project does not exist or has been deleted.
deprecated: true
/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata/extracted:
post:
tags:
- Tree
summary: Creates a new extracted metadata tree for a resource.
description: Required JWT roles for access: administrator.
operationId: CreateExtractedMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The metadata tree data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForCreationDto'
responses:
'201':
description: Extracted Metadata tree created.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataTreeDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
deprecated: true
put:
tags:
- Tree
summary: Updates an existing metadata tree of a resource.
description: Required JWT roles for access: administrator.
operationId: UpdateExtractedMetadataTree
parameters:
- name: projectId
in: path
description: The unique identifier or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated metadata tree data.
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ExtractedMetadataTreeForUpdateDto'
responses:
'204':
description: Metadata tree updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
deprecated: true
/api/v2/projects/{projectId}/resources/{resourceId}/trees:
options:
tags:
- Tree
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/users:
get:
tags:
- User
summary: Retrieves all users.
operationId: GetUsers
parameters:
- name: OrderBy
in: query
description: Gets or sets the field by which the search results are ordered. Defaults to "firstName".
schema:
type: string
- name: SearchTerm
in: query
description: Gets or sets the search term.
required: true
schema:
type: string
responses:
'200':
description: Returns the users.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicUserDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/PublicUserDtoIEnumerableResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- User
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/user-notifications/{notificationId}:
get:
tags:
- UserNotificationOptOut
summary: Retrieves a user notification opt out for a specified notification.
operationId: GetUserNotification
parameters:
- name: notificationId
in: path
description: The Id of the notification.
required: true
schema:
type: string
responses:
'200':
description: Returns the user notification opt out.
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoResponse'
'404':
description: User notification does not exist.
/api/v2/user-notifications:
get:
tags:
- UserNotificationOptOut
summary: Retrieves all user notification opt outs of the current user.
operationId: GetUserNotifications
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the user notification opt outs.
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoPagedResponse'
'403':
description: User is missing authorization requirements.
post:
tags:
- UserNotificationOptOut
summary: Creates a user notification opt out for a specified user.
operationId: CreateUserNotification
requestBody:
description: The user notification opt out data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/UserNotificationForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/UserNotificationForCreationDto'
responses:
'201':
description: User notification opt out created.
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/UserNotificationOptOutDtoResponse'
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- UserNotificationOptOut
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/user-notifications/{id}:
delete:
tags:
- UserNotificationOptOut
summary: Deletes a user notification opt out for a specified user.
operationId: DeleteUserNotification
parameters:
- name: id
in: path
description: The Id of the user notification opt out.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: User notification opt out deleted.
'403':
description: User is missing authorization requirements.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
/api/v2/visibilities/{visibilityId}:
get:
tags:
- Visibility
summary: Retrieves a visibility by ID.
operationId: GetVisibility
parameters:
- name: visibilityId
in: path
description: The ID of the visibility.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the visibility.
content:
application/json:
schema:
$ref: '#/components/schemas/VisibilityDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/VisibilityDtoResponse'
'404':
description: Visibility does not exist.
/api/v2/visibilities:
get:
tags:
- Visibility
summary: Retrieves all visibilities.
operationId: GetVisibilities
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the visibilities.
content:
application/json:
schema:
$ref: '#/components/schemas/VisibilityDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/VisibilityDtoPagedResponse'
options:
tags:
- Visibility
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/vocabularies:
get:
tags:
- Vocabulary
summary: Retrieves top-level instances from vocabularies.
operationId: GetVocabularies
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter vocabularies.
schema:
type: string
- name: Language
in: query
description: Gets or sets the language for which the vocabularies are requested.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default
is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the top-level vocabularies.
content:
application/json:
schema:
$ref: '#/components/schemas/VocabularyDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/VocabularyDtoPagedResponse'
options:
tags:
- Vocabulary
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
/api/v2/vocabularies/{vocabulary}/raw:
get:
tags:
- Vocabulary
summary: Retrieves a raw vocabulary by its identifier.
operationId: GetRawVocabulary
parameters:
- name: vocabulary
in: path
description: The URI of the vocabulary.
required: true
schema:
type: string
responses:
'200':
description: Returns the raw vocabulary.
content:
text/turtle:
schema:
type: string
application/ld+json:
schema:
type: string
/api/v2/vocabularies/instances:
get:
tags:
- Vocabulary
summary: Retrieves vocabulary instances.
operationId: GetVocabularyInstances
parameters:
- name: Class
in: query
description: Gets or sets the URI class, which is a required field.
required: true
schema:
type: string
format: uri
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter vocabulary instances.
schema:
type: string
- name: Language
in: query
description: Gets or sets the language for which the vocabulary instances are requested.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: PageSize
in: query
description: Number of items per page. The maximum number of items per page is `150`.
schema:
type: integer
format: int32
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\
\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be\
\ used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the vocabulary instances.
content:
application/json:
schema:
$ref: '#/components/schemas/VocabularyInstanceDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/VocabularyInstanceDtoPagedResponse'
/api/v2/vocabularies/instances/{instance}:
get:
tags:
- Vocabulary
summary: Retrieves a single instance from a vocabulary.
description: Could be a top-level instance, or an intermediate-level instance from a vocabulary.
operationId: GetVocabularyInstance
parameters:
- name: instance
in: path
description: The URI of the vocabulary instance to retrieve.
required: true
schema:
type: string
- name: Accept-Language
in: header
description: The preferred language for the instance data.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the vocabulary instance.
content:
application/json:
schema:
$ref: '#/components/schemas/VocabularyInstanceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/VocabularyInstanceDtoResponse'
components:
schemas:
AcceptedLanguage:
enum:
- de
- en
type: string
description: Accepted languages by the API.
ActivityLogDto:
type: object
properties:
id:
type: string
format: uuid
apiPath:
type: string
httpAction:
type: string
controllerName:
type: string
nullable: true
actionName:
type: string
nullable: true
userId:
type: string
format: uuid
activityTimestamp:
type: string
format: date-time
additionalProperties: false
description: Represents a data transfer object (DTO) for an activity log.
ActivityLogDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ActivityLogDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ApiTokenDto:
type: object
properties:
id:
type: string
description: The unique identifier of the API token.
format: uuid
name:
type: string
description: The name associated with the API token.
creationDate:
type: string
description: The date when the API token was created.
format: date-time
expiryDate:
type: string
description: The expiry date of the API token.
format: date-time
token:
type: string
description: The actual token used for authentication.
nullable: true
owner:
$ref: '#/components/schemas/UserMinimalDto'
additionalProperties: false
description: Represents an API token used for authentication.
ApiTokenDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApiTokenDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ApiTokenDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ApiTokenDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ApiTokenForCreationDto:
required:
- expiresInDays
- name
type: object
properties:
name:
minLength: 1
type: string
description: Gets or sets the name of the API token.
expiresInDays:
maximum: 370
minimum: 1
type: integer
description: Gets or sets the expiration duration of the token in days.
format: int32
additionalProperties: false
description: Data transfer object (DTO) representing the creation of an API token.
ApplicationProfileDto:
required:
- uri
type: object
properties:
uri:
type: string
description: The URI associated with the application profile.
format: uri
displayName:
type: string
description: The display name for the application profile.
nullable: true
description:
type: string
description: The description of the application profile.
nullable: true
definition:
$ref: '#/components/schemas/RdfDefinitionDto'
additionalProperties: false
description: Represents an application profile data transfer object.
ApplicationProfileDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApplicationProfileDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ApplicationProfileDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ApplicationProfileDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ApplicationProfileForCreationDto:
required:
- definition
- name
- uri
type: object
properties:
name:
minLength: 1
type: string
description: Gets or initializes the name of the application profile.
uri:
type: string
description: Gets or initializes the URI of the application profile.
format: uri
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: Data transfer object (DTO) representing the creation of an application profile.
ApplicationProfileForCreationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ApplicationProfileForResourceCreationDto:
required:
- uri
type: object
properties:
uri:
type: string
description: Gets or initializes the URI of the resource for the application profile.
format: uri
additionalProperties: false
description: Data transfer object (DTO) representing the creation of an application profile for a resource.
ApplicationProfileMinimalDto:
required:
- uri
type: object
properties:
uri:
type: string
description: The URI associated with the application profile.
format: uri
additionalProperties: false
description: Represents a minimalistic application profile data transfer object.
CoscineHttpMethod:
enum:
- GET
- HEAD
- POST
- PUT
- DELETE
type: string
description: An enumeration representing the supported HTTP verbs.
CoscineRoleDto:
required:
- name
type: object
properties:
name:
type: string
description: Gets or sets the name of the role (e.g. "User", "QuotaAdmin").
additionalProperties: false
description: Data Transfer Object (DTO) that represents a user role within Coscine.///
CreateDatasourceDto:
type: object
properties:
resourceTypeOptionId:
type: string
description: Gets or initializes the unique identifier of the resource type option.
format: uuid
nullable: true
additionalProperties: false
description: Represents the data transfer object for creating a datasource.
CreateDatasourceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/CreateDatasourceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
DataHamsterKpiDto:
type: object
properties:
measurementId:
type: integer
format: int32
value:
type: number
format: double
nullable: true
start:
type: string
format: date-time
nullable: true
end:
type: string
format: date-time
nullable: true
additionalInfo:
type: object
additionalProperties:
type: string
query:
type: string
readOnly: true
additionalProperties: false
DataHamsterKpiDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DataHamsterKpiDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
DataHamsterKpiDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/DataHamsterKpiDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
DataStorageNrwS3OptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw S3.
accessKeyRead:
type: string
description: The access key for reading from the DataStorage.nrw S3 bucket.
secretKeyRead:
type: string
description: The secret key for reading from the DataStorage.nrw S3 bucket.
accessKeyWrite:
type: string
description: The access key for writing to the DataStorage.nrw S3 bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the DataStorage.nrw S3 bucket.
endpoint:
type: string
description: The endpoint for the DataStorage.nrw S3 bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw S3 options.
DataStorageNrwS3ResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw S3 resource type options.
DataStorageNrwS3WormOptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw S3 WORM.
accessKeyRead:
type: string
description: The access key for reading from the DataStorage.nrw S3 WORM bucket.
secretKeyRead:
type: string
description: The secret key for reading from the DataStorage.nrw S3 WORM bucket.
accessKeyWrite:
type: string
description: The access key for writing to the DataStorage.nrw S3 WORM bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the DataStorage.nrw S3 WORM bucket.
endpoint:
type: string
description: The endpoint for the RDS DataStorage.nrw WORM bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw S3 WORM options.
DataStorageNrwS3WormResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw S3 WORM resource type options.
DataStorageNrwWebOptionsDto:
required:
- bucketName
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw Web.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw Web options.
DataStorageNrwWebResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw Web resource type options.
DefaultOrganizationQuotaDto:
type: object
properties:
resourceTypeId:
type: string
description: Gets or sets the resource type id of the default quota.
format: uuid
defaultQuota:
type: integer
description: Gets or sets the default quota value.
format: int32
defaultMaxQuota:
type: integer
description: Gets or sets the default max quota value.
format: int32
additionalProperties: false
description: Represents the default quota of an organization.
DeployedGraphDto:
type: object
properties:
uri:
type: string
description: Graph URI and identifier.
format: uri
fileHashes:
type: array
items:
type: string
description: Collection of file hashes associated with the graph.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for deployed graph details.
DeployedGraphDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DeployedGraphDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
DisciplineDto:
type: object
properties:
id:
type: string
description: The unique identifier for the discipline.
format: uuid
uri:
type: string
description: The URI associated with the discipline.
displayNameDe:
type: string
description: The display name of the discipline in German.
displayNameEn:
type: string
description: The display name of the discipline in English.
additionalProperties: false
description: Represents the data transfer object for a discipline.
DisciplineDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
DisciplineDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/DisciplineDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
DisciplineForProjectManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the discipline.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a discipline for project manipulation.
DisciplineForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the discipline.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a discipline for resource manipulation.
DisciplineForUserManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the discipline.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a discipline for user manipulation.
DsNrwReplicationGroup:
enum:
- RWTH-UDE
- UZK-UPB
type: string
DsNrwReplicationGroupDto:
enum:
- RWTH-UDE
- UZK-UPB
type: string
description: Possible replication groups for the DS NRW.
ExtractedMetadataTreeForCreationDto:
required:
- definition
- id
- path
- provenance
type: object
properties:
path:
minLength: 1
type: string
description: Gets or initializes the path of the metadata tree.
id:
type: string
description: Gets or sets the id of the new metadata tree.
format: uri
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
provenance:
$ref: '#/components/schemas/ProvenanceParametersDto'
additionalProperties: false
description: "Data transfer object (DTO) representing the creation of a metadata tree.\r\nExtends the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.MetadataTreeForManipulationDto."
ExtractedMetadataTreeForUpdateDto:
required:
- definition
- id
- path
- provenance
type: object
properties:
path:
minLength: 1
type: string
description: Gets or initializes the path of the metadata tree.
id:
type: string
description: Gets or sets the id of the to update metadata tree.
format: uri
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
provenance:
$ref: '#/components/schemas/ProvenanceParametersDto'
forceNewMetadataVersion:
type: boolean
description: Gets or initializes a flag for creating a new metadata version.
additionalProperties: false
description: "Data transfer object (DTO) representing the update of a metadata tree.\r\nInherits from the base class\
\ Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.MetadataTreeForManipulationDto."
FileActionDto:
type: object
properties:
url:
type: string
description: Gets or sets the presigned URL associated with the file action.
format: uri
method:
$ref: '#/components/schemas/FileActionHttpMethod'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for file actions, including the URL and HTTP method.
FileActionHttpMethod:
enum:
- GET
- POST
- PUT
- DELETE
type: string
description: Represents the possible HTTP methods associated with file actions.
FileActionsDto:
type: object
properties:
download:
$ref: '#/components/schemas/FileActionDto'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for a collection of file actions, including download action details.
FileSystemStorageOptionsDto:
required:
- directory
type: object
properties:
directory:
type: string
description: The directory where the files are stored.
additionalProperties: false
description: Represents the data transfer object (DTO) for FileSystemStorage options.
FileTreeDto:
type: object
properties:
path:
type: string
description: Gets the path of the tree item.
type:
$ref: '#/components/schemas/TreeDataType'
directory:
type: string
description: Gets or sets the directory of the file.
name:
type: string
description: Gets or sets the name of the file.
extension:
type: string
description: Gets or sets the extension of the file.
size:
type: integer
description: Gets or sets the size of the file in bytes.
format: int64
creationDate:
type: string
description: Gets or sets the creation date of the file.
format: date-time
nullable: true
changeDate:
type: string
description: Gets or sets the last change date of the file.
format: date-time
nullable: true
actions:
$ref: '#/components/schemas/FileActionsDto'
hidden:
type: boolean
description: Determines if the specific tree entry is hidden.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for a file within a tree structure, extending the base TreeDto.
FileTreeDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/FileTreeDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
FixedValueForResourceManipulationDto:
type: object
properties:
value:
type: string
description: Gets or initializes the value of the fixed resource value.
nullable: true
type:
type: string
description: Gets or initializes the type of the fixed resource value.
nullable: true
datatype:
type: string
description: Gets or initializes the data type URI of the fixed resource value.
format: uri
nullable: true
targetClass:
type: string
description: Gets the target class of the provided value (e.g., "https://purl.org/coscine/ap/base/").
nullable: true
additionalProperties: false
description: Data transfer object (DTO) representing the manipulation of a fixed value associated with a resource.
GitLabOptionsDto:
type: object
properties:
projectId:
type: integer
description: The project ID associated with GitLab.
format: int32
repoUrl:
type: string
description: The repository URL for GitLab.
nullable: true
accessToken:
type: string
description: The access token for GitLab.
nullable: true
branch:
type: string
description: The branch for GitLab.
nullable: true
additionalProperties: false
description: Represents the data transfer object (DTO) for GitLab options.
GitlabBranchDto:
required:
- canPush
- default
- developersCanMerge
- developersCanPush
- merged
- name
- protected
type: object
properties:
name:
type: string
description: The name of the GitLab branch.
merged:
type: boolean
description: Indicates if the branch is merged.
protected:
type: boolean
description: Indicates if the branch is protected.
default:
type: boolean
description: Indicates if the branch is set as default.
developersCanPush:
type: boolean
description: Indicates if developers can push changes to the branch.
developersCanMerge:
type: boolean
description: Indicates if developers can merge changes into the branch.
canPush:
type: boolean
description: Indicates if the user can push changes to the branch.
additionalProperties: false
description: Represents a GitLab branch data transfer object (DTO).
GitlabBranchDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/GitlabBranchDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
GitlabProjectDto:
required:
- archived
- createdAt
- defaultBranch
- description
- httpUrlToRepo
- id
- lastActivityAt
- name
- nameWithNamespace
- path
- pathWithNamespace
- sshUrlToRepo
- webUrl
type: object
properties:
id:
type: integer
description: The unique identifier for the GitLab project.
format: int32
archived:
type: boolean
description: Indicates if the GitLab project is archived.
name:
type: string
description: The name of the GitLab project.
nameWithNamespace:
type: string
description: The full name of the GitLab project including namespace.
description:
type: string
description: A brief description of the GitLab project.
defaultBranch:
type: string
description: The default branch of the GitLab project.
path:
type: string
description: The path of the GitLab project.
pathWithNamespace:
type: string
description: The path of the GitLab project including namespace.
lastActivityAt:
type: string
description: The timestamp of the last activity related to the GitLab project.
createdAt:
type: string
description: The creation timestamp of the GitLab project.
webUrl:
type: string
description: The URL to view the GitLab project in a web browser.
httpUrlToRepo:
type: string
description: The HTTP URL to access the GitLab project repository.
sshUrlToRepo:
type: string
description: The SSH URL to access the GitLab project repository.
additionalProperties: false
description: Represents a GitLab project data transfer object (DTO).
GitlabProjectDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/GitlabProjectDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
GitlabProjectDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/GitlabProjectDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
GitlabResourceTypeOptionsForCreationDto:
required:
- accessToken
- branch
- projectId
- repoUrl
- tosAccepted
type: object
properties:
branch:
minLength: 1
type: string
description: The branch associated with the GitLab resource.
accessToken:
minLength: 1
type: string
description: The access token for authentication with GitLab.
repoUrl:
type: string
description: The repository URL for the GitLab resource.
format: uri
projectId:
maximum: 2147483647
minimum: 1
type: integer
description: The project ID associated with the GitLab resource.
format: int32
tosAccepted:
type: boolean
description: Indicates whether the terms of service for the GitLab resource are accepted.
additionalProperties: false
description: Represents the data transfer object (DTO) for creating GitLab resource type options.
GitlabResourceTypeOptionsForUpdateDto:
required:
- accessToken
- branch
type: object
properties:
branch:
minLength: 1
type: string
description: The branch associated with the GitLab resource.
accessToken:
minLength: 1
type: string
description: The access token for authentication with GitLab.
additionalProperties: false
description: Represents the data transfer object (DTO) for updating GitLab resource type options.
HandleDto:
type: object
properties:
pid:
$ref: '#/components/schemas/PidDto'
values:
type: array
items:
$ref: '#/components/schemas/HandleValueDto'
additionalProperties: false
HandleDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/HandleDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
HandleForUpdateDto:
required:
- values
type: object
properties:
values:
type: array
items:
$ref: '#/components/schemas/HandleValueForUpdateDto'
additionalProperties: false
HandleValueDto:
type: object
properties:
idx:
type: integer
format: int32
type:
type: string
parsed_data: {}
data:
type: string
timestamp:
type: string
format: date-time
ttl_type:
type: integer
format: int32
ttl:
type: integer
format: int32
refs:
type: array
items: {}
privs:
type: string
additionalProperties: false
HandleValueForUpdateDto:
required:
- parsed_data
- type
type: object
properties:
type:
type: string
description: The data type of the handle.
parsed_data:
description: The parsed data of the handle.
idx:
type: integer
description: The id of the handle.
format: int32
additionalProperties: false
description: Data transfer object (DTO) representing updating a handle.
HashParametersDto:
required:
- algorithmName
- value
type: object
properties:
algorithmName:
minLength: 1
type: string
description: Gets or initializes the hash algorithm name.
value:
minLength: 1
type: string
description: Gets or initializes the hash value.
additionalProperties: false
description: Data transfer object (DTO) representing Hash Parameters in a request.
IdentityProviderDto:
required:
- displayName
- id
type: object
properties:
id:
type: string
description: Gets or sets the unique identifier for the identity provider.
format: uuid
displayName:
type: string
description: Gets or sets the display name of the identity provider.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for an identity provider.
IdentityProviders:
enum:
- Shibboleth
- ORCiD
type: string
description: Specifies the supported external authentication services.
LanguageDto:
required:
- abbreviation
- displayName
- id
type: object
properties:
id:
type: string
description: Gets or sets the unique identifier for the language.
format: uuid
displayName:
type: string
description: Gets or sets the display name of the language.
abbreviation:
type: string
description: Gets or sets the abbreviation for the language.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for language details.
LanguageDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LanguageDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
LanguageDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LanguageDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
LanguageForUserManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the language.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a language for user manipulation.
LicenseDto:
type: object
properties:
id:
type: string
description: Gets or sets the unique identifier for the license.
format: uuid
displayName:
type: string
description: Gets or sets the display name of the license.
url:
type: string
description: Gets or sets the Uri of the license.
format: uri
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for license details.
LicenseDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
LicenseDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LicenseDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
LicenseForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the license.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a license for resource manipulation.
LifecycleOptionsForManipulationDto:
type: object
properties:
abortIncompleteMultipartAfterDays:
maximum: 365
minimum: 7
type: integer
description: "Gets the number of days after which incomplete multipart uploads are automatically aborted.\r\nA value\
\ of `null` means no rule is applied."
format: int32
nullable: true
noncurrentVersionExpireAfterDays:
maximum: 365
minimum: 7
type: integer
description: "Gets the number of days after which noncurrent (previous) object versions expire.\r\nA value of `null`\
\ means no rule is applied."
format: int32
nullable: true
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating lifecycle options on an S3 bucket.
LinkedDataOptionsDto:
type: object
additionalProperties: false
description: Represents the data transfer object (DTO) for Linked Data options.
LinkedDataResourceTypeOptionsForManipulationDto:
type: object
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating linked data resource type options.
MaintenanceDto:
type: object
properties:
displayName:
type: string
description: Gets or sets the maintenance title.
href:
type: string
description: Gets or sets the URL related to the maintenance.
format: uri
type:
type: string
description: Gets or sets the type of maintenance.
body:
type: string
description: Gets or sets the description of the maintenance.
startsDate:
type: string
description: Gets or sets the start date of the maintenance, if available.
format: date-time
nullable: true
endsDate:
type: string
description: Gets or sets the end date of the maintenance, if available.
format: date-time
nullable: true
additionalProperties: false
description: This class represents a maintenance with its significant properties, which is returned from the API.
MaintenanceDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MaintenanceDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
MessageDto:
required:
- id
type: object
properties:
id:
type: string
description: ID of the message.
body:
type: object
additionalProperties:
type: string
description: "Message body in multiple languages as key-value pairs. \r\nThe key is the ISO 639-1 Alpha-2 two-letter\
\ language code, and the value is the message in that language."
nullable: true
type:
$ref: '#/components/schemas/MessageType'
title:
type: string
description: Title of the message.
nullable: true
href:
type: string
description: URL related to the message.
format: uri
nullable: true
startDate:
type: string
description: Start date of the message (UTC).
format: date-time
nullable: true
endDate:
type: string
description: End date of the message (UTC).
format: date-time
nullable: true
additionalProperties: false
MessageDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MessageDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
MessageDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MessageDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
MessageType:
enum:
- Disturbance
- PartialDisturbance
- Maintenance
- PartialMaintenance
- LimitedOperation
- Interruption
- Change
- Hint
- Warning
- Information
type: string
description: Defines the various types of messages.
MetadataTreeDto:
type: object
properties:
path:
type: string
description: Gets the path of the tree item.
type:
$ref: '#/components/schemas/TreeDataType'
id:
type: string
description: Gets or sets the id of the specific metadata tree.
format: uri
version:
type: string
description: Gets or sets the version associated with the metadata.
availableVersions:
type: array
items:
type: string
description: Gets or sets the collection of available versions related to the metadata.
definition:
$ref: '#/components/schemas/RdfDefinitionDto'
extracted:
$ref: '#/components/schemas/MetadataTreeExtractedDto'
provenance:
$ref: '#/components/schemas/ProvenanceDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for metadata within a tree structure, extending the base TreeDto.
MetadataTreeDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MetadataTreeDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
MetadataTreeDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MetadataTreeDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
MetadataTreeExtractedDto:
type: object
properties:
path:
type: string
description: Gets the path of the tree item.
type:
$ref: '#/components/schemas/TreeDataType'
metadataId:
type: string
description: Gets the identifier of the metadata extraction graph.
format: uri
rawDataId:
type: string
description: Gets the identifier of the raw data extraction graph.
format: uri
nullable: true
definition:
$ref: '#/components/schemas/RdfDefinitionDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for extracted metadata within a tree structure, extending the base
TreeDto.
MetadataTreeForCreationDto:
required:
- definition
- path
type: object
properties:
path:
minLength: 1
type: string
description: Gets or initializes the path of the metadata tree.
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: "Data transfer object (DTO) representing the creation of a metadata tree.\r\nExtends the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.MetadataTreeForManipulationDto."
MetadataTreeForDeletionDto:
required:
- invalidatedBy
- path
- version
type: object
properties:
path:
minLength: 1
type: string
description: Gets or initializes the path of the metadata tree.
version:
type: integer
description: Gets or initializes the version of the metadata tree to be deleted.
format: int64
invalidatedBy:
type: string
description: Gets or initializes the invalidation entity.
format: uri
additionalProperties: false
description: Data transfer object (DTO) for deleting a specific version of metadata.
MetadataTreeForUpdateDto:
required:
- definition
- path
type: object
properties:
path:
minLength: 1
type: string
description: Gets or initializes the path of the metadata tree.
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: "Data transfer object (DTO) representing the update of a metadata tree.\r\nInherits from the base class\
\ Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.MetadataTreeForManipulationDto."
MetadataUpdateAdminParameters:
required:
- definition
type: object
properties:
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: Represents parameters for updating metadata in an administrative context.
MetadataVersionNodeDto:
type: object
properties:
subject:
type: string
format: uri
nullable: true
path:
type: string
version:
type: string
generatedAtTime:
type: string
format: date-time
isInvalidated:
type: boolean
isRevision:
type: boolean
hasVariant:
type: boolean
hasExtracted:
type: boolean
additionalProperties: false
MetadataVersionNodeDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MetadataVersionNodeDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
MetadataVersionNodeDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MetadataVersionNodeDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
NotificationDto:
required:
- category
- id
- isOptional
type: object
properties:
id:
type: string
description: Unique identifier for the project notification.
format: uuid
category:
type: string
description: Category of the notification.
isOptional:
type: boolean
description: Field which clarifies if the notification is optional or not.
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a notification.
NotificationDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/NotificationDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
NotificationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/NotificationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
OrganizationDto:
required:
- displayName
- uri
type: object
properties:
uri:
type: string
description: The ROR (Research Organization Registry) ID of the organization.
format: uri
displayName:
type: string
description: The display name of the organization.
email:
type: string
description: The email address of the organization.
nullable: true
publicationAdvisoryService:
$ref: '#/components/schemas/PublicationAdvisoryServiceDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for an organization, including its ROR (Research Organization Registry)
ID, display name, and email address.
OrganizationDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/OrganizationDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
OrganizationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
OrganizationForProjectManipulationDto:
required:
- responsible
- uri
type: object
properties:
uri:
type: string
description: Gets or initializes the URI of the organization.
format: uri
responsible:
type: boolean
description: Gets or initializes if the organization is responsible.
additionalProperties: false
description: Data transfer object (DTO) representing an organization for project manipulation.
Pagination:
type: object
properties:
currentPage:
type: integer
description: Gets or sets the current page number.
format: int32
totalPages:
type: integer
description: Gets or sets the total number of pages.
format: int32
pageSize:
type: integer
description: Gets or sets the number of items per page.
format: int32
totalCount:
type: integer
description: Gets or sets the total count of items across all pages.
format: int64
hasPrevious:
type: boolean
description: Gets a value indicating whether there is a previous page.
readOnly: true
hasNext:
type: boolean
description: Gets a value indicating whether there is a next page.
readOnly: true
additionalProperties: false
description: Represents pagination information for a collection of items.
PidDto:
required:
- prefix
- suffix
type: object
properties:
prefix:
type: string
description: Gets or sets the prefix of the PID.
suffix:
type: string
description: Gets or sets the suffix of the PID.
identifier:
type: string
description: Gets the constructed PID by combining the prefix and suffix ("{Prefix}/{Suffix}").
readOnly: true
type:
$ref: '#/components/schemas/PidType'
isEntityValid:
type: boolean
description: Gets or sets a value indicating whether the linked entity is considered valid.
additionalProperties: false
description: Represents a data transfer object (DTO) for a PID (Persistent Identifier).
PidDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/PidDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
PidDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/PidDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
PidRequestDto:
required:
- email
- message
- name
type: object
properties:
name:
minLength: 1
type: string
description: Gets or initializes the name associated with the PID request.
email:
minLength: 1
type: string
description: Gets or initializes the email associated with the PID request.
format: email
message:
maxLength: 5000
minLength: 1
type: string
description: Gets or initializes the message for the PID request.
sendConfirmationEmail:
type: boolean
description: Gets or initializes whether to send a confirmation email for the PID request.
additionalProperties: false
description: Data transfer object (DTO) representing a PID request.
PidType:
enum:
- project
- resource
type: string
description: Specifies the type of PID.
ProblemDetails:
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
additionalProperties: {}
ProjectAdminDto:
required:
- description
- disciplines
- endDate
- id
- name
- organizations
- pid
- slug
- startDate
- visibility
type: object
properties:
id:
type: string
description: Unique identifier for the project.
format: uuid
pid:
type: string
description: Persistent identifier for the project.
name:
type: string
description: Name of the project.
description:
type: string
description: Description of the project.
startDate:
type: string
description: Start date of the project.
format: date-time
endDate:
type: string
description: End date of the project.
format: date-time
keywords:
type: array
items:
type: string
description: Collection of keywords associated with the project.
nullable: true
displayName:
type: string
description: Display name of the project.
nullable: true
principleInvestigators:
type: string
description: Principal investigators involved in the project.
nullable: true
grantId:
type: string
description: Grant ID associated with the project.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: Disciplines related to the project.
organizations:
type: array
items:
$ref: '#/components/schemas/ProjectOrganizationDto'
description: Organizations associated with the project.
slug:
type: string
description: Slug for the project.
creator:
$ref: '#/components/schemas/UserMinimalDto'
creationDate:
type: string
description: Date of creation of the project.
format: date-time
nullable: true
subProjects:
type: array
items:
$ref: '#/components/schemas/ProjectDto'
description: Collection of sub-projects associated with this project.
nullable: true
deprecated: true
parent:
$ref: '#/components/schemas/ProjectMinimalDto'
deleted:
type: boolean
description: Indicates whether the project is marked as deleted.
projectResources:
type: array
items:
$ref: '#/components/schemas/ProjectResourceMinimalDto'
description: Collection of minimal project resource details associated with the project.
projectRoles:
type: array
items:
$ref: '#/components/schemas/ProjectRoleMinimalDto'
description: Collection of minimal project role details associated with the project.
projectQuota:
type: array
items:
$ref: '#/components/schemas/ProjectQuotaDto'
description: Collection of project quotas associated with the project.
publicationRequests:
type: array
items:
$ref: '#/components/schemas/ProjectPublicationRequestDto'
description: Collection of project publication requests associated with the project.
additionalProperties: false
description: "Represents a data transfer object (DTO) for an administrative view of a project.\r\nExtends the base information\
\ in Coscine.Api.Core.Shared.DataTransferObjects.ReturnObjects.ProjectDto."
ProjectAdminDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProjectAdminDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ProjectDto:
required:
- description
- disciplines
- endDate
- id
- name
- organizations
- pid
- slug
- startDate
- visibility
type: object
properties:
id:
type: string
description: Unique identifier for the project.
format: uuid
pid:
type: string
description: Persistent identifier for the project.
name:
type: string
description: Name of the project.
description:
type: string
description: Description of the project.
startDate:
type: string
description: Start date of the project.
format: date-time
endDate:
type: string
description: End date of the project.
format: date-time
keywords:
type: array
items:
type: string
description: Collection of keywords associated with the project.
nullable: true
displayName:
type: string
description: Display name of the project.
nullable: true
principleInvestigators:
type: string
description: Principal investigators involved in the project.
nullable: true
grantId:
type: string
description: Grant ID associated with the project.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: Disciplines related to the project.
organizations:
type: array
items:
$ref: '#/components/schemas/ProjectOrganizationDto'
description: Organizations associated with the project.
slug:
type: string
description: Slug for the project.
creator:
$ref: '#/components/schemas/UserMinimalDto'
creationDate:
type: string
description: Date of creation of the project.
format: date-time
nullable: true
subProjects:
type: array
items:
$ref: '#/components/schemas/ProjectDto'
description: Collection of sub-projects associated with this project.
nullable: true
deprecated: true
parent:
$ref: '#/components/schemas/ProjectMinimalDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for project information.
ProjectDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProjectDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ProjectDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProjectForCreationDto:
required:
- description
- disciplines
- name
- organizations
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: Gets or initializes the name of the project.
description:
maxLength: 10000
minLength: 1
type: string
description: Gets or initializes the description of the project.
startDate:
type: string
description: Gets or initializes the start date of the project.
format: date-time
endDate:
type: string
description: Gets or initializes the end date of the project.
format: date-time
keywords:
type: array
items:
type: string
description: Gets or initializes the keywords associated with the project.
nullable: true
displayName:
maxLength: 25
type: string
description: Gets or initializes the display name of the project.
nullable: true
principleInvestigators:
maxLength: 500
type: string
description: Gets or initializes the principal investigators associated with the project.
nullable: true
grantId:
maxLength: 500
type: string
description: Gets or initializes the grant ID associated with the project.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForProjectManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForProjectManipulationDto'
description: Gets or initializes the disciplines associated with the project.
organizations:
type: array
items:
$ref: '#/components/schemas/OrganizationForProjectManipulationDto'
description: Gets or initializes the organizations associated with the project.
parentId:
type: string
description: Gets or initializes the identifier of the parent project.
format: uuid
nullable: true
copyOwnersFromParent:
type: boolean
description: Gets or initializes if the owners of the parent project should be copied to the sub project.
nullable: true
additionalProperties: false
description: "Data transfer object (DTO) representing the creation of a project.\r\nInherits from the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ProjectForManipulationDto."
ProjectForUpdateDto:
required:
- description
- disciplines
- name
- organizations
- slug
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: Gets or initializes the name of the project.
description:
maxLength: 10000
minLength: 1
type: string
description: Gets or initializes the description of the project.
startDate:
type: string
description: Gets or initializes the start date of the project.
format: date-time
endDate:
type: string
description: Gets or initializes the end date of the project.
format: date-time
keywords:
type: array
items:
type: string
description: Gets or initializes the keywords associated with the project.
nullable: true
displayName:
maxLength: 25
type: string
description: Gets or initializes the display name of the project.
nullable: true
principleInvestigators:
maxLength: 500
type: string
description: Gets or initializes the principal investigators associated with the project.
nullable: true
grantId:
maxLength: 500
type: string
description: Gets or initializes the grant ID associated with the project.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForProjectManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForProjectManipulationDto'
description: Gets or initializes the disciplines associated with the project.
organizations:
type: array
items:
$ref: '#/components/schemas/OrganizationForProjectManipulationDto'
description: Gets or initializes the organizations associated with the project.
slug:
maxLength: 63
minLength: 1
type: string
description: Gets or initializes the slug associated with the project for identification purposes.
additionalProperties: false
description: "Data transfer object (DTO) representing the update of a project.\r\nInherits from the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ProjectForManipulationDto."
ProjectInvitationDto:
type: object
properties:
id:
type: string
description: Unique identifier for the invitation.
format: uuid
expirationDate:
type: string
description: Expiration date of the invitation.
format: date-time
email:
type: string
description: Email associated with the invitation.
issuer:
$ref: '#/components/schemas/PublicUserDto'
project:
$ref: '#/components/schemas/ProjectMinimalDto'
role:
$ref: '#/components/schemas/RoleMinimalDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for project invitations.
ProjectInvitationDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProjectInvitationDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ProjectInvitationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectInvitationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProjectInvitationForProjectManipulationDto:
required:
- email
- roleId
type: object
properties:
roleId:
type: string
description: Gets or initializes the identifier of the role associated with the invitation.
format: uuid
email:
minLength: 1
type: string
description: Gets or initializes the email address of the invited user.
format: email
additionalProperties: false
description: Data transfer object (DTO) representing an invitation for project manipulation.
ProjectInvitationResolveDto:
required:
- token
type: object
properties:
token:
type: string
description: Gets or initializes the token associated with resolving the project invitation.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) for resolving a project invitation.
ProjectMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: Unique identifier for the project.
format: uuid
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a project.
ProjectOrganizationDto:
required:
- displayName
- responsible
- uri
type: object
properties:
uri:
type: string
description: The ROR (Research Organization Registry) ID of the organization.
format: uri
displayName:
type: string
description: The display name of the organization.
email:
type: string
description: The email address of the organization.
nullable: true
publicationAdvisoryService:
$ref: '#/components/schemas/PublicationAdvisoryServiceDto'
responsible:
type: boolean
description: Determines if the organization is Responsible for a given project.
additionalProperties: false
description: Represents a data transfer object (DTO) for an organization in the context of a project.
ProjectPublicationRequestDto:
type: object
properties:
id:
type: string
description: Unique identifier for the project publication request.
format: uuid
project:
$ref: '#/components/schemas/ProjectMinimalDto'
publicationServiceRorId:
type: string
description: Identifier for the publication service used for this request.
format: uri
creator:
$ref: '#/components/schemas/UserMinimalDto'
dateCreated:
type: string
description: The date and time when the request was created.
format: date-time
message:
type: string
description: Optional message associated with the publication request.
nullable: true
resources:
type: array
items:
$ref: '#/components/schemas/ResourceMinimalDto'
description: Collection of the resources involved in the publication request.
additionalProperties: false
description: Represents a data transfer object (DTO) for a project publication request.
ProjectPublicationRequestDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectPublicationRequestDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProjectQuotaDto:
type: object
properties:
projectId:
type: string
description: Identifier of the project.
format: uuid
totalUsed:
$ref: '#/components/schemas/QuotaDto'
totalReserved:
$ref: '#/components/schemas/QuotaDto'
allocated:
$ref: '#/components/schemas/QuotaDto'
maximum:
$ref: '#/components/schemas/QuotaDto'
resourceType:
$ref: '#/components/schemas/ResourceTypeMinimalDto'
resourceQuotas:
type: array
items:
$ref: '#/components/schemas/ResourceQuotaDto'
description: Quota information for individual resources of the selected project's resource type.
nullable: true
additionalProperties: false
description: Represents a data transfer object (DTO) containing quota information for a project.
ProjectQuotaDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProjectQuotaDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ProjectQuotaDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectQuotaDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProjectQuotaForUpdateDto:
required:
- allocated
type: object
properties:
allocated:
$ref: '#/components/schemas/QuotaForManipulationDto'
maximum:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Data transfer object (DTO) representing the update of project quotas.
ProjectResourceMinimalDto:
type: object
properties:
resourceId:
type: string
description: Identifier of the resource.
format: uuid
projectId:
type: string
description: Identifier of the project associated with the resource.
format: uuid
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a project resource.
ProjectRoleDto:
type: object
properties:
id:
type: string
description: Identifier of the project role.
format: uuid
project:
$ref: '#/components/schemas/ProjectMinimalDto'
role:
$ref: '#/components/schemas/RoleDto'
user:
$ref: '#/components/schemas/PublicUserDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for a project role.
ProjectRoleDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProjectRoleDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ProjectRoleDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectRoleDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProjectRoleForProjectCreationDto:
required:
- roleId
- userId
type: object
properties:
roleId:
type: string
description: Gets or initializes the identifier of the role associated with the project manipulation.
format: uuid
userId:
type: string
description: Gets or initializes the identifier of the user associated with the project role creation.
format: uuid
additionalProperties: false
description: "Data transfer object (DTO) representing the creation of a project role within a project.\r\nInherits from\
\ the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ProjectRoleForProjectManipulationDto."
ProjectRoleForProjectManipulationDto:
required:
- roleId
type: object
properties:
roleId:
type: string
description: Gets or initializes the identifier of the role associated with the project manipulation.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a project role for manipulation within a project.
ProjectRoleMinimalDto:
type: object
properties:
projectId:
type: string
description: Identifier of the project associated with the role.
format: uuid
userId:
type: string
description: Identifier of the user associated with the role.
format: uuid
roleId:
type: string
description: Identifier of the role.
format: uuid
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a project role.
ProvenanceDto:
required:
- id
- variants
- wasRevisionOf
type: object
properties:
id:
type: string
description: Gets or sets the id of the current metadata graph.
format: uri
generatedAt:
type: string
description: Gets or sets the date and time when the metadata was generated.
format: date-time
nullable: true
wasRevisionOf:
type: array
items:
type: string
format: uri
description: Gets or sets the adapted versions from the specific metadata tree.
variants:
type: array
items:
$ref: '#/components/schemas/VariantDto'
description: Gets or sets the variants of the specific metadata tree.
similarityToLastVersion:
type: number
description: The similarity to the last version.
format: double
nullable: true
wasInvalidatedBy:
type: string
description: Information if the specific metadata tree was invalidated by something.
format: uri
nullable: true
hashParameters:
$ref: '#/components/schemas/HashParametersDto'
additionalProperties: false
description: Represents a data transfer object (DTO) for provenance information.
ProvenanceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProvenanceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ProvenanceForUpdateDto:
required:
- id
type: object
properties:
wasRevisionOf:
type: array
items:
type: string
format: uri
description: Gets or sets the adapted versions from the specific metadata tree.
variants:
type: array
items:
$ref: '#/components/schemas/VariantDto'
description: Gets or sets the variants of the specific metadata tree.
wasInvalidatedBy:
type: string
description: Information if the specific metadata tree was invalidated by something.
format: uri
nullable: true
similarityToLastVersion:
type: number
description: The similarity to the last version.
format: double
nullable: true
metadataExtractorVersion:
type: string
description: Gets or initializes the version of the metadata extractor.
nullable: true
hashParameters:
$ref: '#/components/schemas/HashParametersDto'
id:
type: string
description: Gets or sets the id of the specific metadata tree.
format: uri
additionalProperties: false
description: "Data transfer object (DTO) representing the update of provenance\r\nInherits from the base class Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ProvenanceParametersDto."
ProvenanceParametersDto:
type: object
properties:
wasRevisionOf:
type: array
items:
type: string
format: uri
description: Gets or sets the adapted versions from the specific metadata tree.
variants:
type: array
items:
$ref: '#/components/schemas/VariantDto'
description: Gets or sets the variants of the specific metadata tree.
wasInvalidatedBy:
type: string
description: Information if the specific metadata tree was invalidated by something.
format: uri
nullable: true
similarityToLastVersion:
type: number
description: The similarity to the last version.
format: double
nullable: true
metadataExtractorVersion:
type: string
description: Gets or initializes the version of the metadata extractor.
nullable: true
hashParameters:
$ref: '#/components/schemas/HashParametersDto'
additionalProperties: false
description: Data transfer object (DTO) representing Provenance Parameters in a request.
PublicUserDto:
required:
- displayName
- id
type: object
properties:
id:
type: string
description: Gets the unique identifier of the user.
format: uuid
displayName:
type: string
description: Gets the display name of the user.
givenName:
type: string
description: Gets the given name of the user.
nullable: true
familyName:
type: string
description: Gets the family name of the user.
nullable: true
email:
type: string
description: Gets the email address of the user.
nullable: true
title:
$ref: '#/components/schemas/TitleDto'
additionalProperties: false
description: Represents a public user data transfer object (DTO).
PublicUserDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/PublicUserDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
PublicationAdvisoryServiceDto:
required:
- displayName
- email
type: object
properties:
displayName:
minLength: 1
type: string
description: Gets the data publication service's display name.
email:
minLength: 1
type: string
description: Gets the data publication service's email address.
description:
type: string
description: Gets the data publication service's description.
nullable: true
organizationRor:
type: string
description: Gets the ROR of the organization that provides this publication service.
nullable: true
additionalProperties: false
description: Data transfer object (DTO) representing the publication advisory service of an organization.
PublicationAdvisoryServiceDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/PublicationAdvisoryServiceDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
PublicationRequestForCreationDto:
required:
- publicationServiceRorId
- resourceIds
type: object
properties:
publicationServiceRorId:
minLength: 1
type: string
description: The data publication service's ror id.
resourceIds:
type: array
items:
type: string
format: uuid
description: The resource guids.
message:
type: string
description: A message of the requester.
nullable: true
additionalProperties: false
description: Data transfer object (DTO) representing the creation of a publication request.
QuotaDto:
required:
- unit
- value
type: object
properties:
value:
type: number
description: The value of the quota.
format: float
unit:
$ref: '#/components/schemas/QuotaUnit'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for quota values.
QuotaForManipulationDto:
required:
- unit
- value
type: object
properties:
value:
minimum: 0
type: integer
description: The numerical value of the quota. Must be a positive System.Int64.
format: int64
unit:
$ref: '#/components/schemas/QuotaUnit'
additionalProperties: false
description: Represents a data transfer object (DTO) used for manipulating quota values.
QuotaUnit:
enum:
- https://qudt.org/vocab/unit/BYTE
- https://qudt.org/vocab/unit/KibiBYTE
- https://qudt.org/vocab/unit/MebiBYTE
- https://qudt.org/vocab/unit/GibiBYTE
- https://qudt.org/vocab/unit/TebiBYTE
- https://qudt.org/vocab/unit/PebiBYTE
type: string
description: Specifies the unit of quota.
RdfDefinitionDto:
type: object
properties:
content:
type: string
description: The content of the RDF definition.
nullable: true
type:
type: string
description: The type of the RDF definition.
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for RDF (Resource Description Framework) definition details.
RdfDefinitionDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/RdfDefinitionDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
RdfDefinitionForManipulationDto:
required:
- content
- type
type: object
properties:
content:
minLength: 1
type: string
description: The content of the RDF definition.
type:
$ref: '#/components/schemas/RdfFormat'
additionalProperties: false
description: Represents the data transfer object (DTO) used for manipulating RDF definitions.
RdfFormat:
enum:
- text/turtle
- application/ld+json
- application/x-trig
- application/n-quads
type: string
description: Specifies the RDF (Resource Description Framework) format.
RdfPatchDocumentDto:
type: object
properties:
operations:
type: array
items:
$ref: '#/components/schemas/RdfPatchOperationDto'
description: The list of operations in the RDF Patch document.
additionalProperties: false
description: Represents an RDF Patch document containing a series of operations.
RdfPatchOperationDto:
type: object
properties:
operationType:
$ref: '#/components/schemas/RdfPatchOperationType'
changes:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: Represents a single operation in an RDF Patch document.
RdfPatchOperationType:
enum:
- A
- D
type: string
description: Represents the types of operations that can be performed in an RDF Patch document.
RdsOptionsDto:
required:
- bucketName
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS options.
RdsResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS Web resource type options.
RdsS3OptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS S3.
accessKeyRead:
type: string
description: The access key for reading from the RDS S3 bucket.
secretKeyRead:
type: string
description: The secret key for reading from the RDS S3 bucket.
accessKeyWrite:
type: string
description: The access key for writing to the RDS S3 bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the RDS S3 bucket.
endpoint:
type: string
description: The endpoint for the RDS S3 bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS S3 options.
RdsS3ResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS S3 resource type options.
RdsS3WormOptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS S3 WORM.
accessKeyRead:
type: string
description: The access key for reading from the RDS S3 WORM bucket.
secretKeyRead:
type: string
description: The secret key for reading from the RDS S3 WORM bucket.
accessKeyWrite:
type: string
description: The access key for writing to the RDS S3 WORM bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the RDS S3 WORM bucket.
endpoint:
type: string
description: The endpoint for the RDS S3 WORM bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS S3 WORM options.
RdsS3WormResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS S3 WORM resource type options.
ResourceAdminDto:
required:
- applicationProfile
- deleted
- description
- disciplines
- displayName
- fixedValues
- name
- pid
- projectResources
- type
- visibility
type: object
properties:
id:
type: string
description: Unique identifier for the resource.
format: uuid
pid:
type: string
description: Persistent identifier for the resource.
type:
$ref: '#/components/schemas/ResourceTypeDto'
name:
type: string
description: Name of the resource.
displayName:
type: string
description: Display name of the resource.
description:
type: string
description: Description of the resource.
keywords:
type: array
items:
type: string
description: Keywords associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseDto'
usageRights:
type: string
description: Usage rights associated with the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: Indicates whether a local copy of the metadata is available for the resource.
metadataExtraction:
type: boolean
description: Indicates whether metadata extraction is enabled for the resource.
applicationProfile:
$ref: '#/components/schemas/ApplicationProfileMinimalDto'
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: "Fixed values associated with resource manipulation.\r\nThis dictionary may contain multiple levels\
\ and is structured as follows:\r\nDictionary (Key: string) -> Dictionary (Key: string) -> List of FixedValueForResourceManipulationDto."
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: Disciplines associated with the resource.
visibility:
$ref: '#/components/schemas/VisibilityDto'
dateCreated:
type: string
description: Date when the resource was created.
format: date-time
nullable: true
creator:
$ref: '#/components/schemas/UserMinimalDto'
archived:
type: boolean
description: Indicates whether the resource is archived.
maintenanceMode:
type: boolean
description: Indicates whether the resource is in maintenance mode.
projects:
type: array
items:
$ref: '#/components/schemas/ProjectMinimalDto'
description: The projects associated with the resource.
nullable: true
deleted:
type: boolean
description: Indicates whether the resource is deleted.
projectResources:
type: array
items:
$ref: '#/components/schemas/ProjectResourceMinimalDto'
description: Collection of minimal project resource details associated with this resource.
resourceQuota:
$ref: '#/components/schemas/ResourceQuotaDto'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for administrative purposes with additional resource details.
ResourceAdminDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ResourceAdminDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ResourceContentPageColumnsDto:
type: object
properties:
always:
uniqueItems: true
type: array
items:
type: string
description: Set of columns that should always be displayed in the content view.
additionalProperties: false
description: Represents a set of columns to be displayed in the content view.
ResourceContentPageDto:
type: object
properties:
readOnly:
type: boolean
description: Indicates whether the resource is read-only.
metadataView:
$ref: '#/components/schemas/ResourceContentPageMetadataViewDto'
entriesView:
$ref: '#/components/schemas/ResourceContentPageEntriesViewDto'
additionalProperties: false
description: Represents the content page details for a resource.
ResourceContentPageEntriesViewDto:
type: object
properties:
columns:
$ref: '#/components/schemas/ResourceContentPageColumnsDto'
additionalProperties: false
description: Represents information about the resource type for the columns within the entries view Vue component.
ResourceContentPageMetadataViewDto:
type: object
properties:
editableDataUrl:
type: boolean
description: Indicates if a data URL can be provided and is editable.
editableKey:
type: boolean
description: Indicates if a key can be provided and is editable.
additionalProperties: false
description: Represents the metadata view for a resource's content page.
ResourceCreationPageDto:
type: object
properties:
components:
type: array
items:
type: array
items:
type: string
description: List of Lists containing all the resource type specific components for the steps in the resource creation
page.
additionalProperties: false
description: Represents the structure of resource type-specific components for steps in the resource creation page.
ResourceDto:
required:
- applicationProfile
- description
- disciplines
- displayName
- fixedValues
- name
- pid
- type
- visibility
type: object
properties:
id:
type: string
description: Unique identifier for the resource.
format: uuid
pid:
type: string
description: Persistent identifier for the resource.
type:
$ref: '#/components/schemas/ResourceTypeDto'
name:
type: string
description: Name of the resource.
displayName:
type: string
description: Display name of the resource.
description:
type: string
description: Description of the resource.
keywords:
type: array
items:
type: string
description: Keywords associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseDto'
usageRights:
type: string
description: Usage rights associated with the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: Indicates whether a local copy of the metadata is available for the resource.
metadataExtraction:
type: boolean
description: Indicates whether metadata extraction is enabled for the resource.
applicationProfile:
$ref: '#/components/schemas/ApplicationProfileMinimalDto'
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: "Fixed values associated with resource manipulation.\r\nThis dictionary may contain multiple levels\
\ and is structured as follows:\r\nDictionary (Key: string) -> Dictionary (Key: string) -> List of FixedValueForResourceManipulationDto."
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: Disciplines associated with the resource.
visibility:
$ref: '#/components/schemas/VisibilityDto'
dateCreated:
type: string
description: Date when the resource was created.
format: date-time
nullable: true
creator:
$ref: '#/components/schemas/UserMinimalDto'
archived:
type: boolean
description: Indicates whether the resource is archived.
maintenanceMode:
type: boolean
description: Indicates whether the resource is in maintenance mode.
projects:
type: array
items:
$ref: '#/components/schemas/ProjectMinimalDto'
description: The projects associated with the resource.
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for resource details.
ResourceDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ResourceDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
ResourceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ResourceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ResourceForCreationDto:
required:
- applicationProfile
- description
- disciplines
- name
- resourceTypeId
- resourceTypeOptions
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of the resource.
displayName:
maxLength: 25
type: string
description: The display name of the resource.
nullable: true
description:
maxLength: 10000
minLength: 1
type: string
description: The description of the resource.
keywords:
type: array
items:
type: string
description: The keywords associated with the resource.
nullable: true
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: Fixed values associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseForResourceManipulationDto'
usageRights:
maxLength: 200
type: string
description: The usage rights description of the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: If a local copy for the metadata should be created.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForResourceManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForResourceManipulationDto'
description: The disciplines associated with the resource.
resourceTypeId:
type: string
description: The identifier of the resource type associated with the resource.
format: uuid
applicationProfile:
$ref: '#/components/schemas/ApplicationProfileForResourceCreationDto'
resourceTypeOptions:
$ref: '#/components/schemas/ResourceTypeOptionsForCreationDto'
additionalProperties: false
description: "Represents the data transfer object (DTO) used for creating a resource.\r\nInherits properties from Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ResourceForManipulationDto."
ResourceForUpdateDto:
required:
- archived
- description
- disciplines
- name
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of the resource.
displayName:
maxLength: 25
type: string
description: The display name of the resource.
nullable: true
description:
maxLength: 10000
minLength: 1
type: string
description: The description of the resource.
keywords:
type: array
items:
type: string
description: The keywords associated with the resource.
nullable: true
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: Fixed values associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseForResourceManipulationDto'
usageRights:
maxLength: 200
type: string
description: The usage rights description of the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: If a local copy for the metadata should be created.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForResourceManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForResourceManipulationDto'
description: The disciplines associated with the resource.
archived:
type: boolean
description: Indicates whether the resource is archived.
resourceTypeOptions:
$ref: '#/components/schemas/ResourceTypeOptionsForUpdateDto'
maintenanceMode:
type: boolean
description: Indicates whether the resource is in maintenance mode.
nullable: true
additionalProperties: false
description: "Represents the data transfer object (DTO) used for updating a resource.\r\nInherits properties from Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ResourceForManipulationDto."
ResourceMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: Unique identifier for the resource.
format: uuid
additionalProperties: false
description: Represents a minimal Data Transfer Object (DTO) for a resource, containing essential identifiers.
ResourceQuotaDto:
required:
- resource
type: object
properties:
resource:
$ref: '#/components/schemas/ResourceMinimalDto'
usedPercentage:
type: number
description: The percentage of quota used by the resource.
format: float
nullable: true
used:
$ref: '#/components/schemas/QuotaDto'
versions:
$ref: '#/components/schemas/QuotaDto'
reserved:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) containing quota information for a resource.
ResourceQuotaDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ResourceQuotaDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ResourceTypeDto:
required:
- generalType
- specificType
type: object
properties:
id:
type: string
description: The unique identifier of the resource type.
format: uuid
generalType:
type: string
description: The general type of the resource.
specificType:
type: string
description: The specific type of the resource.
options:
$ref: '#/components/schemas/ResourceTypeOptionsDto'
additionalProperties: false
description: Represents a resource type.
ResourceTypeInformationDto:
type: object
properties:
id:
type: string
description: The unique identifier of the resource type.
format: uuid
generalType:
type: string
description: The general type of the resource.
nullable: true
specificType:
type: string
description: The specific type of the resource.
nullable: true
status:
$ref: '#/components/schemas/ResourceTypeStatus'
canCreate:
type: boolean
description: Indicates if the resource type supports creation.
canRead:
type: boolean
description: Indicates if the resource type supports reading.
canSetResourceReadonly:
type: boolean
description: Indicates if the resource type supports read-only.
canUpdate:
type: boolean
description: Indicates if the resource type supports updating.
canUpdateResource:
type: boolean
description: Indicates if the resource type supports updating (not an Object).
canDelete:
type: boolean
description: Indicates if the resource type supports deletion.
canDeleteResource:
type: boolean
description: Indicates if the resource type supports deletion (not an Object).
canList:
type: boolean
description: Indicates if the resource type supports listing.
canCreateLinks:
type: boolean
description: Indicates if the resource type supports linking.
canCopyLocalMetadata:
type: boolean
description: Indicates whether local backup of metadata is supported.
isArchived:
type: boolean
description: Indicates if the resource type is archived.
isQuotaAvailable:
type: boolean
description: Indicates if the resource type supports quota.
isQuotaAdjustable:
type: boolean
description: Indicates if the resource type quota can be changed.
supportsVersioning:
type: boolean
description: Indicates if the resource type supports versioning.
isEnabled:
type: boolean
description: Indicates if the resource type is enabled.
readOnly: true
resourceCreation:
$ref: '#/components/schemas/ResourceCreationPageDto'
resourceContent:
$ref: '#/components/schemas/ResourceContentPageDto'
additionalProperties: false
description: Represents information about a resource type.
ResourceTypeInformationDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ResourceTypeInformationDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ResourceTypeInformationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ResourceTypeInformationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ResourceTypeMinimalDto:
required:
- id
- specificType
type: object
properties:
id:
type: string
description: The unique identifier of the resource type.
format: uuid
specificType:
type: string
description: The specific type of the resource.
additionalProperties: false
description: Represents a minimal Data Transfer Object (DTO) for a resource type.
ResourceTypeOptionsDto:
type: object
properties:
linkedData:
$ref: '#/components/schemas/LinkedDataOptionsDto'
gitLab:
$ref: '#/components/schemas/GitLabOptionsDto'
rds:
$ref: '#/components/schemas/RdsOptionsDto'
rdsS3:
$ref: '#/components/schemas/RdsS3OptionsDto'
rdsS3Worm:
$ref: '#/components/schemas/RdsS3WormOptionsDto'
fileSystemStorage:
$ref: '#/components/schemas/FileSystemStorageOptionsDto'
dataStorageNrwWeb:
$ref: '#/components/schemas/DataStorageNrwWebOptionsDto'
dataStorageNrwS3:
$ref: '#/components/schemas/DataStorageNrwS3OptionsDto'
dataStorageNrwS3Worm:
$ref: '#/components/schemas/DataStorageNrwS3WormOptionsDto'
additionalProperties: false
description: Represents the options available for different resource types.
ResourceTypeOptionsForCreationDto:
type: object
properties:
linkedResourceTypeOptions:
$ref: '#/components/schemas/LinkedDataResourceTypeOptionsForManipulationDto'
gitlabResourceTypeOptions:
$ref: '#/components/schemas/GitlabResourceTypeOptionsForCreationDto'
rdsResourceTypeOptions:
$ref: '#/components/schemas/RdsResourceTypeOptionsForManipulationDto'
rdsS3ResourceTypeOptions:
$ref: '#/components/schemas/RdsS3ResourceTypeOptionsForManipulationDto'
rdsS3WormResourceTypeOptions:
$ref: '#/components/schemas/RdsS3WormResourceTypeOptionsForManipulationDto'
dataStorageNrwWebResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwWebResourceTypeOptionsForManipulationDto'
dataStorageNrwS3ResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3ResourceTypeOptionsForManipulationDto'
dataStorageNrwS3WormResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3WormResourceTypeOptionsForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for creating options related to any resource type.
ResourceTypeOptionsForUpdateDto:
type: object
properties:
linkedResourceTypeOptions:
$ref: '#/components/schemas/LinkedDataResourceTypeOptionsForManipulationDto'
gitlabResourceTypeOptions:
$ref: '#/components/schemas/GitlabResourceTypeOptionsForUpdateDto'
rdsResourceTypeOptions:
$ref: '#/components/schemas/RdsResourceTypeOptionsForManipulationDto'
rdsS3ResourceTypeOptions:
$ref: '#/components/schemas/RdsS3ResourceTypeOptionsForManipulationDto'
rdsS3WormResourceTypeOptions:
$ref: '#/components/schemas/RdsS3WormResourceTypeOptionsForManipulationDto'
dataStorageNrwWebResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwWebResourceTypeOptionsForManipulationDto'
dataStorageNrwS3ResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3ResourceTypeOptionsForManipulationDto'
dataStorageNrwS3WormResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3WormResourceTypeOptionsForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) used for updating options related to any resource type.
ResourceTypeStatus:
enum:
- hidden
- active
type: string
description: Specifies the status of a resource type.
RoleDto:
required:
- description
- displayName
- id
type: object
properties:
id:
type: string
description: The unique identifier of the role.
format: uuid
displayName:
type: string
description: The display name of the role.
description:
type: string
description: The description of the role.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for a role.
RoleDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RoleDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
RoleDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/RoleDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
RoleMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier of the role.
format: uuid
additionalProperties: false
description: Represents a Data Transfer Object (DTO) containing minimal information about a role.
SearchCategory:
type: object
properties:
name:
type: string
description: The name of the search category.
count:
type: integer
description: The count of occurrences for the search category.
format: int64
additionalProperties: false
description: Represents a search category with a name and count of occurrences.
SearchCategoryType:
enum:
- None
- https://purl.org/coscine/terms/structure#Metadata
- https://purl.org/coscine/terms/structure#Project
- https://purl.org/coscine/terms/structure#Resource
type: string
description: Specifies the search item type.
SearchResultDto:
required:
- source
- type
- uri
type: object
properties:
uri:
type: string
description: The URI associated with the search result.
format: uri
type:
$ref: '#/components/schemas/SearchCategoryType'
source:
description: The dynamic source data for the search result.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for search results.
SearchResultDtoPagedSearchResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SearchResultDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
categories:
type: array
items:
$ref: '#/components/schemas/SearchCategory'
nullable: true
additionalProperties: false
StorageDataHamsterKpiDto:
type: object
properties:
reserved:
$ref: '#/components/schemas/DataHamsterKpiDto'
used:
$ref: '#/components/schemas/DataHamsterKpiDto'
additionalProperties: false
StorageDataHamsterKpiDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/StorageDataHamsterKpiDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
StorageNodeDto:
type: object
properties:
subject:
type: string
format: uri
nullable: true
path:
type: string
prefix:
type: string
description: Gets the prefix of the node.
name:
type: string
description: Gets the name of the node.
hasMetadata:
type: boolean
hasData:
type: boolean
hasChildren:
type: boolean
links:
$ref: '#/components/schemas/StorageNodeLinks'
additionalProperties: false
StorageNodeDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/StorageNodeDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
StorageNodeDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/StorageNodeDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
StorageNodeLinks:
type: object
properties:
metadata:
type: object
additionalProperties:
type: string
data:
type: object
additionalProperties:
type: string
children:
type: object
additionalProperties:
type: string
self:
type: object
additionalProperties:
type: string
links:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
additionalProperties: false
TermsOfServiceDto:
required:
- href
- isCurrent
- version
type: object
properties:
version:
type: string
description: The version of the terms of service.
href:
type: string
description: The URI point to the content of ToS' version
format: uri
isCurrent:
type: boolean
description: Indicates whether these terms of service are current or not.
additionalProperties: false
description: Represents the Data Transfer Object (DTO) for terms of service information.
TermsOfServiceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TermsOfServiceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
TitleDto:
required:
- displayName
- id
type: object
properties:
id:
type: string
description: The identifier for the title.
format: uuid
displayName:
type: string
description: The displayed name of the title.
additionalProperties: false
description: Represents the Data Transfer Object (DTO) for title information.
TitleDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TitleDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
TitleDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/TitleDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
TitleForUserManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier of the title.
format: uuid
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating a user's title.
TreeDataType:
enum:
- Tree
- Leaf
type: string
description: Represents the types of nodes within a hierarchical tree structure.
UserDto:
required:
- areToSAccepted
- disciplines
- displayName
- emails
- id
- identities
- organizations
type: object
properties:
id:
type: string
description: The unique identifier of the user.
format: uuid
displayName:
type: string
description: The display name of the user.
givenName:
type: string
description: The given name of the user.
nullable: true
familyName:
type: string
description: The family name of the user.
nullable: true
emails:
type: array
items:
$ref: '#/components/schemas/UserEmailDto'
description: The email addresses associated with the user.
title:
$ref: '#/components/schemas/TitleDto'
language:
$ref: '#/components/schemas/LanguageDto'
areToSAccepted:
type: boolean
description: Indicates if the terms of service are accepted by the user.
latestActivity:
type: string
description: The date and time of the latest activity of the user.
format: date-time
nullable: true
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: The disciplines associated with the user.
organizations:
type: array
items:
$ref: '#/components/schemas/UserOrganizationDto'
description: The organizations associated with the user.
identities:
type: array
items:
$ref: '#/components/schemas/IdentityProviderDto'
description: The identity providers associated with the user.
roles:
type: array
items:
$ref: '#/components/schemas/CoscineRoleDto'
description: The coscine roles associated with the user.
dataProcessingConsentAt:
type: string
description: The date and time when the user give consent to the proccessing of data.
format: date-time
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for user-related information.
UserDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
UserDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
UserEmailDto:
type: object
properties:
email:
type: string
description: The email address of the user.
nullable: true
isConfirmed:
type: boolean
description: Indicates whether the email address is confirmed.
isPrimary:
type: boolean
description: Indicates whether the email address is the primary one for the user.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for user email information.
UserForUpdateDto:
required:
- disciplines
- email
- familyName
- givenName
- language
type: object
properties:
givenName:
minLength: 1
type: string
description: The user's given name.
familyName:
minLength: 1
type: string
description: The user's family name.
email:
minLength: 1
type: string
description: The user's email address.
format: email
title:
$ref: '#/components/schemas/TitleForUserManipulationDto'
language:
$ref: '#/components/schemas/LanguageForUserManipulationDto'
organization:
type: string
description: The user's organization.
nullable: true
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForUserManipulationDto'
description: The disciplines associated with the user for manipulation.
additionalProperties: false
description: Represents the data transfer object (DTO) for updating user details.
UserMergeDto:
required:
- token
type: object
properties:
token:
type: string
description: The token required for merging user accounts.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for merging user accounts.
UserMergeDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserMergeDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
UserMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier for the user.
format: uuid
additionalProperties: false
description: Represents a minimal Data Transfer Object (DTO) for user information.
UserNotificationForCreationDto:
required:
- notificationId
type: object
properties:
notificationId:
type: string
description: The id of the notification.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing the creation of a user notification.
UserNotificationOptOutDto:
required:
- id
- notificationId
- userId
type: object
properties:
id:
type: string
description: Unique identifier for the user notification.
format: uuid
userId:
type: string
description: Unique identifier of the user.
format: uuid
notificationId:
type: string
description: Unique identifier of the notification.
format: uuid
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a user notification.
UserNotificationOptOutDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserNotificationOptOutDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
UserNotificationOptOutDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserNotificationOptOutDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
UserOrganizationDto:
required:
- displayName
- readOnly
type: object
properties:
uri:
type: string
description: Gets the ROR (Research Organization Registry) ID of the organization.
format: uri
nullable: true
displayName:
type: string
description: Gets the display name of the organization.
email:
type: string
description: Gets or sets the email address of the organization.
nullable: true
defaultQuota:
type: array
items:
$ref: '#/components/schemas/DefaultOrganizationQuotaDto'
description: Gets or sets the default quota of the organization.
nullable: true
readOnly:
type: boolean
description: Gets a value indicating whether the organization's details can be modified.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for user-related organization information, inheriting from OrganizationDto.
UserProjectRoleCountDto:
type: object
properties:
activeProjectRolesTotal:
type: integer
description: Gets the total number of active project roles associated with the current authenticated user.
format: int32
additionalProperties: false
description: Represents a Data Transfer Object containing the number of active project roles for a user.
UserProjectRoleCountDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/UserProjectRoleCountDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
UserTermsOfServiceAcceptDto:
required:
- version
type: object
properties:
version:
minLength: 1
type: string
description: The version of the terms of service being accepted.
additionalProperties: false
description: Represents the data transfer object (DTO) for accepting the terms of service by a user.
VariantDto:
type: object
properties:
graphName:
type: string
description: Name of the graph.
format: uri
similarity:
type: number
description: Similarity value 0-1
format: double
additionalProperties: false
description: Represents the variants of this specific metadata tree.
VisibilityDto:
type: object
properties:
id:
type: string
description: The identifier for the visibility setting.
format: uuid
displayName:
type: string
description: The display name for the visibility setting.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for visibility settings.
VisibilityDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/VisibilityDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
VisibilityDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/VisibilityDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
VisibilityForProjectManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier of the visibility setting.
format: uuid
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating the visibility of a project.
VisibilityForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier of the visibility setting.
format: uuid
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating the visibility of a resource.
VocabularyDto:
required:
- classUri
- graphUri
type: object
properties:
graphUri:
type: string
description: The URI of the graph containing the vocabulary.
format: uri
classUri:
type: string
description: The URI of the top-level parent class in the vocabulary.
format: uri
displayName:
type: string
description: The display name of the vocabulary.
nullable: true
description:
type: string
description: The description of the vocabulary.
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for vocabulary details.
VocabularyDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/VocabularyDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
VocabularyInstanceDto:
required:
- graphUri
type: object
properties:
graphUri:
type: string
description: The URI of the graph containing the vocabulary.
format: uri
instanceUri:
type: string
description: The URI of the instance.
format: uri
typeUri:
type: string
description: The URI representing the type of the instance.
format: uri
nullable: true
subClassOfUri:
type: string
description: The URI of the direct parent class.
format: uri
nullable: true
displayName:
type: string
description: The display name of the vocabulary instance.
nullable: true
description:
type: string
description: The description of the vocabulary instance.
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for vocabulary instance details.
VocabularyInstanceDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/VocabularyInstanceDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
VocabularyInstanceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/VocabularyInstanceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header
security:
- Bearer: []
tags:
- name: Admin
description: Endpoints for admin functionality.
- name: ApplicationProfile
description: Endpoints for the applications profiles.
- name: Blob
description: Endpoints for the Binary Large Objects (BLOBs).
- name: DataHamsterReport
description: Controller for generating and downloading project-related reports.
- name: Discipline
description: Endpoints for the disciplines.
- name: Graph
description: Controller for managing storage operations for project resources.
- name: GraphMetadataContent
description: "Controller responsible for accessing and managing RDF metadata content\r\nassociated with specific graph nodes\
\ of a project resource."
- name: GraphMetadata
description: "Controller for managing metadata version history and retrieval\r\nfor project resources and graph nodes."
- name: Handle
description: Endpoints for the handles.
- name: Language
description: Endpoints for the languages.
- name: License
description: Endpoints for the licenses.
- name: Maintenance
description: Endpoints for the maintenances.
- name: Notification
description: Endpoints for the notifications.
- name: Organization
description: Endpoints for the organizations.
- name: Pid
description: Endpoints for the pids.
- name: Project
description: Endpoints for the projects.
- name: ProjectGraphContent
description: Endpoints for the graphs of projects.
- name: ProjectInvitation
description: Endpoints for the project invitations.
- name: ProjectMember
description: Endpoints for the project members.
- name: ProjectPublicationRequest
description: Endpoints for the projects.
- name: ProjectQuota
description: Endpoints for the project quotas.
- name: ProjectResource
description: Endpoints for the project resources.
- name: ProjectResourceQuota
description: Endpoints for the resource quotas.
- name: ProjectResourceType
description: Endpoints for the resource types.
- name: ProjectSubProjects
description: Endpoints for the sub-projects.
- name: Provenance
description: Endpoints for the provenance information.
- name: PublicationAdvisoryService
description: Endpoints for the publication services.
- name: Report
description: Controller for generating and downloading project-related reports.
- name: Resource
description: Endpoints for the resources.
- name: ResourceGraphContent
description: Endpoints for the graphs of resources.
- name: ResourceType
description: Endpoints for the resource types.
- name: ResourceTypeGitLab
description: Endpoints for the gitlab resource types.
- name: Role
description: Endpoints for the roles.
- name: Search
description: Endpoints for search.
- name: SelfApiToken
description: Endpoints for the api tokens of a user.
- name: Self
description: Endpoints for the current authenticated user.
- name: SelfSession
description: Endpoints for the current current session.
- name: StorageContent
description: "Provides endpoints for managing raw file content in blob storage for project resources,\r\nincluding downloading,\
\ uploading, and updating files."
- name: Storage
description: "Provides endpoints for managing blob storage operations for project resources,\r\nsuch as checking existence\
\ and deleting files or folders."
- name: SystemStatus
description: Endpoints for system status messages.
- name: Title
description: Endpoints for the titles.
- name: Tos
description: Endpoints for the terms of services (tos).
- name: Tree
description: Endpoints for the file and metadata trees.
- name: User
description: Endpoints for the users.
- name: UserNotificationOptOut
description: Endpoints for the user notification opt outs.
- name: Visibility
description: Endpoints for the visibilities.
- name: Vocabulary
description: Endpoints for the Endpoints for the vocabularies.