openapi: 3.0.1
info:
title: Coscine Web Admin ProjectPublicationRequest 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: ProjectPublicationRequest
description: Endpoints for the projects.
paths:
/api/v2/projects/{projectId}/publications/requests:
post:
tags:
- ProjectPublicationRequest
summary: Creates a new publication request.
operationId: CreatePublicationRequest
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The publication request data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/PublicationRequestForCreationDto'
responses:
'201':
description: Publication request created.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
options:
tags:
- ProjectPublicationRequest
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/publications/requests/{publicationRequestId}:
get:
tags:
- ProjectPublicationRequest
summary: Retrieves a publication request.
operationId: GetPublicationRequest
parameters:
- name: projectId
in: path
description: The ID of the project.
required: true
schema:
type: string
- name: publicationRequestId
in: path
description: The ID of the publication request.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the publication request.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ProjectPublicationRequestDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Publication request does not exist or has been deleted.
components:
schemas:
PublicationRequestForCreationDto:
required:
- publicationServiceRorId
- resourceIds
type: object
properties:
publicationServiceRorId:
minLength: 1
type: string
description: The data publication service's ror id.
resourceIds:
type: array
items:
type: string
format: uuid
description: The resource guids.
message:
type: string
description: A message of the requester.
nullable: true
additionalProperties: false
description: Data transfer object (DTO) representing the creation of a publication request.
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.
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.
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.
ProjectPublicationRequestDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ProjectPublicationRequestDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
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.
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header