Artie Connectors API
The Connectors API from Artie — 14 operation(s) for connectors.
The Connectors API from Artie — 14 operation(s) for connectors.
openapi: 3.1.0
info:
description: External API endpoints for Artie
title: Artie Column Hashing Salts Connectors API
version: v1.0.51
servers:
- url: https://api.artie.com
security:
- ApiKey: []
tags:
- name: Connectors
paths:
/connectors:
post:
description: Creates a new source or destination connector for your Artie deployment. Configure database connections, authentication, and replication settings programmatically.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorPayload'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsFullConnector'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Create a connector
tags:
- Connectors
/connectors/{uuid}:
delete:
description: Permanently removes a connector and its associated configuration. This stops any active replication pipelines that depend on the connector.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Delete a connector
tags:
- Connectors
get:
description: Retrieves the full configuration and status of a connector by its unique identifier, including connection settings and current replication state.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsFullConnector'
description: OK
'404':
description: Not Found
'500':
description: Internal Server Error
summary: Get a connector
tags:
- Connectors
post:
description: Updates the configuration of an existing source or destination connector. Modify connection settings, credentials, or replication parameters for a running pipeline.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorPayload'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsFullConnector'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Update a connector
tags:
- Connectors
/connectors/{uuid}/detail:
get:
description: Returns detailed metadata for a specific table on the saved connector. Requires 'schemaName' and 'tableName' query parameters; 'isView' is optional.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorTableDetailResponse'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Fetch table detail for a saved connector
tags:
- Connectors
/connectors/{uuid}/generate-shadow-script:
post:
description: Generates the SQL script to create shadow tables required for Oracle change data capture (CDC). Run this script on your Oracle source before starting replication.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorGenerateShadowScriptRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorGenerateShadowScriptResponse'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Generate Oracle shadow table script
tags:
- Connectors
/connectors/{uuid}/postgres-drop-replication-slot:
post:
description: Drops a PostgreSQL replication slot that is inactive or orphaned. Use this to clean up stale replication slots that may be preventing WAL cleanup on the source.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorDropReplicationSlotRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
'404':
description: Not Found
'500':
description: Internal Server Error
summary: Drop a PostgreSQL replication slot
tags:
- Connectors
/connectors/{uuid}/start-dynamodb-export:
post:
description: Initiates a point-in-time export from Amazon DynamoDB for the specified connector. Use this to backfill your destination with existing DynamoDB table data.
parameters:
- in: path
name: uuid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorStartDynamoDBExportRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorStartDynamoDBExportResponse'
description: OK
'500':
description: Internal Server Error
summary: Start a DynamoDB export
tags:
- Connectors
/connectors/databases:
post:
description: Lists available databases on the target using an unsaved connector configuration. Useful during connector setup to discover existing databases. Response metadata may include Iceberg S3 table bucket maintenance defaults.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorPayload'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorFetchDatabasesResponse'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Fetch databases for an unsaved connector
tags:
- Connectors
/connectors/new-database:
post:
description: Creates a new database on the target destination using a connector configuration that has not yet been saved. Useful during initial setup to prepare the destination.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorCreateDatabaseRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Create a database on an unsaved connector
tags:
- Connectors
/connectors/new-schema:
post:
description: Creates a new schema on the target destination using a connector configuration that has not yet been saved. Useful during initial setup to organize destination tables.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorCreateSchemaRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Create a schema on an unsaved connector
tags:
- Connectors
/connectors/new-snowflake-warehouse:
post:
description: Creates a new Snowflake virtual warehouse using an unsaved connector configuration. Useful during initial setup to provision compute resources for data replication.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorCreateSnowflakeWarehouseRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Create a Snowflake warehouse on an unsaved connector
tags:
- Connectors
/connectors/ping:
post:
description: Tests network connectivity and authentication for a connector configuration before saving it. Use this to validate connection settings during connector setup.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadsConnectorPayload'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorPingResponse'
description: OK
'204':
description: No Content
'400':
description: Bad Request
summary: Ping a connector
tags:
- Connectors
/connectors/postgres-publications:
post:
description: Lists logical replication publications on a PostgreSQL source using an unsaved connector configuration. Useful during connector setup to let users select an existing publication.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorFetchPostgresPublicationsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponseBodyPostgresPublication'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: List PostgreSQL publications for an unsaved connector
tags:
- Connectors
/connectors/schemas:
post:
description: Lists available schemas in a specific database using an unsaved connector configuration. Useful during connector setup to discover existing schemas.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorFetchSchemasRequest'
responses:
'200':
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Fetch schemas for an unsaved connector
tags:
- Connectors
/connectors/tables:
post:
description: Lists available tables in a specific database and schema using an unsaved connector configuration. Results are cached when a connector UUID is provided.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouterConnectorFetchTablesRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponseBodyConnectorTable'
description: OK
'400':
description: Bad Request
'500':
description: Internal Server Error
summary: Fetch tables for an unsaved connector
tags:
- Connectors
components:
schemas:
PayloadsConnectorColumn:
properties:
metadata:
$ref: '#/components/schemas/PayloadsConnectorColumnMetadata'
name:
type: string
type: object
PayloadsDatabaseListItem:
properties:
name:
type: string
type: object
EnumsConnectorSlug:
enum:
- api
- bigquery
- clickhouse
- cockroach
- databricks
- documentdb
- delta
- dynamodb
- gcs
- iceberg
- keyspaces
- mongodb
- motherduck
- mssql
- mysql
- oracle
- planetscale
- postgresql
- redis
- redshift
- s3
- snowflake
type: string
ListResponseBodyConnectorTable:
properties:
items:
items:
$ref: '#/components/schemas/RouterConnectorTable'
type: array
required:
- items
type: object
ListResponseBodyPostgresPublication:
properties:
items:
items:
$ref: '#/components/schemas/PayloadsPostgresPublication'
type: array
required:
- items
type: object
RouterConnectorGenerateShadowScriptResponse:
properties:
script:
type: string
required:
- script
type: object
RouterConnectorShadowScriptTable:
properties:
columns:
items:
$ref: '#/components/schemas/PayloadsSeenTableColumn'
type: array
name:
type: string
schema:
type: string
required:
- schema
- name
- columns
type: object
RouterConnectorTable:
properties:
approxDateAdded:
format: date-time
type:
- 'null'
- string
columns:
items:
$ref: '#/components/schemas/PayloadsConnectorColumn'
type: array
createdAt:
format: date-time
type:
- 'null'
- string
isView:
type: boolean
metadata:
items:
$ref: '#/components/schemas/PayloadsCatalogTableProperty'
type: array
modifiedAt:
format: date-time
type:
- 'null'
- string
name:
type: string
schema:
type: string
unreadable:
type: boolean
type: object
RouterConnectorDropReplicationSlotRequest:
properties:
slotName:
type: string
required:
- slotName
type: object
PayloadsConnectorFetchDatabasesResponse:
properties:
items:
items:
$ref: '#/components/schemas/PayloadsDatabaseListItem'
type:
- array
- 'null'
metadata:
items:
$ref: '#/components/schemas/PayloadsCatalogTableProperty'
type: array
type: object
PayloadsPostgresPublication:
properties:
allTables:
type: boolean
name:
type: string
publishViaPartitionRoot:
type: boolean
required:
- name
type: object
RouterConnectorCreateDatabaseRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
name:
type: string
required:
- connector
- name
type: object
RouterConnectorStartDynamoDBExportRequest:
properties:
s3Bucket:
type: string
s3Prefix:
type:
- 'null'
- string
required:
- s3Bucket
type: object
PayloadsFullConnector:
properties:
companyUUID:
format: uuid
type: string
connectionLabel:
type: string
createdAt:
format: date-time
type: string
dataPlaneName:
type:
- 'null'
- string
defaultDatabase:
type: string
environmentUUID:
format: uuid
type: string
isValid:
type: boolean
label:
type: string
privateLinkUUID:
format: uuid
type:
- 'null'
- string
sharedConfig: {}
snapshotPrivateLinkUUID:
format: uuid
type:
- 'null'
- string
sshTunnelUUID:
format: uuid
type:
- 'null'
- string
type:
$ref: '#/components/schemas/EnumsConnectorSlug'
updatedAt:
format: date-time
type: string
uuid:
format: uuid
type: string
required:
- label
- uuid
- createdAt
- updatedAt
- type
- companyUUID
- environmentUUID
- isValid
type: object
RouterConnectorFetchSchemasRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
databaseName:
type: string
required:
- connector
- databaseName
type: object
PayloadsCatalogTableProperty:
properties:
isDate:
type: boolean
key:
type: string
value: {}
type: object
RouterConnectorFetchPostgresPublicationsRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
databaseName:
type: string
required:
- connector
- databaseName
type: object
RouterConnectorPingResponse:
properties:
error:
type: string
type: object
PayloadsSeenTableColumnMetadata:
properties:
dataType:
type: string
defaultValue:
type:
- 'null'
- string
isPrimaryKey:
type:
- 'null'
- boolean
notNull:
type: boolean
required:
- dataType
- notNull
type: object
RouterConnectorStartDynamoDBExportResponse:
properties:
exportARN:
type: string
required:
- exportARN
type: object
RouterConnectorCreateSchemaRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
databaseName:
type: string
name:
type: string
volume:
type: string
required:
- connector
- databaseName
- name
type: object
RouterConnectorGenerateShadowScriptRequest:
properties:
database:
type: string
tables:
items:
$ref: '#/components/schemas/RouterConnectorShadowScriptTable'
type: array
required:
- database
- tables
type: object
PayloadsConnectorColumnMetadata:
properties:
comment:
type: string
dataType:
type: string
defaultValue:
type:
- 'null'
- string
isPrimaryKey:
type:
- 'null'
- boolean
notNull:
type: boolean
type: object
PayloadsSeenTableColumn:
properties:
metadata:
$ref: '#/components/schemas/PayloadsSeenTableColumnMetadata'
name:
type: string
required:
- name
- metadata
type: object
RouterConnectorCreateSnowflakeWarehouseRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
name:
type: string
required:
- connector
- name
type: object
PayloadsConnectorTableDetailResponse:
properties:
columns:
items:
$ref: '#/components/schemas/PayloadsConnectorColumn'
type: array
createdAt:
format: date-time
type:
- 'null'
- string
isView:
type: boolean
metadata:
items:
$ref: '#/components/schemas/PayloadsCatalogTableProperty'
type: array
modifiedAt:
format: date-time
type:
- 'null'
- string
name:
type: string
schema:
type: string
unreadable:
type: boolean
type: object
RouterConnectorFetchTablesRequest:
properties:
connector:
$ref: '#/components/schemas/PayloadsConnectorPayload'
databaseName:
type: string
forceRefresh:
type: boolean
schemaName:
type: string
required:
- connector
- databaseName
type: object
PayloadsConnectorPayload:
properties:
dataPlaneName:
type: string
defaultDatabase:
type:
- 'null'
- string
environmentUUID:
format: uuid
type:
- 'null'
- string
label:
type: string
privateLinkUUID:
format: uuid
type:
- 'null'
- string
sharedConfig:
additionalProperties: {}
type:
- object
- 'null'
snapshotPrivateLinkUUID:
format: uuid
type:
- 'null'
- string
sshTunnelUUID:
format: uuid
type:
- 'null'
- string
type:
type: string
uuid:
type: string
type: object
securitySchemes:
ApiKey:
description: API key passed as a Bearer token in the Authorization header.
scheme: bearer
type: http