REST API reference
This page details the TDK REST API endpoints available.
openapi: 3.0.1
info:
title: "Testing suite common API"
description: |
Test
version: "0.1"
x-package: io.synthesized.api
paths: {}
components:
schemas:
TableConfig:
description: "[TableConfig] is equivalent to [UserTableConfig] but with all parameters must set,
it doesn't accept null values."
type: object
nullable: false
x-extends:
- java.io.Serializable
properties:
table:
$ref: "#/components/schemas/Table"
mode:
$ref: "userconfig.yaml#/components/schemas/TransformationMode"
transformations:
type: array
items:
$ref: "userconfig.yaml#/components/schemas/ColumnTransformationParams"
nullable: false
target_ratio:
type: number
format: double
nullable: true
target_row_number:
type: integer
format: int64
nullable: true
cycle_breaker_references:
type: array
nullable: false
items:
type: string
nullable: false
default: [ ]
target_count:
type: integer
format: int64
nullable: false
default: 0
insert_batch_size:
type: integer
nullable: false
use_working_directory:
type: boolean
nullable: false
filter:
type: string
in_memory_filter_threshold:
type: integer
nullable: false
DataType:
type: object
title: DataTypeDTO
nullable: false
x-extends:
- java.io.Serializable
properties:
type_name:
type: string
nullable: false
sql_type_name:
type: string
default: 'null'
length:
type: integer
default: 'null'
precision:
type: integer
default: 'null'
scale:
type: integer
default: 'null'
nullable:
type: boolean
default: true
nullable: false
is_user_defined:
type: boolean
nullable: false
default: false
is_computed:
type: boolean
nullable: false
default: false
is_enum:
type: boolean
nullable: false
default: false
has_explicit_size:
description: "If the value is false, a datatype doesn't have explicit scale, precision or length in a
SQL definition"
type: boolean
nullable: false
default: true
Field:
type: object
title: Field
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
database_id:
type: string
nullable: false
database_name:
type: string
nullable: true
default: null
schema:
type: string
table:
type: string
nullable: false
data_type:
$ref: "#/components/schemas/DataType"
external_meta:
$ref: "#/components/schemas/ExternalFieldMeta"
ForeignKey:
type: object
title: ForeignKey
x-extends:
- java.io.Serializable
properties:
database_id:
type: string
nullable: false
database_name:
type: string
nullable: true
default: null
schema:
type: string
table:
type: string
nullable: false
name:
type: string
nullable: false
fields:
type: array
items:
type: string
nullable: false
referred_name:
type: string
nullable: true
referred_database_id:
type: string
nullable: false
referred_database_name:
type: string
nullable: true
default: null
referred_schema:
type: string
referred_table:
type: string
referred_fields:
type: array
items:
type: string
nullable: false
meta_source:
$ref: "#/components/schemas/MetaSource"
delete_referential_action:
$ref: "#/components/schemas/ReferentialAction"
update_referential_action:
$ref: "#/components/schemas/ReferentialAction"
PrimaryKey:
type: object
title: PrimaryKey
x-extends:
- java.io.Serializable
properties:
database_id:
type: string
nullable: false
database_name:
type: string
nullable: true
default: null
schema:
type: string
table:
type: string
nullable: false
name:
type: string
nullable: false
fields:
type: array
items:
type: string
nullable: false
UniqueKey:
type: object
title: UniqueKey
x-extends:
- java.io.Serializable
properties:
database_id:
type: string
nullable: false
database_name:
type: string
nullable: true
default: null
schema:
type: string
table:
type: string
nullable: false
name:
type: string
nullable: false
fields:
type: array
items:
type: string
nullable: false
Procedure:
type: object
title: Procedure
nullable: false
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
schema:
type: string
Function:
type: object
title: Procedure
nullable: false
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
schema:
type: string
UserType:
type: object
title: User type
nullable: false
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
schema:
type: string
Trigger:
type: object
title: Trigger
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
is_enabled:
type: boolean
nullable: false
Table:
type: object
title: Table
nullable: false
x-extends:
- java.io.Serializable
properties:
name:
type: string
nullable: false
fields:
type: array
items:
$ref: '#/components/schemas/Field'
nullable: false
database_id:
type: string
nullable: false
database_name:
type: string
nullable: true
default: null
schema:
type: string
indexes:
type: array
items:
type:
string
nullable: false
default: []
triggers:
type: array
items:
$ref: '#/components/schemas/Trigger'
nullable: false
default: [ ]
primary_key:
$ref: "#/components/schemas/PrimaryKey"
foreign_keys:
type: array
items:
$ref: '#/components/schemas/ForeignKey'
nullable: false
default: []
unique_keys:
type: array
items:
$ref: '#/components/schemas/UniqueKey'
nullable: false
default: []
identity_column:
description: >
The name of IDENTITY column, if this table has one, null otherwise.
type: string
nullable: true
default: null
external_meta:
$ref: "#/components/schemas/ExternalTableMeta"
SQLDialect:
enum:
- POSTGRES
- MYSQL
- MARIADB
- SQLITE
- ORACLE
- MSSQL
- H2
- DB2
- SNOWFLAKE
- CSV
ReferentialAction:
enum:
- NO_ACTION
- CASCADE
- SET_NULL
- SET_DEFAULT
Database:
type: object
title: Database
properties:
id:
description: "Database Id"
type: string
nullable: false
name:
description: "Database name (if exists)"
type: string
nullable: true
default: null
dialect:
$ref: "#/components/schemas/SQLDialect"
schemas:
type: array
nullable: false
items:
type: string
tables:
description: "Tables in the database"
type: array
nullable: false
items:
$ref: "#/components/schemas/Table"
default: []
views:
type: array
nullable: false
items:
type: string
default: []
procedures:
description: "Procedures in the database"
type: array
nullable: false
items:
$ref: "#/components/schemas/Procedure"
default: [ ]
functions:
description: "Functions in the database"
type: array
nullable: false
items:
$ref: "#/components/schemas/Function"
default: [ ]
user_types:
description: "User types in the database"
type: array
nullable: false
items:
$ref: "#/components/schemas/UserType"
default: [ ]
users:
type: array
nullable: false
items:
type: string
default: []
DatabaseConnection:
type: object
title: DatabaseConnection
nullable: false
properties:
jdbc_url:
type: string
nullable: false
user:
$ref: 'inventory.yaml#/components/schemas/Credentials'
password:
$ref: 'inventory.yaml#/components/schemas/Credentials'
sql_dialect:
$ref: '#/components/schemas/SQLDialect'
spawned_id:
description: Spawned database UUID (if this database is temporary)
type: string
ExternalFieldMeta:
nullable: true
default: null
type: object
properties:
classifiers:
type: array
nullable: false
items:
type: string
default: []
ExternalTableMeta:
nullable: true
default: null
type: object
properties:
sensitivity_tags:
type: array
nullable: false
items:
$ref: "#/components/schemas/SensitivityTag"
default: []
SensitivityTag:
nullable: true
type: object
properties:
group:
type: string
nullable: false
level:
type: string
nullable: false
MetaSource:
nullable: false
enum:
- DATABASE
- CONFIG
ValidationResult:
type: object
title: ValidationResultDTO
nullable: false
properties:
failed:
type: boolean
nullable: false
messages:
type: array
nullable: false
items:
type: string
default: [ ]