openapi: 3.0.1 info: title: Coscine Web Admin Vocabulary 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: Vocabulary description: Endpoints for the Endpoints for the vocabularies. paths: /api/v2/vocabularies: get: tags: - Vocabulary summary: Retrieves top-level instances from vocabularies. operationId: GetVocabularies parameters: - name: SearchTerm in: query description: Gets or sets the search term used to filter vocabularies. schema: type: string - name: Language in: query description: Gets or sets the language for which the vocabularies are requested. schema: $ref: '#/components/schemas/AcceptedLanguage' - 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 top-level vocabularies. content: application/json: schema: $ref: '#/components/schemas/VocabularyDtoPagedResponse' text/json: schema: $ref: '#/components/schemas/VocabularyDtoPagedResponse' options: tags: - Vocabulary summary: Responds with the HTTP methods allowed for the endpoint. responses: '200': description: OK /api/v2/vocabularies/{vocabulary}/raw: get: tags: - Vocabulary summary: Retrieves a raw vocabulary by its identifier. operationId: GetRawVocabulary parameters: - name: vocabulary in: path description: The URI of the vocabulary. required: true schema: type: string responses: '200': description: Returns the raw vocabulary. content: text/turtle: schema: type: string application/ld+json: schema: type: string /api/v2/vocabularies/instances: get: tags: - Vocabulary summary: Retrieves vocabulary instances. operationId: GetVocabularyInstances parameters: - name: Class in: query description: Gets or sets the URI class, which is a required field. required: true schema: type: string format: uri - name: SearchTerm in: query description: Gets or sets the search term used to filter vocabulary instances. schema: type: string - name: Language in: query description: Gets or sets the language for which the vocabulary instances are requested. schema: $ref: '#/components/schemas/AcceptedLanguage' - name: PageSize in: query description: Number of items per page. The maximum number of items per page is `150`. 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 vocabulary instances. content: application/json: schema: $ref: '#/components/schemas/VocabularyInstanceDtoPagedResponse' text/json: schema: $ref: '#/components/schemas/VocabularyInstanceDtoPagedResponse' /api/v2/vocabularies/instances/{instance}: get: tags: - Vocabulary summary: Retrieves a single instance from a vocabulary. description: Could be a top-level instance, or an intermediate-level instance from a vocabulary. operationId: GetVocabularyInstance parameters: - name: instance in: path description: The URI of the vocabulary instance to retrieve. required: true schema: type: string - name: Accept-Language in: header description: The preferred language for the instance data. schema: $ref: '#/components/schemas/AcceptedLanguage' responses: '200': description: Returns the vocabulary instance. content: application/json: schema: $ref: '#/components/schemas/VocabularyInstanceDtoResponse' text/json: schema: $ref: '#/components/schemas/VocabularyInstanceDtoResponse' components: schemas: VocabularyDtoPagedResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/VocabularyDto' 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. VocabularyDto: required: - classUri - graphUri type: object properties: graphUri: type: string description: The URI of the graph containing the vocabulary. format: uri classUri: type: string description: The URI of the top-level parent class in the vocabulary. format: uri displayName: type: string description: The display name of the vocabulary. nullable: true description: type: string description: The description of the vocabulary. nullable: true additionalProperties: false description: Represents a Data Transfer Object (DTO) for vocabulary details. VocabularyInstanceDtoResponse: type: object properties: data: $ref: '#/components/schemas/VocabularyInstanceDto' 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. VocabularyInstanceDtoPagedResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/VocabularyInstanceDto' 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 VocabularyInstanceDto: required: - graphUri type: object properties: graphUri: type: string description: The URI of the graph containing the vocabulary. format: uri instanceUri: type: string description: The URI of the instance. format: uri typeUri: type: string description: The URI representing the type of the instance. format: uri nullable: true subClassOfUri: type: string description: The URI of the direct parent class. format: uri nullable: true displayName: type: string description: The display name of the vocabulary instance. nullable: true description: type: string description: The description of the vocabulary instance. nullable: true additionalProperties: false description: Represents a Data Transfer Object (DTO) for vocabulary instance details. securitySchemes: Bearer: type: apiKey description: JWT Authorization header using the Bearer scheme. name: Authorization in: header