Skip to content
Book a demo

Atlas documentation

All documentation
Documentation

Data sources API

On this page

Connect warehouses, sync and browse their schema, profile fields, and resolve duplicate data. See Data sources.

Paths are relative to https://<your-atlas-host>/api/v1. For the API key and headers every request needs, see Authentication.

Scroll horizontally to see the full table.

Endpoint

What it does

POST /datasources/

Create a new data source connection

GET /datasources/

List data sources, optionally filtered by workspace

GET /datasources/search

Cross-datasource metadata search

GET /datasources/{datasource_id}

Get a data source by ID

PATCH /datasources/{datasource_id}

Update a data source

DELETE /datasources/{datasource_id}

Delete a data source

POST /datasources/{datasource_id}/verify

Test the connection for a data source

POST /datasources/{datasource_id}/sync

Start a background metadata sync for a data source

POST /datasources/{datasource_id}/diagnose

Start a background connection diagnostic; returns the task execution id to poll

GET /datasources/{datasource_id}/collections

List collections for a data source

GET /datasources/collections/{collection_id}/assets

List assets in a collection

GET /datasources/assets/{asset_id}/fields

List fields for an asset

GET /datasources/assets/{asset_id}/relationships

List relationships for an asset

POST /datasources/assets/{asset_id}/profile

Start background field profiling for a data asset

POST /datasources/{datasource_id}/profile-bulk

Start background field profiling for several data assets

GET /datasources/assets/{asset_id}/profiles

Get the latest profile for each field in an asset

GET /datasources/fields/{field_id}/profile

Get the latest profile for a single field

GET /datasources/overlaps

List detected data overlaps (duplicate data across datasources)

POST /datasources/overlaps/{overlap_id}/resolve

Resolve an overlap by hiding one of the duplicate assets in the workspace

POST /datasources/overlaps/{overlap_id}/dismiss

Dismiss an overlap (will not resurface for this pair)

Create data source

POST /datasources/

Create a new data source connection.

Request body

Scroll horizontally to see the full table.

Field

Type

Required

Description

name

string

Yes

Unique within your organization.

source_type

string

Yes

Warehouse type: postgres, snowflake, bigquery, databricks, athena, redshift or trino.

category

string

Ignored; derived from source_type.

initial_workspace_id

UUID

Workspace the source is first shared with; it holds the staged data. Needs admin rights on it.

workspace_ids

list of UUID

More workspaces to share the source with. Needs admin rights on each.

config

object

Connection settings; the keys depend on source_type, such as project_id for BigQuery or host and database for Postgres. auth_method picks the credentials shape.

credentials

object

Secret login details; which keys are required depends on source_type and config.auth_method, such as service_account_json for BigQuery.

include_patterns

list of string

Only sync schemas (BigQuery datasets) whose name matches one of these case-sensitive glob patterns, such as marketing_*. Empty means all.

exclude_patterns

list of string

Skip schemas whose name matches one of these glob patterns. Wins over include_patterns.

service_config_id

UUID

An OAuth client configuration; required for Databricks oauth_m2m and azure_sp.

schedule

string

Cron expression, in UTC, for automatic metadata syncs. Empty removes the schedule.

mode

string

dev: syncs run but the assistant cannot query the source. active: both allowed. disabled: everything paused.

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

List data sources

GET /datasources/

List data sources, optionally filtered by workspace.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

query

UUID

Yes

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Search data source metadata

GET /datasources/search

Cross-datasource metadata search.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

q

query

string

Yes

scope

query

string

limit

query

integer

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

result_type

string

path

string

datasource_id

UUID

asset_id

UUID

datasource_name

string

collection_name

string

asset_name

string

field_name

string

comment

string

data_type

string

Get data source

GET /datasources/{datasource_id}

Get a data source by ID.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Update data source

PATCH /datasources/{datasource_id}

Update a data source.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

Description

name

string

config

object

Connection settings; the keys depend on source_type, such as project_id for BigQuery or host and database for Postgres. auth_method picks the credentials shape.

credentials

object

Secret login details; which keys are required depends on source_type and config.auth_method, such as service_account_json for BigQuery. Changing them resets the verification status.

include_patterns

list of string

Only sync schemas (BigQuery datasets) whose name matches one of these case-sensitive glob patterns, such as marketing_*. Empty means all.

exclude_patterns

list of string

Skip schemas whose name matches one of these glob patterns. Wins over include_patterns.

service_config_id

UUID

An OAuth client configuration; required for Databricks oauth_m2m and azure_sp. Send null to remove the link.

schedule

string

Cron expression, in UTC, for automatic metadata syncs. Empty removes the schedule.

schedule_active

boolean

Pause (false) or resume (true) the existing sync schedule.

mode

string

dev: syncs run but the assistant cannot query the source. active: both allowed. disabled: everything paused.

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Delete data source

DELETE /datasources/{datasource_id}

