RWTH Aachen University Admin API

Endpoints for admin functionality.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

rwth-aachen-university-admin-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coscine Web Admin API
  description: Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) 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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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: <p><strong>Required JWT roles for access:</strong> <code>administrator</code>.</p>
      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 publ

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rwth-aachen-university/refs/heads/main/openapi/rwth-aachen-university-admin-api-openapi.yml