Skip to main content

kobana dashboards data-sources

Commands of kobana dashboards data-sources. Every global option (Global options) applies here.

CommandHTTPDescription
data-sources catalog listGET /v1/data_sources/catalogList Kobana catalog products
data-sources catalog createPOST /v1/data_sources/catalogConnect a Kobana product
data-sources logs getGET /v1/data_sources/{id}/logs/{log_id}Get a request of a data source
data-sources logs listGET /v1/data_sources/{id}/logsList the request log of a data source
data-sources openapi analyzePOST /v1/data_sources/openapi/analyzeAnalyze an OpenAPI spec
data-sources operations updatePATCH /v1/data_sources/{id}/operations/{operation_id}Enable or disable an operation of a data source
data-sources listGET /v1/data_sourcesList data sources
data-sources createPOST /v1/data_sourcesCreate a data source
data-sources testPOST /v1/data_sources/testTest a connection before saving
data-sources getGET /v1/data_sources/{id}Get a data source
data-sources updatePATCH /v1/data_sources/{id}Update a data source
data-sources deleteDELETE /v1/data_sources/{id}Delete a data source
data-sources authorizePOST /v1/data_sources/{id}/authorizeAuthorize an MCP data source
data-sources schedulePUT /v1/data_sources/{id}/scheduleSchedule the sync of a data source
data-sources specPUT /v1/data_sources/{id}/specReplace the spec of a data source
data-sources syncPOST /v1/data_sources/{id}/syncSync a data source

data-sources catalog list​

List Kobana catalog products

kobana dashboards data-sources catalog list [OPTIONS]

GET /v1/data_sources/catalog

Kobana products that can be connected as a data source with just a token. Whole list, unpaginated.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Catalog products.
404Resource not found in the current organization.

data-sources catalog create​

Connect a Kobana product

kobana dashboards data-sources catalog create [OPTIONS]

POST /v1/data_sources/catalog

Saves an OpenAPI source from the product spec shipped with the app and tests the connection.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
productstringyesKobana catalog product key (see GET /data_sources/catalog).
environmentstringnoValues: production, sandbox.
tokenstringnoAPI token of the product. Stored encrypted.
workspace_idstringnoWorkspace inside the product, when the token's organization has more than one.
namestringnoDisplay name, unique per workspace and kind. Derived from the spec, the host or the database when omitted.

More fields and nested objects: kobana schema dashboards.data-sources.catalog.create.

Responses

HTTPDescription
201Source created, with the outcome of the connection test.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
409A data source with this name already exists in the workspace.
422Request body failed validation.

data-sources logs get​

Get a request of a data source

kobana dashboards data-sources logs get [ID] [LOG_ID] [OPTIONS]

GET /v1/data_sources/{id}/logs/{log_id}

One call, whole: request and response headers and bodies, with secrets masked.

Path arguments: id, log_id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Request log entry.
404Resource not found in the current organization.

data-sources logs list​

List the request log of a data source

kobana dashboards data-sources logs list [ID] [OPTIONS]

GET /v1/data_sources/{id}/logs

Calls the source made (HTTP requests, database queries), newest first, without headers nor bodies.

Path arguments: id

Query parameters

NameTypeRequiredDescription
pageintegernoPage (starts at 1). Default: 1.
per_pageintegernoItems per page. Default: 20. Maximum: 100.
sort_bystringnoSort field. Default depends on the resource.
sort_orderstringnoSort direction. Default: desc. Values: asc, desc.
methodstringnoHTTP method (GET, POST…).
successstringnotrue for successful calls only, false for failed ones only. Values: true, false.
searchstringnoSubstring of the endpoint, case-insensitive.
date_fromstringnoFrom this day (YYYY-MM-DD, UTC), inclusive.
date_tostringnoUp to this day (YYYY-MM-DD, UTC), inclusive.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Page of the request log.
404Resource not found in the current organization.

data-sources openapi analyze​

Analyze an OpenAPI spec

kobana dashboards data-sources openapi analyze [OPTIONS]

POST /v1/data_sources/openapi/analyze

Reads the spec and returns what would be imported β€” title, servers, security schemes, suggested auth and operations β€” without saving anything.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
specstringyesThe OpenAPI 3.x or Swagger 2.0 document as text (JSON or YAML), up to 5 MB β€” also bounded by the API's 2 MB body limit.
spec_file_namestringnoFile name of the spec (openapi.yaml). Guessed from the content when omitted.

