Select Git revision
dbrepo-1.8.2rc6-py3-none-any.whl
yq 169.47 KiB
openapi: 3.0.1
info:
title: Database Repository Metadata Service API
description: Service that manages the metadata
contact:
name: Prof. Andreas Rauber
email: andreas.rauber@tuwien.ac.at
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.6.2
externalDocs:
description: Sourcecode Documentation
url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6.2/system-services-metadata/
servers:
- url: http://localhost
description: Development instance
- url: https://test.dbrepo.tuwien.ac.at
description: Staging instance
paths:
/api/database:
get:
tags:
- database-endpoint
summary: List databases
description: "Lists all databases in the metadata database. Requests with HTTP\
\ method **GET** return the list of databases, requests with HTTP method **HEAD**\
\ only the number in the `X-Count` header."
operationId: list
parameters:
- name: internal_name
in: query
required: false
schema:
type: string
responses:
"200":
description: List of databases
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of databases
required: true
style: simple
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/DatabaseBriefDto"
post:
tags:
- database-endpoint
summary: Create database
description: Creates a database in the container with id. Requires roles `create-database`.
operationId: create_5
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseCreateDto"
required: true
responses:
"409":
description: Query store could not be created
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Database create query is malformed or image is not supported
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"423":
description: Database quota exceeded
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Database create permission is missing or grant permissions
at broker service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to fin container/user/database in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Created a new database
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
security:
- bearerAuth: []
- basicAuth: []
head:
tags:
- database-endpoint
summary: List databases
description: "Lists all databases in the metadata database. Requests with HTTP\
\ method **GET** return the list of databases, requests with HTTP method **HEAD**\
\ only the number in the `X-Count` header."
operationId: list_1
parameters:
- name: internal_name
in: query
required: false
schema:
type: string
responses:
"200":
description: List of databases
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of databases
required: true
style: simple
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/DatabaseBriefDto"
/api/database/{databaseId}/access/{userId}:
get:
tags:
- access-endpoint
summary: Find/Check access
description: "Finds or checks access of a user with given id to a database with\
\ given id. Requests with HTTP method **GET** return the access object, requests\
\ with HTTP method **HEAD** only the status. When the user has at least *READ*\
\ access, the status 200 is returned, 403 otherwise. Requires role `check-database-access`\
\ or `check-foreign-database-access`."
operationId: find
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: userId
in: path
required: true
schema:
type: string
format: uuid
responses:
"403":
description: No access to this database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found database access
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseAccessDto"
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- access-endpoint
summary: Modify access
description: Modifies access of a user with given id to database with given
id. Requires role `update-database-access`.
operationId: update_5
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateDatabaseAccessDto"
required: true
responses:
"404":
description: Database or user not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Modify access not permitted when no access is granted in the
first place
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Access could not be updated in the data service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Modified access
"502":
description: Access could not be updated due to connection error in the
data service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Modify access query or database connection is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
post:
tags:
- access-endpoint
summary: Give access
description: Give a user with given id access to some database with given id.
Requires role `create-database-access`.
operationId: create_8
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateDatabaseAccessDto"
required: true
responses:
"404":
description: Database or user not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Access could not be created in the data service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Failed giving access
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Granting access succeeded
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseAccessDto"
"400":
description: Granting access query or database connection is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Access could not be created due to connection error
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- access-endpoint
summary: Delete access
description: Delete access of a user with id to a database with id. Requires
role `delete-database-access`.
operationId: revoke
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: userId
in: path
required: true
schema:
type: string
format: uuid
responses:
"403":
description: Revoke of access not permitted as no access was found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted access
"502":
description: Access could not be created due to connection error
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "User, database with access was not found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Access could not be revoked in the data service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Modify access query or database connection is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
head:
tags:
- access-endpoint
summary: Find/Check access
description: "Finds or checks access of a user with given id to a database with\
\ given id. Requests with HTTP method **GET** return the access object, requests\
\ with HTTP method **HEAD** only the status. When the user has at least *READ*\
\ access, the status 200 is returned, 403 otherwise. Requires role `check-database-access`\
\ or `check-foreign-database-access`."
operationId: find_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: userId
in: path
required: true
schema:
type: string
format: uuid
responses:
"403":
description: No access to this database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found database access
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseAccessDto"
security:
- bearerAuth: []
- basicAuth: []
/api/user/{userId}:
get:
tags:
- user-endpoint
summary: Get user
description: Gets own user information from the metadata database. Requires
authentication. Foreign user information can only be obtained if additional
role `find-foreign-user` is present. Finding information about internal users
results in a 404 error.
operationId: find_2
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
responses:
"404":
description: User was not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found user
content:
application/json:
schema:
$ref: "#/components/schemas/UserDto"
"403":
description: Find user is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- user-endpoint
summary: Update user
description: Updates user with id. Requires role `modify-user-information`.
operationId: modify
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UserUpdateDto"
required: true
responses:
"202":
description: Modified user information
content:
application/json:
schema:
$ref: "#/components/schemas/UserDto"
"404":
description: Failed to find database/user in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Modify user query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to modify user metadata
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/user/{userId}/password:
put:
tags:
- user-endpoint
summary: Update user password
description: Updates password of user with id. Requires authentication.
operationId: password
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UserPasswordDto"
required: true
responses:
"400":
description: Invalid password payload
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Modified user password
"403":
description: Not allowed to change foreign user password
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to get user in auth service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database/user in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to auth service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/user/token:
put:
tags:
- user-endpoint
summary: Refresh token
description: Refreshes user token by refresh token.
operationId: refreshToken
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/RefreshTokenRequestDto"
required: true
responses:
"202":
description: Refreshed user token
content:
application/json:
schema:
$ref: "#/components/schemas/TokenDto"
"403":
description: Not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Invalid refresh token
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to auth service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
post:
tags:
- user-endpoint
summary: Create token
description: Creates a user token via the Auth Service.
operationId: getToken
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LoginRequestDto"
required: true
responses:
"400":
description: Invalid login request
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to get token
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find user in auth database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to get user in auth service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Obtained user token
content:
application/json:
schema:
$ref: "#/components/schemas/TokenDto"
"428":
description: Account is not fully setup in auth service (requires password
change?)
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to auth service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
/api/ontology/{ontologyId}:
get:
tags:
- ontology-endpoint
summary: Find ontology
description: Finds an ontology with id in the metadata database.
operationId: find_3
parameters:
- name: ontologyId
in: path
required: true
schema:
type: integer
format: int64
responses:
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Find one ontology
content:
application/json:
schema:
$ref: "#/components/schemas/OntologyDto"
put:
tags:
- ontology-endpoint
summary: Update ontology
description: Updates an ontology with id. Requires role `update-ontology`.
operationId: update
parameters:
- name: ontologyId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/OntologyModifyDto"
required: true
responses:
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated ontology successfully
content:
application/json:
schema:
$ref: "#/components/schemas/OntologyDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- ontology-endpoint
summary: Delete ontology
description: Deletes an ontology with given id. Requires role `delete-ontology`.
operationId: delete
parameters:
- name: ontologyId
in: path
required: true
schema:
type: integer
format: int64
responses:
"202":
description: Deleted ontology successfully
content:
application/json: {}
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/message/{messageId}:
put:
tags:
- message-endpoint
summary: Update message
description: Updates a message with id. Requires role `update-maintenance-message`.
operationId: update_1
parameters:
- name: messageId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/BannerMessageUpdateDto"
required: true
responses:
"202":
description: Updated message
content:
application/json:
schema:
$ref: "#/components/schemas/BannerMessageBriefDto"
"404":
description: Could not find message
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- message-endpoint
summary: Delete message
description: Deletes a message with id. Requires role `delete-maintenance-message`.
operationId: delete_1
parameters:
- name: messageId
in: path
required: true
schema:
type: integer
format: int64
responses:
"404":
description: Could not find message
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted message
content:
application/json: {}
security:
- bearerAuth: []
- basicAuth: []
/api/image/{imageId}:
get:
tags:
- image-endpoint
summary: Find image
description: Finds a container image in the metadata database.
operationId: findById
parameters:
- name: imageId
in: path
required: true
schema:
type: integer
format: int64
responses:
"404":
description: Image could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found image
content:
application/json:
schema:
$ref: "#/components/schemas/ImageDto"
put:
tags:
- image-endpoint
summary: Update image
description: Updates container image in the metadata database. Requires role
`modify-image`.
operationId: update_2
parameters:
- name: imageId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ImageChangeDto"
required: true
responses:
"404":
description: Image could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated image successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ImageDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- image-endpoint
summary: Delete image
description: Deletes a container image in the metadata database. Requires role
`delete-image`.
operationId: delete_2
parameters:
- name: imageId
in: path
required: true
schema:
type: integer
format: int64
responses:
"202":
description: Deleted image successfully
"404":
description: Image could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/identifier/{identifierId}:
get:
tags:
- identifier-endpoint
summary: Find identifier
description: Finds an identifier with id. The response format depends on the
HTTP `Accept` header set on the request.
operationId: find_6
parameters:
- name: identifierId
in: path
required: true
schema:
type: integer
format: int64
- name: Accept
in: header
required: true
schema:
type: string
responses:
"200":
description: Found identifier successfully
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierDto"
application/ld+json:
schema:
$ref: "#/components/schemas/LdDatasetDto"
text/csv: {}
text/xml: {}
text/bibliography: {}
text/bibliography; style=apa: {}
text/bibliography; style=ieee: {}
text/bibliography; style=bibtex: {}
"502":
description: Connection to data service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: "Identifier could not be exported, the requested style is not\
\ known"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"409":
description: Exported resource was not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"410":
description: Failed to retrieve from S3 endpoint
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Identifier could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"406":
description: Failed to find acceptable representation
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to find in data service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
put:
tags:
- identifier-endpoint
summary: Save identifier
description: Saves an identifier with id as a draft identifier. Identifiers
can only be created for objects the user has at least *READ* access in the
associated database (requires role `create-identifier`) or for any object
in any database (requires role `create-foreign-identifier`).
operationId: save
parameters:
- name: identifierId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierSaveDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Failed to find database, table or view"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Identifier form contains invalid request data
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Saved identifier
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierDto"
"403":
description: Insufficient access rights or authorities
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- identifier-endpoint
summary: Delete identifier
description: Deletes an identifier with id. Requires role `delete-identifier`.
operationId: delete_3
parameters:
- name: identifierId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to delete in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Identifier or database could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted identifier
"403":
description: Deleting identifier not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/identifier/{identifierId}/publish:
put:
tags:
- identifier-endpoint
summary: Publish identifier
description: Publishes an identifier with id. A published identifier cannot
be changed anymore. Requires role `publish-identifier`.
operationId: publish
parameters:
- name: identifierId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Failed to find database, table or view"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Published identifier
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierDto"
"400":
description: Identifier form contains invalid request data
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Insufficient access rights or authorities
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/visibility:
put:
tags:
- database-endpoint
summary: Update database visibility
description: Updates the database with id on the visibility. Only the database
owner can perform this operation. Requires role `modify-database-visibility`.
operationId: visibility
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseModifyVisibilityDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Visibility modified successfully
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"400":
description: The visibility payload is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Visibility modification is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/view/{viewId}:
get:
tags:
- view-endpoint
summary: Get view
description: Gets a view with id in the metadata database.
operationId: find_7
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
responses:
"403":
description: Find view is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Database, view or user could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Find view successfully
headers:
X-Username:
description: The authentication username
style: simple
Access-Control-Expose-Headers:
description: Expose custom headers
style: simple
X-Type:
description: The JDBC connection type
style: simple
X-View:
description: The view internal name
style: simple
X-Database:
description: The database internal name
style: simple
X-Password:
description: The authentication password
style: simple
X-Host:
description: The database hostname
style: simple
X-Port:
description: The database port number
style: simple
content:
application/json:
schema:
$ref: "#/components/schemas/ViewDto"
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- view-endpoint
summary: Update view
description: Updates a view with id. This can only be performed by the view
owner or database owner. Requires role `create-database-view`.
operationId: update_3
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ViewUpdateDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database or View could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Update not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Update view query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Update view successfully
content:
'*/*':
schema:
$ref: "#/components/schemas/ViewDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- view-endpoint
summary: Delete view
description: Deletes a view with id. Requires role `delete-database-view`.
operationId: delete_4
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"423":
description: Delete view resulted in an invalid query statement
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Database, view or user could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Delete view successfully
content:
'*/*':
schema:
type: object
"400":
description: Delete view query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Deletion not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table/{tableId}:
get:
tags:
- table-endpoint
summary: Find table
description: "Finds a table with id. When a table is hidden (i.e. when `is_public`\
\ is `false`), then the user needs to have at least read access and the role\
\ `find-table`. When the `system` role is present, the endpoint responds with\
\ additional connection metadata in the header."
operationId: findById_2
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
description: Find table successfully
headers:
X-Username:
description: The authentication username
style: simple
X-Table:
description: The table internal name
style: simple
Access-Control-Expose-Headers:
description: Expose custom headers
style: simple
X-Type:
description: The JDBC connection type
style: simple
X-Database:
description: The database internal name
style: simple
X-Password:
description: The authentication password
style: simple
X-Host:
description: The database hostname
style: simple
X-Port:
description: The database port number
style: simple
content:
application/json:
schema:
$ref: "#/components/schemas/TableDto"
"503":
description: Failed to obtain queue information from broker service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Access to the database is forbidden
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Failed to establish connection with broker service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Table, database or container could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- table-endpoint
summary: Update table
description: Updates a table in the database with id. Requires role `update-table`.
operationId: update_4
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/TableUpdateDto"
required: true
responses:
"403":
description: Update table visibility not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Table could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated the table
content:
application/json:
schema:
$ref: "#/components/schemas/TableBriefDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Update table visibility payload is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- table-endpoint
summary: Delete table
description: Deletes a table with id. Only the owner of a table can perform
this action (requires role `delete-table`) or anyone can delete a table (requires
role `delete-foreign-table`).
operationId: delete_5
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Access to the database is forbidden
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Delete table successfully
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Delete table query resulted in an invalid query statement
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Table, database or container could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table/{tableId}/statistic:
put:
tags:
- table-endpoint
summary: Update statistics
description: "Updates basic statistical properties (min, max, mean, median,\
\ std.dev) for numerical columns in a table with id. This action can only\
\ be performed by the table owner. Requires role `update-table-statistic`."
operationId: updateStatistic
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Failed to map column statistic to known columns
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database/table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not the owner
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated table statistics successfully
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table/{tableId}/column/{columnId}:
put:
tags:
- table-endpoint
summary: Update semantics
description: Updates column semantics of a table column with id. Only the table
owner with at least *READ* access to the associated database can update the
column semantics (requires role `modify-table-column-semantics`) or foreign
table columns if role `modify-foreign-table-column-semantics`.
operationId: updateColumn
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
- name: columnId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ColumnSemanticsUpdateDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Access to the database is forbidden
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find user/table/database/ontology in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated column semantics successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ColumnDto"
"400":
description: Update semantic concept query is malformed or update unit of
measurement query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/owner:
put:
tags:
- database-endpoint
summary: Update database owner
description: Updates the database with id on the owner. Only the database owner
can perform this operation. Requires role `modify-database-owner`.
operationId: transfer
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseTransferDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Transfer of ownership was successful
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"403":
description: Transfer of ownership is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database or user could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Owner payload is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/metadata/view:
put:
tags:
- database-endpoint
summary: Update database view schemas
description: Updates the database with id with generated metadata from view
that are not yet known to the database. Only the database owner can perform
this operation. Requires role `find-database`.
operationId: refreshViewMetadata
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Refreshed database views metadata
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"403":
description: Refresh view metadata is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/metadata/table:
put:
tags:
- database-endpoint
summary: Update database table schemas
description: Updates the database with id with generated metadata from tables
that are not yet known to the database. Only the database owner can perform
this operation. Requires role `find-database`.
operationId: refreshTableMetadata
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"403":
description: Not allowed to refresh table metadata
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to fin user/database in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Refreshed database tables metadata
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"400":
description: Failed to parse payload at search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/image:
get:
tags:
- database-endpoint
summary: Get database preview image
description: Gets the database with id on the preview image.
operationId: findPreviewImage
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"404":
description: Database or user could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: View of image was successful
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- database-endpoint
summary: Update database preview image
description: Updates the database with id on the preview image. Only the database
owner can perform this operation. Requires role `modify-database-image`.
operationId: modifyImage
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseModifyImageDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Modify of image was successful
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"410":
description: File was not found in the Storage Service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Modify of image is not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/user:
get:
tags:
- user-endpoint
summary: List users
description: "Lists users known to the metadata database. Internal users are\
\ omitted from the result list. If the optional query parameter `username`\
\ is present, the result list can be filtered by matching this exact username."
operationId: findAll
parameters:
- name: username
in: query
required: false
schema:
type: string
responses:
"200":
description: List users
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/UserBriefDto"
post:
tags:
- user-endpoint
summary: Create user
description: Creates a user in the auth service and metadata database. Requires
that no credentials are sent in the request.
operationId: create
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SignupRequestDto"
required: true
responses:
"403":
description: Internal authentication to the auth service is invalid
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Parameters are not well-formed (likely email)
content:
application/json: {}
"409":
description: User with username already exists
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"417":
description: User with e-mail already exists
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to create in auth service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Created user
content:
application/json:
schema:
$ref: "#/components/schemas/UserDto"
"502":
description: Failed to create in auth service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Default role not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
/api/ontology:
get:
tags:
- ontology-endpoint
summary: List ontologies
description: Lists all ontologies known to the metadata database.
operationId: findAll_2
responses:
"200":
description: List ontologies
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OntologyBriefDto"
post:
tags:
- ontology-endpoint
summary: Create ontology
description: Creates an ontology in the metadata database. Requires role `create-ontology`.
operationId: create_1
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/OntologyCreateDto"
required: true
responses:
"201":
description: Registered ontology successfully
content:
application/json:
schema:
$ref: "#/components/schemas/OntologyDto"
security:
- bearerAuth: []
- basicAuth: []
/api/message:
get:
tags:
- message-endpoint
summary: List messages
description: "Lists messages known to the metadata database. Messages can be\
\ filtered be filtered with the optional `active` parameter. If set to *true*,\
\ only active messages (that is, messages whose end time has not been reached)\
\ will be returned. Otherwise only inactive messages are returned. If not\
\ set, active and inactive messages are returned."
operationId: list_2
parameters:
- name: active
in: query
required: false
schema:
type: boolean
responses:
"200":
description: List messages
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/BannerMessageDto"
post:
tags:
- message-endpoint
summary: Create message
description: Creates a message in the metadata database. Requires role `create-maintenance-message`.
operationId: create_2
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/BannerMessageCreateDto"
required: true
responses:
"201":
description: Created message
content:
application/json:
schema:
$ref: "#/components/schemas/BannerMessageBriefDto"
security:
- bearerAuth: []
- basicAuth: []
/api/image:
get:
tags:
- image-endpoint
summary: List images
description: Lists all container images known to the metadata database.
operationId: findAll_3
responses:
"200":
description: List images
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ImageBriefDto"
post:
tags:
- image-endpoint
summary: Create image
description: Creates a container image in the metadata database. Requires role
`create-image`.
operationId: create_3
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ImageCreateDto"
required: true
responses:
"409":
description: Image already exists
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Image specification is invalid
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Created image
content:
application/json:
schema:
$ref: "#/components/schemas/ImageDto"
security:
- bearerAuth: []
- basicAuth: []
/api/identifier:
get:
tags:
- identifier-endpoint
summary: List identifiers
description: Lists all identifiers known to the metadata database
operationId: findAll_4
parameters:
- name: dbid
in: query
required: false
schema:
type: integer
format: int64
- name: qid
in: query
required: false
schema:
type: integer
format: int64
- name: vid
in: query
required: false
schema:
type: integer
format: int64
- name: tid
in: query
required: false
schema:
type: integer
format: int64
- name: Accept
in: header
required: true
schema:
type: string
responses:
"200":
description: Found identifiers successfully
content:
application/json:
schema:
type: array
items:
type: string
application/ld+json:
schema:
type: array
items:
$ref: "#/components/schemas/LdDatasetDto"
"406":
description: "Identifier could not be exported, the requested style is not\
\ known"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
post:
tags:
- identifier-endpoint
summary: Create identifier
description: Create an identifier with id to create a draft identifier. Identifiers
can only be created for objects the user has at least *READ* access in the
associated database (requires role `create-identifier`) or for any object
in any database (requires role `create-foreign-identifier`).
operationId: create_4
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierCreateDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Drafted identifier
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierDto"
"404":
description: "Failed to find database, table or view"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Identifier form contains invalid request data
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Insufficient access rights or authorities
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/view:
get:
tags:
- view-endpoint
summary: List views
description: Lists views known to the metadata database.
operationId: findAll_5
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
description: Find views successfully
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ViewBriefDto"
"404":
description: Database or user could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
post:
tags:
- view-endpoint
summary: Create view
description: Creates a view. This can only be performed by the database owner.
Requires role `create-database-view`.
operationId: create_6
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ViewCreateDto"
required: true
responses:
"423":
description: Create view resulted in an invalid query statement
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Create view successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ViewBriefDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Credentials missing
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database/user in metadata database.
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Create view query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table:
get:
tags:
- table-endpoint
summary: List tables
description: "Lists all tables known to the metadata database. When a database\
\ has a hidden schema (i.e. when `is_schema_public` is `false`), then the\
\ user needs to have at least read access and the role `list-tables`."
operationId: list_4
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"403":
description: List tables not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Database could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: List tables
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TableBriefDto"
security:
- bearerAuth: []
- basicAuth: []
post:
tags:
- table-endpoint
summary: Create table
description: Creates a table in the database with id. Requires role `create-table`.
operationId: create_7
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/TableCreateDto"
required: true
responses:
"502":
description: Connection to search service failed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Create table not permitted
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Created a new table
content:
application/json:
schema:
$ref: "#/components/schemas/TableBriefDto"
"409":
description: Create table conflicts with existing table name
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Database, container or user could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to save in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Create table query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/container:
get:
tags:
- container-endpoint
summary: List containers
description: List all containers in the metadata database.
operationId: findAll_6
parameters:
- name: limit
in: query
required: false
schema:
type: integer
format: int32
responses:
"200":
description: List containers
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ContainerBriefDto"
post:
tags:
- container-endpoint
summary: Create container
description: Creates a container in the metadata database. Requires role `create-container`.
operationId: create_9
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ContainerCreateDto"
required: true
responses:
"400":
description: Container payload malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Container image or user could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"409":
description: Container name already exists
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201":
description: Created a new container
content:
application/json:
schema:
$ref: "#/components/schemas/ContainerDto"
"403":
description: "Create container not permitted, need authority `create-container`"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/unit:
get:
tags:
- unit-endpoint
summary: List units
description: Lists units known to the metadata database.
operationId: findAll_1
responses:
"200":
description: Find all semantic units
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/UnitDto"
/api/ontology/{ontologyId}/entity:
get:
tags:
- ontology-endpoint
summary: Find entities
description: Finds semantic entities by label or uri in an ontology with id.
Requires role `execute-semantic-query`.
operationId: find_4
parameters:
- name: ontologyId
in: path
required: true
schema:
type: integer
format: int64
- name: label
in: query
required: false
schema:
type: string
- name: uri
in: query
required: false
schema:
type: string
responses:
"400":
description: Filter params are invalid
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found entities
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/EntityDto"
"404":
description: Could not find ontology
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"422":
description: Ontology does not have rdf or sparql endpoint
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"417":
description: Generated query or uri is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/oai:
get:
tags:
- metadata-endpoint
summary: Get record
operationId: identify_1_1_1_1
parameters:
- name: verb
in: query
- name: parameters
in: query
required: true
schema:
$ref: "#/components/schemas/OaiListIdentifiersParameters"
responses:
"200":
description: List containers
content:
text/xml: {}
/api/message/message/{messageId}:
get:
tags:
- message-endpoint
summary: Find message
description: Finds a message with id in the metadata database.
operationId: find_5
parameters:
- name: messageId
in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
description: Get messages
content:
application/json:
schema:
$ref: "#/components/schemas/BannerMessageDto"
"404":
description: Could not find message
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
/api/license:
get:
tags:
- license-endpoint
summary: List licenses
description: Lists licenses known to the metadata database.
operationId: list_3
responses:
"200":
description: List of licenses
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/LicenseDto"
/api/identifier/retrieve:
get:
tags:
- identifier-endpoint
summary: Retrieve PID metadata
description: "Retrieves Persistent Identifier (PID) metadata from external endpoints.\
\ Supported PIDs are: ORCID, ROR, DOI."
operationId: retrieve
parameters:
- name: url
in: query
required: true
schema:
type: string
responses:
"200":
description: Retrieved metadata from identifier
content:
application/json:
schema:
$ref: "#/components/schemas/IdentifierDto"
"404":
description: Failed to find metadata for identifier
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
/api/database/{databaseId}:
get:
tags:
- database-endpoint
summary: Find database
description: Finds a database with id.
operationId: findById_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
responses:
"503":
description: Failed to find queue information in broker service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"502":
description: Connection to the broker service could not be established
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Database found successfully
headers:
X-Username:
description: The authentication username
style: simple
Access-Control-Expose-Headers:
description: Expose custom headers
style: simple
X-Password:
description: The authentication password
style: simple
content:
application/json:
schema:
$ref: "#/components/schemas/DatabaseBriefDto"
"403":
description: Not allowed to view database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: "Database, user or exchange could not be found"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table/{tableId}/suggest:
get:
tags:
- table-endpoint
summary: Suggest semantics
description: Suggests semantic concepts for a table. This action can only be
performed by the table owner. Requires role `table-semantic-analyse`.
operationId: analyseTable
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
responses:
"417":
description: Generated query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"422":
description: Ontology does not have rdf or sparql endpoint
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Failed to parse statistic in search service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not the table owner.
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database/table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Suggested table semantics successfully
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/EntityDto"
security:
- bearerAuth: []
- basicAuth: []
/api/database/{databaseId}/table/{tableId}/column/{columnId}/suggest:
get:
tags:
- table-endpoint
summary: Suggest semantics
description: Suggests column semantics. Requires role `table-semantic-analyse`.
operationId: analyseTableColumn
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
- name: columnId
in: path
required: true
schema:
type: integer
format: int64
responses:
"400":
description: Generated query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"422":
description: Ontology does not have rdf or sparql endpoint
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Suggested table column semantics successfully
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TableColumnEntityDto"
"404":
description: Failed to find database/table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/container/{containerId}:
get:
tags:
- container-endpoint
summary: Find container
description: Finds a container in the metadata database.
operationId: findById_3
parameters:
- name: containerId
in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
description: Found container
content:
application/json:
schema:
$ref: "#/components/schemas/ContainerDto"
"404":
description: Container image could not be found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
delete:
tags:
- container-endpoint
summary: Delete container
description: Deletes a container in the metadata database. Requires role `delete-container`.
operationId: delete_6
parameters:
- name: containerId
in: path
required: true
schema:
type: integer
format: int64
responses:
"404":
description: Container not found
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted container
"403":
description: "Create container not permitted, need authority `delete-container`"
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- bearerAuth: []
- basicAuth: []
/api/concept:
get:
tags:
- concept-endpoint
summary: List concepts
description: List all semantic concepts known to the metadata database
operationId: findAll_7
responses:
"200":
description: List concepts
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ConceptDto"
components:
schemas:
DatabaseBriefDto:
required:
- contact
- id
- internal_name
- is_public
- is_schema_public
- name
- owner_id
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
description:
type: string
example: Air Quality
identifiers:
type: array
items:
$ref: "#/components/schemas/IdentifierBriefDto"
contact:
$ref: "#/components/schemas/UserBriefDto"
internal_name:
type: string
example: air_quality
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
owner_id:
type: string
format: uuid
preview_image:
type: string
IdentifierBriefDto:
required:
- created_by
- database_id
- id
- publication_year
- publisher
- titles
- type
type: object
properties:
id:
type: integer
format: int64
type:
type: string
enum:
- database
- subset
- table
- view
titles:
type: array
items:
$ref: "#/components/schemas/IdentifierTitleDto"
doi:
type: string
example: 10.1038/nphys1170
publisher:
type: string
example: TU Wien
status:
type: string
enum:
- draft
- published
database_id:
type: integer
format: int64
example: 1
query_id:
type: integer
format: int64
example: 1
table_id:
type: integer
format: int64
example: 1
view_id:
type: integer
format: int64
example: 1
publication_year:
type: integer
format: int32
example: 2022
created_by:
type: string
format: uuid
IdentifierTitleDto:
required:
- id
type: object
properties:
id:
type: integer
format: int64
title:
type: string
example: Airquality Demonstrator
language:
type: string
example: en
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
type:
type: string
enum:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
UserBriefDto:
required:
- id
- username
type: object
properties:
id:
type: string
format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
username:
type: string
description: Only contains lowercase characters
example: jcarberry
name:
type: string
example: Josiah Carberry
orcid:
type: string
example: 0000-0002-1825-0097
qualified_name:
type: string
example: Josiah Carberry — @jcarberry
given_name:
type: string
example: Josiah
family_name:
type: string
example: Carberry
ApiErrorDto:
required:
- code
- message
- status
type: object
properties:
status:
type: string
example: NOT_FOUND
enum:
- 100 CONTINUE
- 101 SWITCHING_PROTOCOLS
- 102 PROCESSING
- 103 EARLY_HINTS
- 103 CHECKPOINT
- 200 OK
- 201 CREATED
- 202 ACCEPTED
- 203 NON_AUTHORITATIVE_INFORMATION
- 204 NO_CONTENT
- 205 RESET_CONTENT
- 206 PARTIAL_CONTENT
- 207 MULTI_STATUS
- 208 ALREADY_REPORTED
- 226 IM_USED
- 300 MULTIPLE_CHOICES
- 301 MOVED_PERMANENTLY
- 302 FOUND
- 302 MOVED_TEMPORARILY
- 303 SEE_OTHER
- 304 NOT_MODIFIED
- 305 USE_PROXY
- 307 TEMPORARY_REDIRECT
- 308 PERMANENT_REDIRECT
- 400 BAD_REQUEST
- 401 UNAUTHORIZED
- 402 PAYMENT_REQUIRED
- 403 FORBIDDEN
- 404 NOT_FOUND
- 405 METHOD_NOT_ALLOWED
- 406 NOT_ACCEPTABLE
- 407 PROXY_AUTHENTICATION_REQUIRED
- 408 REQUEST_TIMEOUT
- 409 CONFLICT
- 410 GONE
- 411 LENGTH_REQUIRED
- 412 PRECONDITION_FAILED
- 413 PAYLOAD_TOO_LARGE
- 413 REQUEST_ENTITY_TOO_LARGE
- 414 URI_TOO_LONG
- 414 REQUEST_URI_TOO_LONG
- 415 UNSUPPORTED_MEDIA_TYPE
- 416 REQUESTED_RANGE_NOT_SATISFIABLE
- 417 EXPECTATION_FAILED
- 418 I_AM_A_TEAPOT
- 419 INSUFFICIENT_SPACE_ON_RESOURCE
- 420 METHOD_FAILURE
- 421 DESTINATION_LOCKED
- 422 UNPROCESSABLE_ENTITY
- 423 LOCKED
- 424 FAILED_DEPENDENCY
- 425 TOO_EARLY
- 426 UPGRADE_REQUIRED
- 428 PRECONDITION_REQUIRED
- 429 TOO_MANY_REQUESTS
- 431 REQUEST_HEADER_FIELDS_TOO_LARGE
- 451 UNAVAILABLE_FOR_LEGAL_REASONS
- 500 INTERNAL_SERVER_ERROR
- 501 NOT_IMPLEMENTED
- 502 BAD_GATEWAY
- 503 SERVICE_UNAVAILABLE
- 504 GATEWAY_TIMEOUT
- 505 HTTP_VERSION_NOT_SUPPORTED
- 506 VARIANT_ALSO_NEGOTIATES
- 507 INSUFFICIENT_STORAGE
- 508 LOOP_DETECTED
- 509 BANDWIDTH_LIMIT_EXCEEDED
- 510 NOT_EXTENDED
- 511 NETWORK_AUTHENTICATION_REQUIRED
message:
type: string
example: Error message
code:
type: string
example: error.service.code
DatabaseAccessDto:
required:
- type
- user
type: object
properties:
user:
$ref: "#/components/schemas/UserBriefDto"
type:
type: string
enum:
- read
- write_own
- write_all
UserUpdateDto:
required:
- language
- theme
type: object
properties:
firstname:
type: string
example: Josiah
lastname:
type: string
example: Carberry
affiliation:
type: string
example: Brown University
orcid:
type: string
example: 0000-0002-1825-0097
theme:
type: string
example: dark
language:
type: string
example: en
UserAttributesDto:
required:
- language
- theme
type: object
properties:
theme:
type: string
example: light
orcid:
type: string
example: https://orcid.org/0000-0002-1825-0097
affiliation:
type: string
example: Brown University
language:
type: string
example: en
UserDto:
required:
- attributes
- id
type: object
properties:
id:
type: string
format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
name:
type: string
example: Josiah Carberry
attributes:
$ref: "#/components/schemas/UserAttributesDto"
last_retrieved:
type: string
format: date-time
qualified_name:
type: string
example: Josiah Carberry — @jcarberry
given_name:
type: string
example: Josiah
family_name:
type: string
example: Carberry
UserPasswordDto:
required:
- password
type: object
properties:
password:
type: string
RefreshTokenRequestDto:
required:
- refresh_token
type: object
properties:
refresh_token:
type: string
example: refresh_token
TokenDto:
required:
- access_token
- expires_in
- id_token
- not-before-policy
- refresh_expires_in
- refresh_token
- scope
- session_state
- token_type
type: object
properties:
scope:
type: string
access_token:
type: string
expires_in:
type: integer
format: int64
refresh_token:
type: string
refresh_expires_in:
type: integer
format: int64
id_token:
type: string
session_state:
type: string
token_type:
type: string
not-before-policy:
type: integer
format: int64
OntologyModifyDto:
required:
- prefix
- uri
type: object
properties:
uri:
type: string
example: Ontology URI
prefix:
type: string
example: Ontology prefix
sparql_endpoint:
type: string
example: Ontology SPARQL endpoint
rdf_path:
type: string
example: rdf/om-2.0.rdf
OntologyDto:
required:
- id
- prefix
- rdf
- sparql
- uri
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
example: http://www.wikidata.org/
prefix:
type: string
example: wd
sparql:
type: boolean
example: true
rdf:
type: boolean
example: false
uri_pattern:
type: string
example: http://www.wikidata.org/entity/.*
sparql_endpoint:
type: string
example: https://query.wikidata.org/sparql
rdf_path:
type: string
example: rdf/om-2.0.rdf
BannerMessageUpdateDto:
required:
- message
- type
type: object
properties:
type:
type: string
enum:
- error
- warning
- info
message:
type: string
example: Maintenance starts on 8am on Monday
link:
type: string
example: https://example.com
link_text:
type: string
example: More
display_start:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
display_end:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
BannerMessageBriefDto:
required:
- message
- type
type: object
properties:
type:
type: string
enum:
- error
- warning
- info
message:
type: string
example: Maintenance starts on 8am on Monday
link:
type: string
example: https://example.com
link_text:
type: string
example: More
ImageChangeDto:
required:
- dialect
- driver_class
- jdbc_method
- registry
type: object
properties:
registry:
type: string
example: docker.io/library
defaultPort:
maximum: 65535
minimum: 1024
type: integer
format: int32
example: 5432
dialect:
type: string
example: Postgres
driver_class:
type: string
example: org.postgresql.Driver
jdbc_method:
type: string
example: postgresql
DataTypeDto:
required:
- display_name
- documentation
- is_buildable
- is_quoted
- value
type: object
properties:
value:
type: string
example: time
documentation:
type: string
example: https://mariadb.com/kb/en/time/
display_name:
type: string
example: TIME(fsp)
size_min:
type: integer
format: int32
example: 0
size_max:
type: integer
format: int32
example: 6
size_default:
type: integer
format: int32
example: 0
size_required:
type: boolean
example: false
d_min:
type: integer
format: int32
d_max:
type: integer
format: int32
d_default:
type: integer
format: int32
d_required:
type: boolean
data_hint:
type: string
example: "e.g. HH:MM:SS, HH:MM, HHMMSS, H:M:S"
type_hint:
type: string
example: "fsp=microsecond precision, min. 0, max. 6"
is_quoted:
type: boolean
description: frontend needs to quote this data type
example: false
is_buildable:
type: boolean
description: frontend can build this data type
example: true
ImageDto:
required:
- data_types
- default
- default_port
- dialect
- driver_class
- id
- jdbc_method
- name
- operators
- registry
- version
type: object
properties:
id:
type: integer
format: int64
registry:
type: string
example: docker.io/library
name:
type: string
example: mariadb
version:
type: string
example: "10.5"
dialect:
type: string
example: org.hibernate.dialect.MariaDBDialect
operators:
type: array
items:
$ref: "#/components/schemas/OperatorDto"
driver_class:
type: string
example: org.mariadb.jdbc.Driver
jdbc_method:
type: string
example: mariadb
default:
type: boolean
example: false
default_port:
type: integer
format: int32
example: 3306
data_types:
type: array
items:
$ref: "#/components/schemas/DataTypeDto"
OperatorDto:
required:
- display_name
- documentation
- value
type: object
properties:
id:
type: integer
format: int64
value:
type: string
example: XOR
documentation:
type: string
example: https://mariadb.com/kb/en/xor/
display_name:
type: string
example: XOR
CreatorSaveDto:
required:
- creator_name
- id
type: object
properties:
id:
type: integer
format: int64
example: 1
firstname:
type: string
example: Josiah
lastname:
type: string
example: Carberry
affiliation:
type: string
example: Wesleyan University
creator_name:
type: string
example: "Carberry, Josiah"
name_type:
type: string
example: Personal
enum:
- Personal
- Organizational
name_identifier:
type: string
example: 0000-0002-1825-0097
name_identifier_scheme:
type: string
example: ORCID
enum:
- ORCID
- ROR
- ISNI
- GRID
affiliation_identifier:
type: string
example: https://ror.org/04d836q62
affiliation_identifier_scheme:
type: string
example: ROR
enum:
- ROR
- GRID
- ISNI
IdentifierFunderSaveDto:
required:
- funder_name
- id
type: object
properties:
id:
type: integer
format: int64
example: 1
funder_name:
type: string
example: European Commission
funder_identifier:
type: string
example: http://doi.org/10.13039/501100000780
funder_identifier_type:
type: string
example: Crossref Funder ID
enum:
- Crossref Funder ID
- ROR
- GND
- ISNI
- Other
scheme_uri:
type: string
example: http://doi.org/
award_number:
type: string
example: "824087"
award_title:
type: string
example: EOSC-Life
IdentifierSaveDescriptionDto:
required:
- description
- id
type: object
properties:
id:
type: integer
format: int64
example: 1
description:
type: string
example: "Air quality reports at Stephansplatz, Vienna"
language:
type: string
example: en
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
type:
type: string
example: Abstract
enum:
- Abstract
- Methods
- SeriesInformation
- TableOfContents
- TechnicalInfo
- Other
IdentifierSaveDto:
required:
- creators
- database_id
- id
- publication_year
- publisher
- titles
- type
type: object
properties:
id:
type: integer
format: int64
example: 1
type:
type: string
example: database
enum:
- database
- subset
- table
- view
doi:
type: string
example: 10.1111/11111111
titles:
type: array
items:
$ref: "#/components/schemas/IdentifierSaveTitleDto"
descriptions:
type: array
items:
$ref: "#/components/schemas/IdentifierSaveDescriptionDto"
funders:
type: array
items:
$ref: "#/components/schemas/IdentifierFunderSaveDto"
licenses:
type: array
items:
$ref: "#/components/schemas/LicenseDto"
publisher:
type: string
example: TU Wien
language:
type: string
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
creators:
type: array
items:
$ref: "#/components/schemas/CreatorSaveDto"
database_id:
type: integer
format: int64
example: 1
query_id:
type: integer
format: int64
view_id:
type: integer
format: int64
table_id:
type: integer
format: int64
publication_day:
type: integer
format: int32
example: 15
publication_month:
type: integer
format: int32
example: 12
publication_year:
type: integer
format: int32
example: 2022
related_identifiers:
type: array
items:
$ref: "#/components/schemas/RelatedIdentifierSaveDto"
IdentifierSaveTitleDto:
required:
- id
- title
type: object
properties:
id:
type: integer
format: int64
example: 1
title:
type: string
example: Airquality Demonstrator
language:
type: string
example: en
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
type:
type: string
example: Subtitle
enum:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
LicenseDto:
required:
- identifier
- uri
type: object
properties:
identifier:
type: string
example: MIT
uri:
type: string
example: https://opensource.org/licenses/MIT
description:
type: string
example: "A short and simple permissive license with conditions only requiring\
\ preservation of copyright and license notices. Licensed works, modifications,\
\ and larger works may be distributed under different terms and without\
\ source code."
RelatedIdentifierSaveDto:
required:
- id
- relation
- type
- value
type: object
properties:
id:
type: integer
format: int64
example: 1
value:
type: string
example: 10.70124/dc4zh-9ce78
type:
type: string
example: DOI
enum:
- DOI
- URL
- URN
- ARK
- arXiv
- bibcode
- EAN13
- EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
type: string
example: Cites
enum:
- IsCitedBy
- Cites
- IsSupplementTo
- IsSupplementedBy
- IsContinuedBy
- Continues
- IsDescribedBy
- Describes
- HasMetadata
- IsMetadataFor
- HasVersion
- IsVersionOf
- IsNewVersionOf
- IsPreviousVersionOf
- IsPartOf
- HasPart
- IsPublishedIn
- IsReferencedBy
- References
- IsDocumentedBy
- Documents
- IsCompiledBy
- Compiles
- IsVariantFormOf
- IsOriginalFormOf
- IsIdenticalTo
- IsReviewedBy
- Reviews
- IsDerivedFrom
- IsSourceOf
- IsRequiredBy
- Requires
- IsObsoletedBy
- Obsoletes
CreatorDto:
required:
- creator_name
- id
type: object
properties:
id:
type: integer
format: int64
firstname:
type: string
example: Josiah
lastname:
type: string
example: Carberry
affiliation:
type: string
example: Brown University
creator_name:
type: string
example: "Carberry, Josiah"
name_type:
type: string
example: Personal
enum:
- Personal
- Organizational
name_identifier:
type: string
example: 0000-0002-1825-0097
name_identifier_scheme:
type: string
example: ORCID
enum:
- ORCID
- ROR
- ISNI
- GRID
name_identifier_scheme_uri:
type: string
example: https://orcid.org/
affiliation_identifier:
type: string
example: https://ror.org/05gq02987
affiliation_identifier_scheme:
type: string
example: ROR
enum:
- ROR
- GRID
- ISNI
affiliation_identifier_scheme_uri:
type: string
example: https://ror.org/
IdentifierDescriptionDto:
required:
- id
type: object
properties:
id:
type: integer
format: int64
description:
type: string
example: "Air quality reports at Stephansplatz, Vienna"
language:
type: string
example: en
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
type:
type: string
example: Abstract
enum:
- Abstract
- Methods
- SeriesInformation
- TableOfContents
- TechnicalInfo
- Other
IdentifierDto:
required:
- creators
- database_id
- id
- owner
- publication_year
- publisher
- query
- query_hash
- query_normalized
- titles
- type
type: object
properties:
id:
type: integer
format: int64
type:
type: string
enum:
- database
- subset
- table
- view
titles:
type: array
items:
$ref: "#/components/schemas/IdentifierTitleDto"
descriptions:
type: array
items:
$ref: "#/components/schemas/IdentifierDescriptionDto"
funders:
type: array
items:
$ref: "#/components/schemas/IdentifierFunderDto"
query:
type: string
example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
\ = \"09:STEF\""
execution:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
doi:
type: string
example: 10.1038/nphys1170
publisher:
type: string
example: TU Wien
owner:
$ref: "#/components/schemas/UserBriefDto"
language:
type: string
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
licenses:
type: array
items:
$ref: "#/components/schemas/LicenseDto"
creators:
type: array
items:
$ref: "#/components/schemas/CreatorDto"
status:
type: string
enum:
- draft
- published
database_id:
type: integer
format: int64
example: 1
query_id:
type: integer
format: int64
example: 1
table_id:
type: integer
format: int64
example: 1
view_id:
type: integer
format: int64
example: 1
query_normalized:
type: string
example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
\ = \"09:STEF\""
related_identifiers:
type: array
items:
$ref: "#/components/schemas/RelatedIdentifierDto"
query_hash:
type: string
description: query hash in sha512
result_hash:
type: string
example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5
result_number:
type: integer
format: int64
example: 1
publication_day:
type: integer
format: int32
example: 15
publication_month:
type: integer
format: int32
example: 12
publication_year:
type: integer
format: int32
example: 2022
IdentifierFunderDto:
required:
- funder_name
- id
type: object
properties:
id:
type: integer
format: int64
funder_name:
type: string
example: European Commission
funder_identifier:
type: string
example: http://doi.org/10.13039/501100000780
funder_identifier_type:
type: string
example: Crossref Funder ID
enum:
- Crossref Funder ID
- ROR
- GND
- ISNI
- Other
scheme_uri:
type: string
example: http://doi.org/
award_number:
type: string
example: "824087"
award_title:
type: string
example: EOSC-Life
RelatedIdentifierDto:
required:
- id
- relation
- type
- value
type: object
properties:
id:
type: integer
format: int64
value:
type: string
example: 10.70124/dc4zh-9ce78
type:
type: string
example: DOI
enum:
- DOI
- URL
- URN
- ARK
- arXiv
- bibcode
- EAN13
- EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
type: string
example: Cites
enum:
- IsCitedBy
- Cites
- IsSupplementTo
- IsSupplementedBy
- IsContinuedBy
- Continues
- IsDescribedBy
- Describes
- HasMetadata
- IsMetadataFor
- HasVersion
- IsVersionOf
- IsNewVersionOf
- IsPreviousVersionOf
- IsPartOf
- HasPart
- IsPublishedIn
- IsReferencedBy
- References
- IsDocumentedBy
- Documents
- IsCompiledBy
- Compiles
- IsVariantFormOf
- IsOriginalFormOf
- IsIdenticalTo
- IsReviewedBy
- Reviews
- IsDerivedFrom
- IsSourceOf
- IsRequiredBy
- Requires
- IsObsoletedBy
- Obsoletes
DatabaseModifyVisibilityDto:
required:
- is_public
- is_schema_public
type: object
properties:
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
ViewUpdateDto:
required:
- is_public
- is_schema_public
type: object
properties:
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
ViewColumnDto:
required:
- auto_generated
- database_id
- id
- internal_name
- is_null_allowed
- name
- ord
- type
type: object
properties:
id:
type: integer
format: int64
name:
maxLength: 64
minLength: 0
type: string
example: Date
size:
type: integer
format: int64
example: 255
d:
type: integer
format: int64
example: 0
description:
maxLength: 2048
minLength: 0
type: string
example: Column comment
database_id:
type: integer
format: int64
ord:
type: integer
format: int32
example: 0
internal_name:
maxLength: 64
minLength: 0
type: string
example: mdb_date
auto_generated:
type: boolean
example: false
index_length:
type: integer
format: int64
length:
type: integer
format: int64
type:
type: string
example: string
enum:
- char
- varchar
- binary
- varbinary
- tinyblob
- tinytext
- text
- blob
- mediumtext
- mediumblob
- longtext
- longblob
- enum
- set
- serial
- bit
- tinyint
- bool
- smallint
- mediumint
- int
- bigint
- float
- double
- decimal
- date
- datetime
- timestamp
- time
- year
is_null_allowed:
type: boolean
example: false
ViewDto:
required:
- columns
- database_id
- id
- internal_name
- name
- owner
- query
- query_hash
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
identifiers:
type: array
items:
$ref: "#/components/schemas/IdentifierDto"
query:
type: string
example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
owner:
$ref: "#/components/schemas/UserBriefDto"
columns:
type: array
items:
$ref: "#/components/schemas/ViewColumnDto"
last_retrieved:
type: string
format: date-time
database_id:
type: integer
format: int64
internal_name:
type: string
example: air_quality
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
initial_view:
type: boolean
description: True if it is the default view for the database
example: true
query_hash:
type: string
example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
TableUpdateDto:
required:
- is_public
- is_schema_public
type: object
properties:
description:
maxLength: 180
minLength: 0
type: string
example: Air Quality in Austria
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
TableBriefDto:
required:
- database_id
- id
- internal_name
- is_public
- is_schema_public
- is_versioned
- name
- owned_by
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
description:
type: string
example: Air Quality in Austria
database_id:
type: integer
format: int64
internal_name:
type: string
example: air_quality
is_versioned:
type: boolean
example: true
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
owned_by:
type: string
format: uuid
ColumnSemanticsUpdateDto:
type: object
properties:
concept_uri:
type: string
unit_uri:
type: string
ColumnDto:
required:
- database_id
- id
- internal_name
- is_null_allowed
- name
- ord
- table_id
- type
type: object
properties:
id:
type: integer
format: int64
example: 1
name:
maxLength: 64
minLength: 0
type: string
example: Given Name
alias:
type: string
example: firstname
size:
type: integer
format: int64
example: 255
d:
type: integer
format: int64
example: 0
mean:
type: number
example: 45.4
median:
type: number
example: 51
concept:
$ref: "#/components/schemas/ConceptBriefDto"
unit:
$ref: "#/components/schemas/UnitBriefDto"
description:
maxLength: 2048
minLength: 0
type: string
example: Column comment
enums:
type: array
items:
type: string
sets:
type: array
items:
type: string
database_id:
type: integer
format: int64
example: 2
table_id:
type: integer
format: int64
example: 3
ord:
type: integer
format: int32
example: 0
internal_name:
maxLength: 64
minLength: 0
type: string
example: given_name
index_length:
type: integer
format: int64
example: 255
length:
type: integer
format: int64
example: 255
type:
type: string
example: varchar
enum:
- char
- varchar
- binary
- varbinary
- tinyblob
- tinytext
- text
- blob
- mediumtext
- mediumblob
- longtext
- longblob
- enum
- set
- serial
- bit
- tinyint
- bool
- smallint
- mediumint
- int
- bigint
- float
- double
- decimal
- date
- datetime
- timestamp
- time
- year
data_length:
type: integer
format: int64
example: 34300
max_data_length:
type: integer
format: int64
example: 34300
num_rows:
type: integer
format: int64
example: 32
val_min:
type: number
example: 0
val_max:
type: number
example: 100
std_dev:
type: number
example: 5.32
is_null_allowed:
type: boolean
example: false
ConceptBriefDto:
required:
- id
- uri
type: object
properties:
id:
type: integer
format: int64
example: 23
uri:
type: string
example: http://www.wikidata.org/entity/Q202444
name:
type: string
example: given name
description:
type: string
example: "name typically used to differentiate people from the same family,\
\ clan, or other social group who have a common last name"
UnitBriefDto:
required:
- id
- uri
type: object
properties:
id:
type: integer
format: int64
example: 34
uri:
type: string
example: http://www.wikidata.org/entity/Q1422583
name:
type: string
example: importance
description:
type: string
example: "subjective magnitude of value, meaning, or purpose"
DatabaseTransferDto:
required:
- id
type: object
properties:
id:
type: string
format: uuid
DatabaseModifyImageDto:
type: object
properties:
key:
type: string
UpdateDatabaseAccessDto:
required:
- type
type: object
properties:
type:
type: string
enum:
- read
- write_own
- write_all
SignupRequestDto:
required:
- email
- password
- username
type: object
properties:
username:
pattern: "^[a-z0-9]{3,}$"
type: string
example: user
email:
type: string
example: user@example.com
password:
type: string
LoginRequestDto:
required:
- password
- username
type: object
properties:
username:
type: string
example: user
password:
type: string
OntologyCreateDto:
required:
- prefix
- uri
type: object
properties:
uri:
type: string
example: Ontology URI
prefix:
type: string
example: Ontology prefix
sparql_endpoint:
type: string
example: Ontology SPARQL endpoint
BannerMessageCreateDto:
required:
- message
- type
type: object
properties:
type:
type: string
enum:
- error
- warning
- info
message:
type: string
example: Maintenance starts on 8am on Monday
link:
type: string
example: https://example.com
link_text:
type: string
example: More
display_start:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
display_end:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
ImageCreateDto:
required:
- default_port
- dialect
- driver_class
- is_default
- jdbc_method
- name
- registry
- version
type: object
properties:
registry:
type: string
example: docker.io/library
name:
type: string
example: mariadb
version:
type: string
dialect:
type: string
is_default:
type: boolean
example: false
driver_class:
type: string
jdbc_method:
type: string
default_port:
maximum: 65535
minimum: 1024
type: integer
format: int32
IdentifierCreateDto:
required:
- creators
- database_id
- publication_year
- publisher
- titles
- type
type: object
properties:
type:
type: string
example: database
enum:
- database
- subset
- table
- view
doi:
type: string
example: 10.1111/11111111
titles:
type: array
items:
$ref: "#/components/schemas/IdentifierSaveTitleDto"
descriptions:
type: array
items:
$ref: "#/components/schemas/IdentifierSaveDescriptionDto"
funders:
type: array
items:
$ref: "#/components/schemas/IdentifierFunderSaveDto"
licenses:
type: array
items:
$ref: "#/components/schemas/LicenseDto"
publisher:
type: string
example: TU Wien
language:
type: string
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- km
- ch
- ce
- ny
- zh
- cu
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- dz
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gd
- gl
- lg
- ka
- de
- ki
- el
- kl
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- is
- io
- ig
- id
- ia
- ie
- iu
- ik
- ga
- it
- ja
- jv
- kn
- kr
- ks
- kk
- rw
- kv
- kg
- ko
- kj
- ku
- ky
- lo
- la
- lv
- lb
- li
- ln
- lt
- lu
- mk
- mg
- ms
- ml
- mt
- gv
- mi
- mr
- mh
- ro
- mn
- na
- nv
- nd
- ng
- ne
- se
- "no"
- nb
- nn
- ii
- oc
- oj
- or
- om
- os
- pi
- pa
- ps
- fa
- pl
- pt
- qu
- rm
- rn
- ru
- sm
- sg
- sa
- sc
- sr
- sn
- sd
- si
- sk
- sl
- so
- st
- nr
- es
- su
- sw
- ss
- sv
- tl
- ty
- tg
- ta
- tt
- te
- th
- bo
- ti
- to
- ts
- tn
- tr
- tk
- tw
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- fy
- wo
- xh
- yi
- yo
- za
- zu
creators:
type: array
items:
$ref: "#/components/schemas/CreatorSaveDto"
database_id:
type: integer
format: int64
example: 1
query_id:
type: integer
format: int64
view_id:
type: integer
format: int64
table_id:
type: integer
format: int64
publication_day:
type: integer
format: int32
example: 15
publication_month:
type: integer
format: int32
example: 12
publication_year:
type: integer
format: int32
example: 2022
related_identifiers:
type: array
items:
$ref: "#/components/schemas/RelatedIdentifierSaveDto"
DatabaseCreateDto:
required:
- container_id
- is_public
- is_schema_public
- name
type: object
properties:
name:
type: string
example: Air Quality
container_id:
type: integer
format: int64
example: 1
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
ViewCreateDto:
required:
- is_public
- is_schema_public
- name
- query
type: object
properties:
name:
maxLength: 63
minLength: 1
type: string
example: Air Quality
query:
type: string
example: SELECT `id` FROM `air_quality`
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
ViewBriefDto:
required:
- database_id
- id
- internal_name
- name
- query
- query_hash
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
query:
type: string
example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
database_id:
type: integer
format: int64
internal_name:
type: string
example: air_quality
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
initial_view:
type: boolean
description: True if it is the default view for the database
example: true
query_hash:
type: string
example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
owned_by:
type: string
format: uuid
ColumnCreateDto:
required:
- name
- null_allowed
- type
type: object
properties:
name:
type: string
example: Date
type:
type: string
example: string
enum:
- char
- varchar
- binary
- varbinary
- tinyblob
- tinytext
- text
- blob
- mediumtext
- mediumblob
- longtext
- longblob
- enum
- set
- serial
- bit
- tinyint
- bool
- smallint
- mediumint
- int
- bigint
- float
- double
- decimal
- date
- datetime
- timestamp
- time
- year
size:
type: integer
format: int64
example: 255
d:
type: integer
format: int64
example: 0
description:
maxLength: 2048
minLength: 0
type: string
example: Formatted as YYYY-MM-dd
enums:
type: array
description: "enum values, only considered when type = ENUM"
items:
type: string
description: "enum values, only considered when type = ENUM"
sets:
type: array
description: "set values, only considered when type = SET"
items:
type: string
description: "set values, only considered when type = SET"
index_length:
type: integer
format: int64
null_allowed:
type: boolean
example: true
concept_uri:
type: string
unit_uri:
type: string
ConstraintsCreateDto:
required:
- checks
- foreign_keys
- primary_key
- uniques
type: object
properties:
uniques:
type: array
items:
type: array
items:
type: string
checks:
uniqueItems: true
type: array
items:
type: string
foreign_keys:
type: array
items:
$ref: "#/components/schemas/ForeignKeyCreateDto"
primary_key:
uniqueItems: true
type: array
items:
type: string
ForeignKeyCreateDto:
required:
- columns
- referenced_columns
- referenced_table
type: object
properties:
columns:
type: array
items:
type: string
referenced_table:
type: string
referenced_columns:
type: array
items:
type: string
on_update:
type: string
enum:
- restrict
- cascade
- set_null
- no_action
- set_default
on_delete:
type: string
enum:
- restrict
- cascade
- set_null
- no_action
- set_default
TableCreateDto:
required:
- columns
- constraints
- is_public
- is_schema_public
- name
type: object
properties:
name:
maxLength: 64
minLength: 1
type: string
example: Air Quality
description:
maxLength: 180
minLength: 0
type: string
example: Air Quality in Austria
columns:
type: array
items:
$ref: "#/components/schemas/ColumnCreateDto"
constraints:
$ref: "#/components/schemas/ConstraintsCreateDto"
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
ContainerCreateDto:
required:
- host
- image_id
- name
- privileged_password
- privileged_username
- quota
type: object
properties:
name:
type: string
example: Air Quality
host:
type: string
description: Hostname of container
port:
type: integer
description: Port of container
format: int32
quota:
type: integer
format: int64
example: 50
image_id:
type: integer
description: Image ID
format: int64
ui_host:
type: string
ui_port:
type: integer
format: int32
privileged_username:
type: string
description: Username of privileged user
example: root
privileged_password:
type: string
description: Password of privileged user
ContainerDto:
required:
- count
- id
- image
- internal_name
- name
- quota
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
image:
$ref: "#/components/schemas/ImageDto"
quota:
type: integer
format: int64
example: 50
count:
type: integer
format: int64
example: 10
last_retrieved:
type: string
format: date-time
internal_name:
type: string
example: data-db
ui_host:
type: string
ui_port:
type: integer
format: int32
ColumnBriefDto:
required:
- column_type
- database_id
- id
- internal_name
- name
- table_id
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: date
alias:
type: string
database_id:
type: integer
format: int64
table_id:
type: integer
format: int64
internal_name:
type: string
example: mdb_date
column_type:
type: string
example: date
enum:
- char
- varchar
- binary
- varbinary
- tinyblob
- tinytext
- text
- blob
- mediumtext
- mediumblob
- longtext
- longblob
- enum
- set
- serial
- bit
- tinyint
- bool
- smallint
- mediumint
- int
- bigint
- float
- double
- decimal
- date
- datetime
- timestamp
- time
- year
UnitDto:
required:
- columns
- id
- uri
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
name:
type: string
description:
type: string
columns:
type: array
items:
$ref: "#/components/schemas/ColumnBriefDto"
OntologyBriefDto:
required:
- id
- prefix
- rdf
- sparql
- uri
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
example: http://www.wikidata.org/
prefix:
type: string
example: wd
sparql:
type: boolean
example: true
rdf:
type: boolean
example: false
uri_pattern:
type: string
example: http://www.wikidata.org/entity/.*
EntityDto:
required:
- label
- uri
type: object
properties:
uri:
type: string
example: https://www.wikidata.org/entity/Q1686799
label:
type: string
example: Apache Jena
description:
type: string
example: open source semantic web framework for Java
OaiListIdentifiersParameters:
type: object
properties:
metadataPrefix:
type: string
from:
type: string
until:
type: string
set:
type: string
resumptionToken:
type: string
fromDate:
type: string
format: date-time
untilDate:
type: string
format: date-time
parametersString:
type: string
BannerMessageDto:
required:
- id
- message
- type
type: object
properties:
id:
type: integer
format: int64
type:
type: string
enum:
- error
- warning
- info
message:
type: string
example: Maintenance starts on 8am on Monday
link:
type: string
example: https://example.com
link_text:
type: string
example: More
display_start:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
display_end:
type: string
format: date-time
example: 2021-03-12T15:26:21Z
ImageBriefDto:
required:
- default
- id
- jdbc_method
- name
- version
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: mariadb
version:
type: string
example: "10.5"
jdbc_method:
type: string
example: mariadb
default:
type: boolean
example: false
LdCreatorDto:
required:
- '@type'
- name
type: object
properties:
name:
type: string
sameAs:
type: string
givenName:
type: string
familyName:
type: string
'@type':
type: string
LdDatasetDto:
required:
- '@context'
- '@type'
- citation
- creator
- description
- hasPart
- identifier
- name
- temporalCoverage
- url
- version
type: object
properties:
name:
type: string
description:
type: string
url:
type: string
identifier:
type: array
items:
type: string
license:
type: string
creator:
type: array
items:
$ref: "#/components/schemas/LdCreatorDto"
citation:
type: string
hasPart:
type: array
items:
$ref: "#/components/schemas/LdDatasetDto"
temporalCoverage:
type: string
version:
type: string
format: date-time
'@context':
type: string
'@type':
type: string
ConstraintsDto:
type: object
properties:
uniques:
type: array
items:
$ref: "#/components/schemas/UniqueDto"
checks:
uniqueItems: true
type: array
items:
type: string
foreign_keys:
type: array
items:
$ref: "#/components/schemas/ForeignKeyDto"
primary_key:
uniqueItems: true
type: array
items:
$ref: "#/components/schemas/PrimaryKeyDto"
ForeignKeyBriefDto:
type: object
properties:
id:
type: integer
format: int64
ForeignKeyDto:
required:
- name
- referenced_table
- references
- table
type: object
properties:
id:
type: integer
format: int64
name:
type: string
references:
type: array
items:
$ref: "#/components/schemas/ForeignKeyReferenceDto"
table:
$ref: "#/components/schemas/TableBriefDto"
referenced_table:
$ref: "#/components/schemas/TableBriefDto"
on_update:
type: string
enum:
- restrict
- cascade
- set_null
- no_action
- set_default
on_delete:
type: string
enum:
- restrict
- cascade
- set_null
- no_action
- set_default
ForeignKeyReferenceDto:
required:
- column
- foreign_key
- referenced_column
type: object
properties:
id:
type: integer
format: int64
column:
$ref: "#/components/schemas/ColumnBriefDto"
foreign_key:
$ref: "#/components/schemas/ForeignKeyBriefDto"
referenced_column:
$ref: "#/components/schemas/ColumnBriefDto"
PrimaryKeyDto:
required:
- column
- table
type: object
properties:
id:
type: integer
format: int64
table:
$ref: "#/components/schemas/TableBriefDto"
column:
$ref: "#/components/schemas/ColumnBriefDto"
TableDto:
required:
- columns
- constraints
- database_id
- id
- internal_name
- is_public
- is_schema_public
- is_versioned
- name
- owner
- queue_name
- routing_key
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: Air Quality
alias:
type: string
identifiers:
type: array
items:
$ref: "#/components/schemas/IdentifierDto"
owner:
$ref: "#/components/schemas/UserBriefDto"
description:
maxLength: 2048
minLength: 0
type: string
example: Air Quality in Austria
columns:
type: array
items:
$ref: "#/components/schemas/ColumnDto"
constraints:
$ref: "#/components/schemas/ConstraintsDto"
last_retrieved:
type: string
format: date-time
database_id:
type: integer
format: int64
internal_name:
type: string
example: air_quality
is_versioned:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
queue_name:
type: string
example: air_quality
queue_type:
type: string
example: quorum
routing_key:
type: string
example: dbrepo.1.2
is_public:
type: boolean
example: true
num_rows:
type: integer
format: int64
example: 5
data_length:
type: integer
description: in bytes
format: int64
example: 16384
max_data_length:
type: integer
description: in bytes
format: int64
example: 0
avg_row_length:
type: integer
description: in bytes
format: int64
example: 3276
UniqueDto:
required:
- columns
- id
- name
- table
type: object
properties:
id:
type: integer
format: int64
name:
type: string
table:
$ref: "#/components/schemas/TableBriefDto"
columns:
type: array
items:
$ref: "#/components/schemas/ColumnDto"
TableColumnEntityDto:
required:
- column_id
- database_id
- table_id
- uri
type: object
properties:
uri:
type: string
example: https://www.wikidata.org/entity/Q1686799
label:
type: string
example: Apache Jena
description:
type: string
example: open source semantic web framework for Java
database_id:
type: integer
format: int64
example: 1
table_id:
type: integer
format: int64
example: 1
column_id:
type: integer
format: int64
example: 1
ContainerBriefDto:
required:
- count
- hash
- id
- image
- internal_name
- name
- quota
type: object
properties:
id:
type: integer
format: int64
hash:
type: string
example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50
name:
type: string
example: Air Quality
image:
$ref: "#/components/schemas/ImageBriefDto"
quota:
type: integer
format: int32
example: 50
count:
type: integer
format: int32
example: 10
internal_name:
type: string
example: air-quality
ConceptDto:
required:
- columns
- id
- uri
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
name:
type: string
description:
type: string
columns:
type: array
items:
$ref: "#/components/schemas/ColumnBriefDto"
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT