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.