More fields and nested objects: kobana schema dashboards.data-sources.openapi.analyze.

Responses

HTTPDescription
200Spec analysis.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.

data-sources operations update​

Enable or disable an operation of a data source

kobana dashboards data-sources operations update [ID] [OPERATION_ID] [OPTIONS]

PATCH /v1/data_sources/{id}/operations/{operation_id}

Turns one operation of the source on or off (enabled). Disabled operations do not feed entities.

Path arguments: id, operation_id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
enabledbooleanyesDisabled operations do not feed entities.

More fields and nested objects: kobana schema dashboards.data-sources.operations.update.

Responses

HTTPDescription
200Updated operation.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.

data-sources list​

List data sources

kobana dashboards data-sources list [OPTIONS]

GET /v1/data_sources

Data sources of the workspace β€” OpenAPI APIs, MCP servers and read-only databases β€” newest first. Secrets are never returned. To create a source, use the route of its kind: /data_sources/openapi, /mcp, /database or /catalog.

Query parameters

NameTypeRequiredDescription
pageintegernoPage (starts at 1). Default: 1.
per_pageintegernoItems per page. Default: 20. Maximum: 100.
sort_bystringnoSort field. Default depends on the resource.
sort_orderstringnoSort direction. Default: desc. Values: asc, desc.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Page of data sources.
404Resource not found in the current organization.

data-sources create​

Create a data source

kobana dashboards data-sources create [OPTIONS]

POST /v1/data_sources

Saves a data source and tests the connection. kind says which: openapi (an API described by an OpenAPI spec β€” the spec goes as text in spec, the mTLS certificate base64-encoded in certificate; imports its operations), mcp (an MCP server β€” url; without OAuth it connects and discovers the tools right away, with OAuth it returns authorization_url, which a person signed in to the dashboard opens in a browser to finish) or database (a read-only database β€” engine and connection; catalogs its tables or collections). Send only the fields of the chosen kind. Kobana products go through POST /data_sources/catalog. Replaces POST /data_sources/openapi, /mcp and /database.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

The body is not a plain object (or has variants). See kobana schema dashboards.data-sources.create.

Responses

HTTPDescription
201Source created, with the outcome of the connection test.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
409A data source with this name already exists in the workspace.
422Request body failed validation.

data-sources test​

Test a connection before saving

kobana dashboards data-sources test [OPTIONS]

POST /v1/data_sources/test

Tests a connection that is not saved yet. Send kind (openapi, mcp, database or catalog) and the body of the matching create route. Nothing is persisted.

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

The body is not a plain object (or has variants). See kobana schema dashboards.data-sources.test.

Responses

HTTPDescription
200Outcome of the connection test.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.

data-sources get​

Get a data source

kobana dashboards data-sources get [ID] [OPTIONS]

GET /v1/data_sources/{id}

The data source and its operations (endpoints, tools or tables it can read).

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Data source with its operations.
404Resource not found in the current organization.

data-sources update​

Update a data source

kobana dashboards data-sources update [ID] [OPTIONS]

PATCH /v1/data_sources/{id}

Updates the name, is_active and the connection fields of the kind of the source. Blank secret fields keep the stored ones. An OpenAPI source takes a new certificate in certificate.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
namestringnoDisplay name, unique per workspace and kind. Derived from the spec, the host or the database when omitted.
is_activebooleanno
base_urlstringnoBase URL of the API. Defaults to the first absolute server of the spec.
authobjectnoHow the API authenticates: none, header, query, bearer, basic or cert. For header/query, send the key names and values; a blank value on an update keeps the stored one.
credentialsobjectnoSecrets of the chosen auth: token (bearer), username/password (basic), certificate_password (cert). Stored encrypted and never returned.
certificateobjectnoClient certificate for mTLS (auth.kind = "cert").
probe_operation_keystringnoOpenAPI: operation used as the probe of the connection test; null picks one automatically.
default_paramsobjectnoOpenAPI: default parameter values sent on every call.
response_formatstringnoValues: json, xml.
urlstringnoMCP server URL (Streamable HTTP or SSE endpoint). A token in the query string is stored encrypted.
transportstringnoValues: http, sse.
headersanyOfnoExtra headers sent on every call: an object, or one Name: value per line. Stored encrypted.
oauthobjectnoOAuth of the MCP server: none, dcr (dynamic client registration) or client (your own client id/secret).
enginestringnoValues: postgres, mysql, mariadb, mssql, mongodb.
hoststringno
portanyOfno
databasestringno
usernamestringno
passwordstringno
connection_stringstringnoMongoDB only: the full connection string (instead of host, port, username and password). Username/password (SCRAM) authentication only; accepted options: authSource, authMechanism (SCRAM-SHA-1/SCRAM-SHA-256), replicaSet, tls/ssl, retryWrites, retryReads, w, journal, wtimeoutMS, readPreference, readConcernLevel, appName, directConnection, loadBalanced, compressors, zlibCompressionLevel and the pool timeouts/limits (maxPoolSize, minPoolSize, maxIdleTimeMS, connectTimeoutMS, socketTimeoutMS, serverSelectionTimeoutMS, heartbeatFrequencyMS, localThresholdMS, maxStalenessSeconds). Any other option is refused with 422.
sslbooleanno
ssl_verifybooleanno

