Skip to main content
POST
/
api
/
public
/
data-sources
Create a data source
curl --request POST \
  --url https://charts.basedash.com/api/public/data-sources \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "organizationId": "<string>",
  "displayName": "<string>",
  "type": "direct",
  "dialect": "POSTGRESQL",
  "host": "<string>",
  "port": 123,
  "database": "<string>",
  "username": "<string>",
  "password": "<string>",
  "sslEnabled": true
}
'
{
  "data": {
    "id": "<string>",
    "displayName": "<string>",
    "dialect": "<string>"
  }
}

Side effects

When a data source is successfully created:
  1. Schema sync - A background job is triggered to connect to the database and sync its schema (tables, columns, etc.)
  2. Trial activation - If the organization has never been on a trial, a trial period is automatically started
  3. Initial report - An initial analytics report is created for the organization

Authorizations

Authorization
string
header
required

API key authentication using Bearer token format: Bearer bd_key_<secret>

Body

application/json
organizationId
string
required

ID of the organization

displayName
string
required

Display name for the data source

type
enum<string>
required

Connection type (currently only direct)

Available options:
direct
dialect
enum<string>
required

Database dialect/type

Available options:
POSTGRESQL,
MYSQL,
CLICKHOUSE,
SNOWFLAKE,
BIGQUERY,
REDSHIFT,
MSSQL,
DATABRICKS
host
string
required

Database host

port
number
required

Database port

database
string
required

Database name

username
string
required

Database username

password
string
required

Database password

sslEnabled
boolean
default:true

Enable SSL connection

Response

Data source created successfully

data
object
required