openapi: 3.0.1 info: title: Coscine Web Admin 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 security: - Bearer: [] tags: - name: Admin description: Endpoints for admin functionality. 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 components: schemas: 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. 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. 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. 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. 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. 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. 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. 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 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. 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. 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 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. 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. 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. 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. 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. 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. 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. 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. LinkedDataOptionsDto: type: object additionalProperties: false description: Represents the data transfer object (DTO) for Linked Data options. 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. 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. MetadataUpdateAdminParameters: required: - definition type: object properties: definition: $ref: '#/components/schemas/RdfDefinitionForManipulationDto' additionalProperties: false description: Represents parameters for updating metadata in an administrative context. 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. 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. 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. 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. 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. RdfPatchOperationType: enum: - A - D type: string description: Represents the types of operations that can be performed in an RDF Patch document. 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. 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. 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. 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. 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. 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 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. CoscineHttpMethod: enum: - GET - HEAD - POST - PUT - DELETE type: string description: An enumeration representing the supported HTTP verbs. 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. 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. 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 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. 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 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. 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./// 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." 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 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 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. 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. 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. 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. 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. 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. DsNrwReplicationGroup: enum: - RWTH-UDE - UZK-UPB type: string 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. RdfFormat: enum: - text/turtle - application/ld+json - application/x-trig - application/n-quads type: string description: Specifies the RDF (Resource Description Framework) format. 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. 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. 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. securitySchemes: Bearer: type: apiKey description: JWT Authorization header using the Bearer scheme. name: Authorization in: header