More fields and nested objects: kobana schema dashboards.data-sources.update.

Responses

HTTPDescription
200Updated data source.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
409A data source with this name already exists in the workspace.
422Request body failed validation.

data-sources delete​

Delete a data source

kobana dashboards data-sources delete [ID] [OPTIONS]

DELETE /v1/data_sources/{id}

Removes the source, its operations and its sync schedule. Refused (409) while an entity reads the source: remove the entities first. Cannot be undone.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Source deleted.
404Resource not found in the current organization.
409One or more entities read this data source.

data-sources authorize​

Authorize an MCP data source

kobana dashboards data-sources authorize [ID] [OPTIONS]

POST /v1/data_sources/{id}/authorize

Restarts the OAuth authorization of an MCP server. Returns authorization_url for a person signed in to the dashboard to open in a browser, or null plus the connection test when the stored tokens still work.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Responses

HTTPDescription
200Authorization URL or test outcome.
404Resource not found in the current organization.
422Request body failed validation.

data-sources schedule​

Schedule the sync of a data source

kobana dashboards data-sources schedule [ID] [OPTIONS]

PUT /v1/data_sources/{id}/schedule

Sets how often the source syncs: { cron, timezone }, or { cron: null } for on demand only. Returns the next runs.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
cronstringyes5-field cron (at most every 5 minutes), or null to sync on demand only.
timezonestringnoIANA timezone of the schedule. Default: the source's current one, or America/Sao_Paulo.

More fields and nested objects: kobana schema dashboards.data-sources.schedule.

Responses

HTTPDescription
200Schedule saved.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.

data-sources spec​

Replace the spec of a data source

kobana dashboards data-sources spec [ID] [OPTIONS]

PUT /v1/data_sources/{id}/spec

Replaces the OpenAPI spec and re-syncs the operations: those that keep their key keep their settings; those gone from the spec are removed.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
specstringyesThe OpenAPI 3.x or Swagger 2.0 document as text (JSON or YAML), up to 5 MB β€” also bounded by the API's 2 MB body limit.
spec_file_namestringnoFile name of the spec (openapi.yaml). Guessed from the content when omitted.

More fields and nested objects: kobana schema dashboards.data-sources.spec.

Responses

HTTPDescription
200Spec replaced, with the warnings of the analysis.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.

data-sources sync​

Sync a data source

kobana dashboards data-sources sync [ID] [OPTIONS]

POST /v1/data_sources/{id}/sync

Queues a sync of every entity fed by the source. The run is asynchronous.

Path arguments: id

Headers

NameTypeRequiredDescription
X-Workspace-IdstringnoWorkspace the call acts on: the id or the public_id shown under Workspaces on the dashboard. Inside the token's organization, data lives in workspaces. It may be omitted while the organization has a single workspace; with two or more, leaving it out returns 400 workspace_required. A workspace outside the organization returns 403 unknown_workspace. With a person token, only the workspaces that person has access to are reachable (organization owners reach all of them); any other returns 403 workspace_access_denied.

Request body

NameTypeRequiredDescription
fullbooleannotrue re-reads everything instead of only what changed since the last sync.

More fields and nested objects: kobana schema dashboards.data-sources.sync.

Responses

HTTPDescription
202Sync queued.
400Body that is not JSON, or a field of the wrong type.
404Resource not found in the current organization.
422Request body failed validation.