openapi: 3.0.1
info:
title: Coscine Web Admin ApplicationProfile 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: ApplicationProfile
description: Endpoints for the applications profiles.
paths:
/api/v2/application-profiles/profiles:
get:
tags:
- ApplicationProfile
summary: Retrieves all application profiles.
operationId: GetApplicationProfiles
parameters:
- name: SearchTerm
in: query
description: Gets or sets the search term used to filter application profiles.
schema:
type: string
- name: Language
in: query
description: Gets or sets the language for which the application profiles are requested.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
- name: Modules
in: query
description: Gets or sets a value indicating whether to include modules in the application profiles.
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: 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 application profiles.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoPagedResponse'
/api/v2/application-profiles/profiles/{profile}:
get:
tags:
- ApplicationProfile
summary: Retrieves an application profile by its URI.
operationId: GetApplicationProfile
parameters:
- name: profile
in: path
description: The URI of the application profile to retrieve.
required: true
schema:
type: string
- name: format
in: query
description: The desired data format for the returned application profile.
schema:
$ref: '#/components/schemas/RdfFormat'
- name: Accept-Language
in: header
description: The preferred language for the application profile data.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the application profile.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileDtoResponse'
'404':
description: Application profile does not exist.
/api/v2/application-profiles/profiles/{profile}/raw:
get:
tags:
- ApplicationProfile
summary: Retrieves the `raw` application profile definition by its URI.
operationId: GetRawApplicationProfile
parameters:
- name: profile
in: path
description: The URI of the application profile.
required: true
schema:
type: string
responses:
'200':
description: Returns the raw application profile.
content:
text/turtle:
schema:
type: string
application/ld+json:
schema:
type: string
'404':
description: Application profile does not exist.
/api/v2/application-profiles/requests:
post:
tags:
- ApplicationProfile
summary: Submits a request to create a new application profile.
operationId: CreateApplicationProfileRequest
requestBody:
description: The details required to create a new application profile.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
responses:
'201':
description: Application profile request created.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ApplicationProfileForCreationDtoResponse'
'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.
/api/v2/application-profiles:
options:
tags:
- ApplicationProfile
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
components:
schemas:
ApplicationProfileDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApplicationProfileDto'
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
AcceptedLanguage:
enum:
- de
- en
type: string
description: Accepted languages by the API.
ApplicationProfileForCreationDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ApplicationProfileForCreationDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
ApplicationProfileDto:
required:
- uri
type: object
properties:
uri:
type: string
description: The URI associated with the application profile.
format: uri
displayName:
type: string
description: The display name for the application profile.
nullable: true
description:
type: string
description: The description of the application profile.
nullable: true
definition:
$ref: '#/components/schemas/RdfDefinitionDto'
additionalProperties: false
description: Represents an application profile data transfer object.
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.
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.
RdfFormat:
enum:
- text/turtle
- application/ld+json
- application/x-trig
- application/n-quads
type: string
description: Specifies the RDF (Resource Description Framework) format.
ApplicationProfileForCreationDto:
required:
- definition
- name
- uri
type: object
properties:
name:
minLength: 1
type: string
description: Gets or initializes the name of the application profile.
uri:
type: string
description: Gets or initializes the URI of the application profile.
format: uri
definition:
$ref: '#/components/schemas/RdfDefinitionForManipulationDto'
additionalProperties: false
description: Data transfer object (DTO) representing the creation of an application profile.
ApplicationProfileDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ApplicationProfileDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
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.
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header