Data Connect Hub REST API (0.1.0)

Download OpenAPI specification:

License: Apache-2.0

REST API for managing data connections and connection types.

connections

Data connection management

List connections

Authorizations:
tenantHeader

Responses

Response samples

Content type
application/json
{
  • "total_count": 0,
  • "items": [
    ]
}

Create a connection

Accepts two payload variants (untagged union): use credentials_ref to reference an existing secret, or credentials to supply inline credentials (the server creates the secret automatically).

Authorizations:
tenantHeader
Request Body schema: application/json
required
One of
name
required
string
data_connection_type_id
required
string

References a connection type id

format
required
string (DataFormat)
Enum: "tabular" "binary"
required
object (CredentialsRef)

Reference to an existing Kubernetes secret containing credentials.

required
object

Responses

Request samples

Content type
application/json
Example
{
  • "name": "my-postgres",
  • "data_connection_type_id": "550e8400-e29b-41d4-a716-446655440000",
  • "format": "tabular",
  • "credentials_ref": {
    },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Get a connection

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Update a connection

Partially updates a connection using JSON Merge Patch (RFC 7396). Supply only the fields you want to change; omitted fields are left unchanged.

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Request Body schema: application/merge-patch+json
required
name
string
data_connection_type_id
string
format
string (DataFormat)
Enum: "tabular" "binary"
object (CredentialsRef)

Reference to an existing Kubernetes secret containing credentials.

object

Responses

Request samples

Content type
application/merge-patch+json
{
  • "name": "string",
  • "data_connection_type_id": "string",
  • "format": "tabular",
  • "credentials_ref": {
    },
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Delete a connection

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Responses

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

Export a connection to a Kubernetes secret

Flattens the connection metadata, properties, and credentials into a single Kubernetes secret with dot-notation keys (e.g. data_connection.name, data_connection.properties.host). If the secret already exists it is overwritten.

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

secret_name
required
string

Name of the Kubernetes secret to create or overwrite

Responses

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

Check connection readiness

Validates that the connection's credentials secret exists, matches the connection type schema, and that the data source is reachable. Updates the connection status accordingly.

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Responses

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

Download binary data from a connection

Streams binary data (files, objects) from a data connection. The file path is connector-specific: for S3 it is an object key within the configured bucket, for URI connectors it is a relative URL path joined to the base URI. Only connectors that support binary reads (currently S3 and URI) will return data; all others respond with 501.

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

query Parameters
path
required
string
Example: path=models/model.bin

File path or object key to download

Responses

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

connection-types

Connection type definitions

List connection types

Authorizations:
tenantHeader

Responses

Response samples

Content type
application/json
{
  • "total_count": 0,
  • "items": [
    ]
}

Create a connection type

Authorizations:
tenantHeader
Request Body schema: application/json
required
name
required
string
provider
required
string
description
string or null
required
Array of objects (Field)

Responses

Request samples

Content type
application/json
{
  • "name": "PostgreSQL",
  • "provider": "postgres",
  • "description": "string",
  • "credentials_fields": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Get a connection type

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Update a connection type

Partially updates a connection type using JSON Merge Patch (RFC 7396). Supply only the fields you want to change; omitted fields are left unchanged.

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Request Body schema: application/merge-patch+json
required
name
string
provider
string
description
string or null
Array of objects (Field)

Responses

Request samples

Content type
application/merge-patch+json
{
  • "name": "string",
  • "provider": "string",
  • "description": "string",
  • "credentials_fields": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "resource": {
    },
  • "status": {
    }
}

Delete a connection type

Authorizations:
tenantHeader
path Parameters
id
required
string

Resource unique identifier

Responses

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

test

Test operations

Test credentials against a data source

Tests the provided credentials by attempting to connect to the data source without creating any resources.

Authorizations:
tenantHeader
Request Body schema: application/json
required
data_connection_type_id
required
string

Connection type id to test against

required
object

Credential key-value pairs to test

Responses

Request samples

Content type
application/json
{
  • "data_connection_type_id": "550e8400-e29b-41d4-a716-446655440000",
  • "secret": {
    }
}

Response samples

Content type
application/json
{
  • "code": "bad_request",
  • "message": "Invalid request: missing required field 'name'"
}

Health check

Responses

Response samples

Content type
application/json
{
  • "service": "Data Connect Hub"
}