Create

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:

url = 'https://app.graphite-note.com/api/dataset-create'
  1. To create a new dataset, make a POST request to /dataset-create with the required parameters in the request body.

  2. To specify the dataset structure, include an array of column definitions with each column's name, alias, type, subtype, and optional format.

  • Type can be:

    • measure

    • dimension

  • Subtype can be:

    • text

    • numeric

    • date

    • datetime

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

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

{
  "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

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())

Last updated

Was this helpful?