Datamart API

APIs to create, delete, and list datamart configurations associated with datasource.

API Endpoints

Cloud Databrain Endpoint

POST https://api.usedatabrain.com/api/v2/dataApp/datamart/{method_path}

Self-hosted Databrain Endpoint

POST <SELF_HOSTED_URL>/api/v2/dataApp/datamart/{method_path}
Name

Authorization*

String

Bearer API TOKEN

API methods:

Create Datamart

Endpoint: POST /create Description: Create a new datamart for the given datasource and schema.

πŸ”Έ Request Body

{
  "name": "string",                    // Required
  "datasourceName": "string",         // Required
  "tableList": [                      // Required, non-empty
    {
      "schemaName": "string",         // Optional If non schema datasource
      "name": "string",               // Required
      "columns": [                    // Required, non-empty
        {
          "name": "string",           // Required
          "alias": "string"           // Optional
        }
      ]
    }
  ]
}

βœ… Success Response

{
  "id": "string",    // Datamart name
  "error": null
}

❌ Error Response

HTTP Code
Code
Message

400

INVALID_REQUEST_BODY

Invalid request body

400

DATASOURCE_NAME_ERROR

Invalid datasource name

400

INVALID_REQUEST_BODY

Table list cannot be empty

400

INVALID_REQUEST_BODY

Invalid table or column structure

400

INVALID_REQUEST_BODY

Invalid schema or table name

400

INVALID_REQUEST_BODY

Invalid column names in table

400

INVALID_TENANCY

Invalid tenancy level for organization

500

INTERNAL_SERVER_ERROR

Server error


πŸ“Œ 2. Delete Datamart

Endpoint: POST /delete Description: Deletes an existing datamart by name.

πŸ”Έ Request Body

{
  "datamartName": "string"   // Required
}

βœ… Success Response

{
  "id": "string",   // Name of deleted datamart
  "error": null
}

❌ Error Response

HTTP Code
Code
Message

400

INVALID_REQUEST_BODY

Invalid datamart name

500

INTERNAL_SERVER_ERROR

GQL or server-side error


πŸ“Œ 3. List Datamarts

Endpoint: POST /list Description: Returns all datamarts linked to the current user's account.

πŸ”Έ Request Body

{
  "isPagination": "boolean (optional)",
  "pageNumber": "number (optional)" //10 items per page
}

βœ… Success Response

{
  "data": [
    {
      "name": "string",
      "datamartOrganization": {
        "tenancyLevel": "string",
        "schemaName": "string",
        "tableName": "string",
        "clientColumnType": "string",
        "tableClientNameColumn": "string",
        "tablePrimaryKeyColumn": "string"
      },
      "companyIntegration": {
        "name": "string"
      },
      "datamartTables": [
        {
          "schemaName": "string",
          "tableName": "string",
          "datamartTableColumns": [
            {
              "columnName": "string",
              "datatype": "string",
              "alias": "string"
            }
          ]
        }
      ]
    }
  ],
  "error": null
}

❌ Error Response

HTTP Code
Code
Message

500

INTERNAL_SERVER_ERROR

server-side error

Last updated