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