openapi: 3.0.1
info:
title: Coscine Web Admin GraphMetadata 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: GraphMetadata
description: "Controller for managing metadata version history and retrieval\r\nfor project resources and graph nodes."
paths:
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}/metadata/versions:
get:
tags:
- GraphMetadata
summary: "Retrieves a paginated list of all metadata versions available\r\nfor a specific graph node of a resource."
operationId: ListMetadataVersions
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path to the graph node.
required: true
schema:
type: string
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\n\r\n\r\nThe property `version`is supported for ordering.\r\nUse \"asc\" or \"desc\" as the direction.\r\nThe Default is `version desc`.\r\n"
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
schema:
type: integer
format: int32
responses:
'200':
description: Successfully retrieved metadata version list.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoPagedResponse'
'403':
description: User is missing authorization requirements.
'404':
description: No metadata versions were found for the specified path.
'400':
description: Invalid query parameters supplied.
/api/v2/projects/{projectId}/resources/{resourceId}/graphs/{encodedPath}/metadata:
get:
tags:
- GraphMetadata
summary: Retrieves a specific version of the metadata graph for a given path.
operationId: GetMetadataVersion
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: "The URL-encoded path to the graph node.\r\n Due to a limitation in the underlying structure, any trailing slashes in the path will be trimmed.\r\n Test.txt and Test.txt/ will be treated as the same path."
required: true
schema:
type: string
- name: graphVersion
in: query
description: "The version identifier of the graph to retrieve.\r\nIf omitted, the latest version is returned."
schema:
type: string
responses:
'200':
description: Successfully retrieved the specified metadata version.
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/MetadataVersionNodeDtoResponse'
'403':
description: User is missing authorization requirements.
'404':
description: The requested version was not found.
'400':
description: Invalid request parameters supplied.
'401':
description: The user is not authorized to access the resource.
head:
tags:
- GraphMetadata
summary: Checks the existence of a specific metadata version without returning content.
operationId: HeadMetadataVersion
parameters:
- name: projectId
in: path
description: The unique identifier of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The unique identifier of the resource.
required: true
schema:
type: string
format: uuid
- name: encodedPath
in: path
description: The URL-encoded path to the graph node.
required: true
schema:
type: string
- name: graphVersion
in: query
description: Optional version identifier of the graph to check.
schema:
type: string
responses:
'204':
description: The specified metadata version exists.
'403':
description: User is missing authorization requirements.
'404':
description: The metadata version was not found.
'400':
description: Invalid request parameters supplied.
'401':
description: The user is not authorized to access the resource.
options:
tags:
- GraphMetadata
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: encodedPath
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
components:
schemas:
MetadataVersionNodeDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/MetadataVersionNodeDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
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.
MetadataVersionNodeDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MetadataVersionNodeDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
MetadataVersionNodeDto:
type: object
properties:
subject:
type: string
format: uri
nullable: true
path:
type: string
version:
type: string
generatedAtTime:
type: string
format: date-time
isInvalidated:
type: boolean
isRevision:
type: boolean
hasVariant:
type: boolean
hasExtracted:
type: boolean
additionalProperties: false
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header