Delete a data source.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response

The raw file content.

Verify data source

POST /datasources/{datasource_id}/verify

Test the connection for a data source.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Sync data source

POST /datasources/{datasource_id}/sync

Start a background metadata sync for a data source.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Diagnose data source

POST /datasources/{datasource_id}/diagnose

Start a background connection diagnostic; returns the task execution id to poll.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response

The raw file content.

List collections

GET /datasources/{datasource_id}/collections

List collections for a data source.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

comment

string

location

string

item_count

integer

created_at

datetime

updated_at

datetime

List assets

GET /datasources/collections/{collection_id}/assets

List assets in a collection.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

collection_id

path

UUID

Yes

exclude_views

query

boolean

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

comment

string

asset_type

string

row_count

integer

field_count

integer

created_at

datetime

updated_at

datetime

List fields

GET /datasources/assets/{asset_id}/fields

List fields for an asset.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

asset_id

path

UUID

Yes

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

data_type

string

is_nullable

boolean

is_primary_key

boolean

default_value

string

comment

string

ordinal_position

integer

null_rate

number

distinct_count

integer

has_pii

boolean

pii_types

list of string

List relationships

GET /datasources/assets/{asset_id}/relationships

List relationships for an asset.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

asset_id

path

UUID

Yes

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_asset_id

UUID

source_asset_name

string

source_fields

list of string

target_asset_id

UUID

target_asset_name

string

target_fields

list of string

relationship_type

string

cardinality

string

is_confirmed

boolean

confidence

number

evidence

object

Profile asset

POST /datasources/assets/{asset_id}/profile

Start background field profiling for a data asset.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

asset_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

source_type

string

category

string

config

object

has_credentials

boolean

include_patterns

list of string

exclude_patterns

list of string

is_verified

boolean

verified_at

datetime

last_error

string

health_status

string

last_health_check_at

datetime

mode

string

last_sync_execution_id

UUID

last_sync_status

string

last_sync_completed_at

datetime

service_config_id

UUID

schedule

string

schedule_active

boolean

last_scheduled_at

datetime

created_at

datetime

updated_at

datetime

Profile several assets

POST /datasources/{datasource_id}/profile-bulk

Start background field profiling for several data assets.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

datasource_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

Required

datasource_id

UUID

Yes

asset_ids

list of UUID

Yes

Response

The raw file content.

List profiles

GET /datasources/assets/{asset_id}/profiles

Get the latest profile for each field in an asset.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

asset_id

path

UUID

Yes

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

field_id

UUID

field_name

string

null_count

integer

total_count

integer

null_rate

number

distinct_count

integer

distinct_rate

number

min_value

string

max_value

string

mean_value

number

sample_values

list of string

created_at

datetime

median_value

number

stddev_value

number

percentiles

object

top_values

list of object

histogram

list of object

caveats

list of object

Get field profile

GET /datasources/fields/{field_id}/profile

Get the latest profile for a single field.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

field_id

path

UUID

Yes

List overlaps

GET /datasources/overlaps

List detected data overlaps (duplicate data across datasources).

Parameters

Scroll horizontally to see the full table.

Name

In

Type

status

query

string

workspace_id

query

UUID

Response A list of objects:

Scroll horizontally to see the full table.

Field

Type

id

UUID

source_asset_id

UUID

source_asset_name

string

source_datasource_name

string

target_asset_id

UUID

target_asset_name

string

target_datasource_name

string

overlap_type

string

confidence

number

evidence

object

status

string

resolved_by_email

string

resolved_binding_id

UUID

hidden_asset_id

UUID

created_at

datetime

Resolve overlap

POST /datasources/overlaps/{overlap_id}/resolve

Resolve an overlap by hiding one of the duplicate assets in the workspace.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

overlap_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

Required

Description

hide_asset_id

UUID

Yes

The duplicate table to hide in the workspace; one of the overlap’s two tables.

reason

string

Ignored; kept for compatibility.

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

source_asset_id

UUID

source_asset_name

string

source_datasource_name

string

target_asset_id

UUID

target_asset_name

string

target_datasource_name

string

overlap_type

string

confidence

number

evidence

object

status

string

resolved_by_email

string

resolved_binding_id

UUID

hidden_asset_id

UUID

created_at

datetime

Dismiss overlap

POST /datasources/overlaps/{overlap_id}/dismiss

Dismiss an overlap (will not resurface for this pair).

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

overlap_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

source_asset_id

UUID

source_asset_name

string

source_datasource_name

string

target_asset_id

UUID

target_asset_name

string

target_datasource_name

string

overlap_type

string

confidence

number

evidence

object

status

string

resolved_by_email

string

resolved_binding_id

UUID

hidden_asset_id

UUID

created_at

datetime

What’s next?

  • API overview: authentication, worked examples, and error handling

  • Webhooks: get events pushed to your systems instead of polling

  • Service accounts: create the key an integration uses