Use this API to create new datasets directly in Graphite Note environment, specifying the dataset's structure. This API is particularly useful for automating the setup of datasets during the onboarding process, allowing for easy integration with client-specific data requirements.
For example, use this endpoint to define the columns, types, and other properties for a new dataset tailored to your needs.
Create a Dataset
To create a new dataset, follow these steps:
Copy url = 'https://app.graphite-note.com/api/dataset-create'
To create a new dataset, make a POST request to /dataset-create
with the required parameters in the request body.
To specify the dataset structure, include an array of column definitions with each column's name, alias, type, subtype, and optional format.
The response will include key details about the created dataset, including the dataset code, table name, and the number of columns.
Example Usage
Creating a New Dataset
For example, making a POST request to the following URL with the provided JSON body would result in the response below:
Request
Copy POST /dataset-create
Authorization: Bearer YOUR-TENANT-TOKEN
{
"user-code": "0f02b4d4f9ae",
"columns": [
{
"name": "InvoiceNo",
"alias": "InvoiceNo",
"type": "dimension",
"subtype": "text"
},
{
"name": "StockCode",
"alias": "StockCode",
"type": "dimension",
"subtype": "text"
},
{
"name": "Description",
"alias": "Description",
"type": "dimension",
"subtype": "text"
},
{
"name": "Quantity",
"alias": "Quantity",
"type": "measure",
"subtype": "numeric",
"format": "#,###.##"
},
{
"name": "InvoiceDate",
"alias": "InvoiceDate",
"type": "dimension",
"subtype": "datetime",
"format": "Y-d-m H:i:s"
},
{
"name": "UnitPrice",
"alias": "UnitPrice",
"type": "measure",
"subtype": "numeric",
"format": "#,###.##"
},
{
"name": "CustomerID",
"alias": "CustomerID",
"type": "measure",
"subtype": "numeric",
"format": "#,###.##"
}
],
"name": "Client onboarding dataset creation"
}
Response
Copy {
"data": {
"dataset-code": "eca2ad3940e3",
"table-name": "dataset_csv_eca2ad3940e3",
"columns": 7
}
}
This request creates a dataset with the specified columns, each having unique names, types, and formats tailored to client onboarding requirements.
Example Python Implementation
Copy import requests
# Replace with your actual tenant token
tenant_token = YOUR-TOKEN
# Replace with your actual endpoint URL
url = 'https://app.graphite-note.com/api/dataset-create'
# Payload for dataset creation
payload = {
"user-code": YOUR-CODE,
"columns": [
{
"name": "order",
"alias": "order",
"type": "dimension",
"subtype": "text"
},
{
"name": "customer_id",
"alias": "customer_id",
"type": "dimension",
"subtype": "text"
},
{
"name": "number_of_items",
"alias": "number_of_items",
"type": "measure",
"subtype": "numeric",
"format": "#,###.##"
}
],
"name": "API dataset test"
}
# Headers with the bearer token
headers = {
"Authorization": f"Bearer {tenant_token}",
"Content-Type": "application/json"
}
# Send the POST request
response = requests.post(url, json=payload, headers=headers)
# Print response
print("Status code:", response.status_code)
print("Response body:", response.json())