Retrieve Custom Database List: /external-database
Purpose
This API retrieves a list of all custom databases available within the system. It returns basic metadata for each database, such as the database ID and name, along with information about the user's permissions and available actions. This endpoint is useful for administrators and developers to review available databases, manage configurations, or integrate database names into workflows and external systems
Use Case
Administrators can use this endpoint to audit all existing custom databases and confirm their availability for reporting or integration purposes. Developers may call this API to dynamically populate dropdowns, selection lists, or configuration pages where users need to choose from available databases. It is also helpful in determining whether the authenticated user has permission to upload CSV files or add new tables to the databases.
Path Parameters
No path parameters required for this endpoint.
Query Parameters
No query parameters are required for this endpoint.
Request Body
No request body is required for this endpoint.
Response
Returns a list of all available custom databases in the system, including each database’s unique identifier and name. The response also provides metadata flags indicating whether the authenticated user can upload CSV files or add new tables, as well as an array for additional context menu items if available. The API responds with a JSON object containing this collection list and related permissions. In case of errors such as authentication failure, insufficient permissions, or internal service issues, the API returns a structured error response containing diagnostic details to assist in troubleshooting.
Response Body
{
"collections": [
{
"id": 0,
"name": "sample_collection"
}
],
"success": true,
"canUploadCSV": false,
"canAddTable": false,
"dotDropdownItems": [],
"code": 200
}
Retrieve Custom Database Table List : /external-database/{database_name}
Purpose
Retrieves a complete list of table names within a specific custom database, identified by its unique database_name
. The API supports pagination through limit
and offset
query parameters, enabling clients to control the number of records retrieved in a single request and navigate large datasets efficiently. This endpoint provides only the essential metadata for each table — such as its unique identifier and display name — allowing clients to quickly identify and target specific tables for further actions like data retrieval, updates, or structural modifications.
Use Case
This endpoint is commonly used when building integrations, reporting tools, or automation scripts that need to dynamically access the schema of a specific custom database. For example, a client application may need to display a list of all available tables in a database so users can select one for importing data, generating reports, or running analysis. By supporting pagination, the API ensures smooth performance and prevents overloading systems when the database contains a large number of tables. It is particularly useful for developers and administrators who require programmatic access to table-level metadata without retrieving full data contents.
Path Parameters
Name | Type | Description |
---|---|---|
database_name | string | The name of the custom database from which to retrieve table names. |
Query Parameters
Parameter | Type | Description |
---|---|---|
limit | Integer | Maximum number of records returned per page. |
offset | Integer | Number of records skipped before starting to collect results. |
Request Body
No request body is required for this endpoint.
Response
This API returns all table names within the specified external database, including metadata for pagination such as count, limit, and offset. The list object contains the database name as the key, with an array of table objects each having an id and name. Success indicates request status, and code provides the HTTP status code. In case of errors like invalid database name or insufficient permissions, the API returns a structured error response for troubleshooting.
Response Body
{
"count": TOTAL_RECORDS,
"limit": PAGE_LIMIT,
"list": {
"sample_database": [
{
"id": 0,
"name": "Sample_Item_1"
},
{
"id": 1,
"name": "Sample_Item_2"
},
{
"id": 2,
"name": "Sample_Item_3"
}
/* additional items as needed */
]
},
"offset": PAGE_OFFSET,
"success": true,
"code": 200
}
Retrieve Custom Database Column List Of A Table : /external-database/{database_name}/table/{table_name}
Purpose
Retrieves all column names for a specific table within a given custom database. This API allows clients to programmatically inspect the structure of a table, which is useful for dynamic data handling, schema validation, and integration workflows that require field-level mapping or configuration.
Use Case
This API is commonly used when a system or integration needs to know the exact fields available in a database table before performing operations such as data import, export, or synchronization. For example, a reporting tool might call this endpoint to generate a dynamic mapping interface, ensuring that the user can select from accurate and up-to-date table columns.
Path Parameters
Parameter | Type | Description |
---|---|---|
database_name | string | The name of the custom database containing the target table. |
table_name | string | The name of the table whose column names are to be retrieved. |
Query Parameters
Parameter | Type | Description |
---|---|---|
limit | number | The maximum number of column names to return in a single request. |
offset | number | The number of column names to skip before starting to return results, used for pagination. |
Request Body
No request body is required for this endpoint.
Response
This API returns a list of column names for the specified table within an external database, along with pagination metadata such as count
, limit
, and offset
to manage large datasets. Each column is represented as an object containing a unique id
and name
, which may include standard fields, custom fields, or system-generated identifiers. The success
flag and code
indicate the overall request status, while the message
field provides a descriptive summary of the operation result. If the specified database or table does not exist, or if the user lacks sufficient permissions, the API returns a structured error response with descriptive messages and backend details to assist with troubleshooting and resolution.
Response Body
{
"data": [
{
"id": 0,
"name": "Column_1"
},
{
"id": 1,
"name": "Column_2"
},
{
"id": 2,
"name": "Column_3"
},
{
"id": 3,
"name": "Column_4"
}
],
"message": "Columns for table fetched successfully",
"status": "success",
"code": 200
}