Skip to main content

Links & Suites

Manage relationships between datasources and organize them into suites.

Links define relationships between datasources for cross-database queries and joins.

Get all links for a datasource.

Response:

{
"_links": {
"self": { "href": "/api/datasources/{id}/links" }
},
"_embedded": {
"inf:link": [
{
"id": "link-uuid",
"sourceDatasourceId": "mysql-prod",
"targetDatasourceId": "postgres-analytics",
"type": "foreign-key",
"mappings": {
"user_id": "id"
}
}
]
},
"start": 0,
"count": 1,
"total": 1
}

POST /api/datasources/{id}/links

Create a link between datasources.

Request Body:

{
"targetDatasourceId": "postgres-analytics",
"type": "foreign-key",
"mappings": {
"user_id": "id"
}
}

DELETE /api/datasources/{id}/links/{linkId}

Remove a datasource link.


Get available link types.

Response:

{
"_links": {
"self": { "href": "/api/link-types" }
},
"_embedded": {
"inf:link-type": [
{
"id": "foreign-key",
"name": "Foreign Key",
"description": "Standard foreign key relationship"
},
{
"id": "lookup",
"name": "Lookup",
"description": "Value lookup relationship"
}
]
},
"start": 0,
"count": 2,
"total": 2
}

Suites

Suites are collections of related datasources.

GET /api/suites

Get all datasource suites.

Response:

{
"_links": {
"self": { "href": "/api/suites" }
},
"_embedded": {
"inf:suite": [
{
"id": "suite-uuid",
"name": "Production Suite",
"description": "All production datasources",
"datasources": ["mysql-prod", "postgres-analytics"]
}
]
},
"start": 0,
"count": 1,
"total": 1
}

POST /api/suites

Create a new suite.

Request Body:

{
"name": "Production Suite",
"description": "All production datasources",
"datasourceIds": ["mysql-prod", "postgres-analytics"]
}

GET /api/suites/{id}

Get a specific suite with all datasources.

PUT /api/suites/{id}

Update a suite.

DELETE /api/suites/{id}

Delete a suite.

Use Case:

Organize datasources by environment (dev, staging, prod) or business unit (sales, HR, finance).