openapi: 3.0.1 info: title: Coscine Web Admin Resource 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: Resource description: Endpoints for the resources. paths: /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 components: schemas: 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. 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. 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. 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. 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. 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. 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. 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. 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 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. 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. 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. 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. 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. 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. 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. 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. 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. securitySchemes: Bearer: type: apiKey description: JWT Authorization header using the Bearer scheme. name: Authorization in: header