The DBConvert Streams REST API exposes everything the UI does: managing connections, browsing schemas, running SQL across databases and files, configuring and operating streams, and reading metrics, logs, and run history. Anything you can click can be scripted, scheduled, or wired into another system.
The API is split into two tiers. The IDE tier — connections, data exploration, files, federated queries, SQL intelligence — is free and works without an active subscription. The stream tier — start, pause, resume, stop — is paid and is what you call when you are ready to move data. One API key covers both, and the OpenAPI 3.0 spec ships with the API for typed-client generation.
Every platform capability is accessible through a consistent REST interface.
curl -X GET https://your-server/api/v1/connections \
-H "X-API-Key: YOUR_API_KEY" \
-H "X-Install-ID: YOUR_INSTALL_ID" \
-H "Content-Type: application/json"Connections, data exploration, files, SQL queries, and federated queries are available immediately — no active subscription required.
Starting, pausing, resuming, and stopping streams requires a valid API key and active subscription.
The core workflow — create a connection, configure a stream, start it, and query across databases.
POST /api/v1/connections
curl -X POST https://your-server/api/v1/connections \
-H "X-API-Key: YOUR_KEY" \
-H "X-Install-ID: YOUR_INSTALL_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "mysql-source",
"type": "mysql",
"spec": {
"database": {
"host": "db.example.com",
"port": 3306,
"username": "reader",
"password": "secret",
"database": "production"
}
}
}'POST /api/v1/stream-configs
curl -X POST https://your-server/api/v1/stream-configs \
-H "X-API-Key: YOUR_KEY" \
-H "X-Install-ID: YOUR_INSTALL_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "full_migration",
"mode": "load",
"source": {
"connections": [
{
"connectionId": "CONNECTION_ID_1",
"database": "source_db"
}
]
},
"target": {
"id": "CONNECTION_ID_2",
"spec": {
"db": {
"database": "target_db"
}
}
}
}'POST /api/v1/stream-configs/{id}/start · GET /api/v1/streams/{id}/stats
# Start the stream
curl -X POST https://your-server/api/v1/stream-configs/{id}/start \
-H "X-API-Key: YOUR_KEY" \
-H "X-Install-ID: YOUR_INSTALL_ID"
# Check real-time stats
curl https://your-server/api/v1/streams/{id}/stats \
-H "X-API-Key: YOUR_KEY"POST /api/v1/query/federated
curl -X POST https://your-server/api/v1/query/federated \
-H "X-API-Key: YOUR_KEY" \
-H "X-Install-ID: YOUR_INSTALL_ID" \
-H "Content-Type: application/json" \
-d '{
"sql": "SELECT a.name, b.total
FROM pg1.public.accounts a
JOIN my1.sales.orders b
ON a.id = b.account_id"
}'Navigate database structure and query data programmatically.
Manage local files and S3-compatible object storage through the same API.
Two dedicated Language Server endpoints power editor-grade SQL assistance.
Every error includes a stable code (e.g. AUTHENTICATION_FAILED), category, and detail object for programmatic handling.
OpenAPI 3.0 spec ships with the API — generate typed clients in any language with standard tooling.
Data endpoints accept limit/offset, column filters, and multi-column sort parameters uniformly.
Destructive bulk operations (e.g. delete all configs) require an explicit X-Confirm-Delete header to prevent accidents.
One API key. Free IDE access. Pay only when you start streaming.
Prefer conversation over code? Connect an AI assistant via MCP. See the product definition and capability overview on the What is DBConvert Streams page.