Create database
Method: POST
Path:
https://[client].datainsider.co/api/ingestion/file/sync/history?from=0&size=10
name of the database displayed on the website
API key that has database permission
Sample request:
Copy curl --request POST \
--url https://[client].datainsider.co/api/databases \
--header 'Content-Type: application/json' \
--data '{
"api_key": "cccccccc-14a1-4eb1-8964-000000000000",
"name": "[client]_db",
"display_name": "[client] Database"
}'
Sample response:
Copy {
"name": "[client]_db",
"organization_id": 0,
"display_name": "[client] Database",
"creator_id": "root",
"created_time": 1645007956002,
"updated_time": 1645007956002,
"tables": []
}
Get list of databases
Method: POST
Path:
https://[client].datainsider.co/api/databases
Sample request:
Copy curl --request GET \
--url https://[client].datainsider.co/api/databases \
--header 'Content-Type: application/json' \
--data '{
"api_key": "cccccccc-14a1-4eb1-8964-000000000000"
}
Sample response:
Copy [
{
"name": "analytics",
"organization_id": 0,
"display_name": "Analytics",
"created_time": 1638464075069,
"updated_time": 1638464075069
},
{
"name": "KPI_DATABASE",
"organization_id": 0,
"display_name": "Kpi Database",
"created_time": 1640866001362,
"updated_time": 1640866001362
},
{
"name": "[client]_db",
"organization_id": 0,
"display_name": "[client] Database",
"creator_id": "root",
"created_time": 1645007956002,
"updated_time": 1645007956002
}
]
Create table
Method: POST
Path:
https://[client].datainsider.co/api/databases/[client]_db/tables
name of the database that contains the table
API key that has database permission
columns of the table. The column of the table having the field class_name
is an enum representing the data type of the column. List of supported data types: int32, uint32, int64, uint64, string, double, datetime.
Sample request:
Copy curl --request POST \
--url https://[client].datainsider.co/api/databases/<db_name>/tables \
--header 'Content-Type: application/json' \
--data '{
"api_key": "cccccccc-14a1-4eb1-8964-000000000000",
"tbl_name": "user_transactions",
"columns": [
{
"class_name": "uint64",
"name": "trans_id",
"display_name": "Transaction Id",
"is_nullable": true
},
{
"class_name": "string",
"name": "from_user",
"display_name": "From User",
"is_nullable": true
},
{
"class_name": "string",
"name": "to_user",
"display_name": "To User",
"is_nullable": true
},
{
"class_name": "double",
"name": "amount",
"display_name": "Amount",
"is_nullable": true
},
{
"class_name": "datetime",
"name": "at_time",
"display_name": "At Time",
"is_nullable": true
},
{
"class_name": "bool",
"name": "is_success",
"display_name": "Is Success",
"is_nullable": true
}
]
}'
Sample response:
Copy {
"name": "user_transactions",
"db_name": "[client]_db",
"organization_id": 0,
"display_name": "user_transactions",
"columns": [
{
"class_name": "uint64",
"name": "trans_id",
"display_name": "Transaction Id",
"is_nullable": true
},
{
"class_name": "string",
"name": "from_user",
"display_name": "From User",
"is_nullable": true
},
{
"class_name": "string",
"name": "to_user",
"display_name": "To User",
"is_nullable": true
},
{
"class_name": "double",
"name": "amount",
"display_name": "Amount",
"is_nullable": true
},
{
"class_name": "datetime",
"name": "at_time",
"display_name": "At Time",
"input_as_timestamp": false,
"input_formats": [],
"is_nullable": true
},
{
"class_name": "bool",
"name": "is_success",
"display_name": "Is Success",
"is_nullable": true
}
],
"primary_keys": [],
"partition_by": [],
"order_bys": [],
"temporary": false
}
Get list of tables in a database
Method: GET
Path:
https://[client].datainsider.co/api/databases/<db_name>
name of the database that contains the table
API key that has database permission
Sample request:
Copy curl --request GET \
--url https://[client].datainsider.co/api/databases/<db_name> \
--header 'Content-Type: application/json' \
--data '{
"api_key": "cccccccc-14a1-4eb1-8964-000000000000"
}'
Sample response:
Copy {
"name": "[client]_db",
"organization_id": 0,
"display_name": "[client] Database",
"creator_id": "root",
"created_time": 1645007956002,
"updated_time": 1645007956002,
"tables": [
{
"name": "user_transactions",
"db_name": "[client]_db",
"organization_id": 0,
"display_name": "user_transactions",
"columns": [
{
"class_name": "uint64",
"name": "trans_id",
"display_name": "Transaction Id",
"is_nullable": true
},
{
"class_name": "string",
"name": "from_user",
"display_name": "From User",
"is_nullable": true
},
{
"class_name": "string",
"name": "to_user",
"display_name": "To User",
"is_nullable": true
},
{
"class_name": "double",
"name": "amount",
"display_name": "Amount",
"is_nullable": true
},
{
"class_name": "datetime",
"name": "at_time",
"display_name": "At Time",
"input_as_timestamp": false,
"input_formats": [],
"is_nullable": true
},
{
"class_name": "bool",
"name": "is_success",
"display_name": "Is Success",
"is_nullable": true
}
],
"primary_keys": [],
"partition_by": [],
"order_bys": [],
"temporary": false
}
]
}