Dataset Management

Dataset management endpoints for creating, retrieving, updating, and managing data activation datasets within the Streamline platform.

List Organization Datasets

GET /v1/activation/dataset

Retrieves a paginated list of data sets associated with an organization, with optional filtering capabilities.

Query Parameters:

  • entityId (array of strings, optional): List of entity UUIDs to filter datasets
  • label (string, optional): Filter datasets by label text
  • pageSize (integer, optional): Number of items to return per page (1-100, default: 50)
  • pageNumber (integer, optional): Page number to return (one-based, default: 1)

Response (200 OK):

{
  "content": [
    {
      "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
      "label": "Customer Analytics Dataset",
      "descriptor": "Comprehensive dataset for customer behavior analysis including user profiles, orders, and engagement metrics",
      "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
      "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "primaryEntityAlias": "customers",
      "managed": false,
      "invalidated": false,
      "dataTags": ["analytics", "customer_data", "pii"],
      "entityAllowList": [
        "e1b2c3d4-e5f6-7890-1234-567890abcdef",
        "e2b2c3d4-e5f6-7890-1234-567890abcdef"
      ],
      "entityFieldPermissions": [
        {
          "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
          "fieldPermissions": [
            {
              "fieldId": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
              "writeMode": "FULL"
            },
            {
              "fieldId": "f2b2c3d4-e5f6-7890-1234-567890abcdef",
              "writeMode": "NONE"
            }
          ]
        }
      ],
      "traversalRoute": [
        {
          "linkId": "l1b2c3d4-e5f6-7890-1234-567890abcdef",
          "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
          "linkAlias": "customer_orders",
          "traversalMode": "GRAPH",
          "links": []
        }
      ],
      "linkAliases": [
        {
          "linkId": "l1b2c3d4-e5f6-7890-1234-567890abcdef",
          "alias": "customer_orders"
        }
      ]
    },
    {
      "id": "ds2b2c3d-e5f6-7890-1234-567890abcdef",
      "label": "Sales Performance Dataset",
      "descriptor": "Dataset focused on sales metrics, revenue tracking, and performance analytics",
      "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityGraphId": "eg2b2c3d-e5f6-7890-1234-567890abcdef",
      "primaryEntityId": "e3b2c3d4-e5f6-7890-1234-567890abcdef",
      "primaryEntityAlias": "sales",
      "managed": true,
      "invalidated": false,
      "dataTags": ["sales", "revenue", "analytics"],
      "entityAllowList": [
        "e3b2c3d4-e5f6-7890-1234-567890abcdef",
        "e4b2c3d4-e5f6-7890-1234-567890abcdef"
      ],
      "entityFieldPermissions": [],
      "traversalRoute": [],
      "linkAliases": []
    }
  ],
  "page": {
    "size": 2,
    "pageSize": 50,
    "currentPage": 1,
    "totalElements": 2,
    "totalPages": 1
  }
}

Create Dataset

POST /v1/activation/dataset

Creates a new data set for data activation.

Request Body:

Required fields:

  • label
  • organizationId
  • entityGraphId
  • primaryEntityId

Optional fields:

  • descriptor
  • primaryEntityAlias
  • dataTags
  • entityAllowList
  • entityFieldPermissions
  • traversalRoute
  • linkAliases
{
  "label": "Marketing Campaign Dataset",
  "descriptor": "Dataset for analyzing marketing campaign effectiveness and customer engagement",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg3b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "campaigns",
  "dataTags": ["marketing", "campaigns", "engagement"],
  "entityAllowList": [
    "e5b2c3d4-e5f6-7890-1234-567890abcdef",
    "e6b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f5b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        }
      ]
    }
  ],
  "traversalRoute": [
    {
      "linkId": "l3b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
      "linkAlias": "campaign_metrics",
      "traversalMode": "GRAPH",
      "links": []
    }
  ],
  "linkAliases": [
    {
      "linkId": "l3b2c3d4-e5f6-7890-1234-567890abcdef",
      "alias": "campaign_metrics"
    }
  ]
}

Response (200 OK):

{
  "id": "ds3b2c3d-e5f6-7890-1234-567890abcdef",
  "label": "Marketing Campaign Dataset",
  "descriptor": "Dataset for analyzing marketing campaign effectiveness and customer engagement",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg3b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "campaigns",
  "managed": false,
  "invalidated": false,
  "dataTags": ["marketing", "campaigns", "engagement"],
  "entityAllowList": [
    "e5b2c3d4-e5f6-7890-1234-567890abcdef",
    "e6b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f5b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        }
      ]
    }
  ],
  "traversalRoute": [
    {
      "linkId": "l3b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityId": "e5b2c3d4-e5f6-7890-1234-567890abcdef",
      "linkAlias": "campaign_metrics",
      "traversalMode": "GRAPH",
      "links": []
    }
  ],
  "linkAliases": [
    {
      "linkId": "l3b2c3d4-e5f6-7890-1234-567890abcdef",
      "alias": "campaign_metrics"
    }
  ]
}

Get Datasets by Entity IDs (Batch)

POST /v1/activation/dataset/batch

Find datasets grouped by entity ID for multiple entities at once.

Request Body:

Required fields:

  • Array of entity IDs (UUID format)
[
  "e1b2c3d4-e5f6-7890-1234-567890abcdef",
  "e2b2c3d4-e5f6-7890-1234-567890abcdef"
]

Response (200 OK):

{
  "e1b2c3d4-e5f6-7890-1234-567890abcdef": [
    {
      "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
      "label": "Customer Analytics Dataset",
      "descriptor": "Comprehensive dataset for customer behavior analysis",
      "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
      "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "primaryEntityAlias": "customers",
      "managed": false,
      "invalidated": false,
      "dataTags": ["analytics", "customer_data", "pii"]
    }
  ],
  "e2b2c3d4-e5f6-7890-1234-567890abcdef": [
    {
      "id": "ds4b2c3d-e5f6-7890-1234-567890abcdef",
      "label": "Product Catalog Dataset",
      "descriptor": "Dataset containing product information and catalog data",
      "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityGraphId": "eg4b2c3d-e5f6-7890-1234-567890abcdef",
      "primaryEntityId": "e2b2c3d4-e5f6-7890-1234-567890abcdef",
      "primaryEntityAlias": "products",
      "managed": true,
      "invalidated": false,
      "dataTags": ["catalog", "products"]
    }
  ]
}

Get Dataset by ID

GET /v1/activation/dataset/{dataSetId}

Gets a data set by its unique identifier.

Path Parameters:

  • dataSetId (string, required): The ID of the dataset (UUID format)

Response (200 OK):

{
  "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
  "label": "Customer Analytics Dataset",
  "descriptor": "Comprehensive dataset for customer behavior analysis including user profiles, orders, and engagement metrics",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "customers",
  "managed": false,
  "invalidated": false,
  "dataTags": ["analytics", "customer_data", "pii"],
  "entityAllowList": [
    "e1b2c3d4-e5f6-7890-1234-567890abcdef",
    "e2b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        },
        {
          "fieldId": "f2b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "NONE"
        }
      ]
    }
  ],
  "traversalRoute": [
    {
      "linkId": "l1b2c3d4-e5f6-7890-1234-567890abcdef",
      "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "linkAlias": "customer_orders",
      "traversalMode": "GRAPH",
      "links": []
    }
  ],
  "linkAliases": [
    {
      "linkId": "l1b2c3d4-e5f6-7890-1234-567890abcdef",
      "alias": "customer_orders"
    }
  ]
}

Update Dataset

PUT /v1/activation/dataset/{dataSetId}

Updates a complete data set with new configuration.

Path Parameters:

  • dataSetId (string, required): The ID of the dataset (UUID format)

Request Body:

{
  "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
  "label": "Updated Customer Analytics Dataset",
  "descriptor": "Enhanced comprehensive dataset for customer behavior analysis with additional metrics",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "customers_enhanced",
  "dataTags": ["analytics", "customer_data", "pii", "enhanced"],
  "entityAllowList": [
    "e1b2c3d4-e5f6-7890-1234-567890abcdef",
    "e2b2c3d4-e5f6-7890-1234-567890abcdef",
    "e7b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        },
        {
          "fieldId": "f2b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        }
      ]
    }
  ]
}

Response (200 OK):

{
  "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
  "label": "Updated Customer Analytics Dataset",
  "descriptor": "Enhanced comprehensive dataset for customer behavior analysis with additional metrics",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "customers_enhanced",
  "managed": false,
  "invalidated": false,
  "dataTags": ["analytics", "customer_data", "pii", "enhanced"],
  "entityAllowList": [
    "e1b2c3d4-e5f6-7890-1234-567890abcdef",
    "e2b2c3d4-e5f6-7890-1234-567890abcdef",
    "e7b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        },
        {
          "fieldId": "f2b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        }
      ]
    }
  ]
}

Partially Update Dataset

PATCH /v1/activation/dataset/{dataSetId}

Partially updates a data set (label and descriptor only).

Path Parameters:

  • dataSetId (string, required): The ID of the dataset (UUID format)

Request Body:

Optional fields:

  • label
  • descriptor
{
  "label": "Renamed Customer Dataset",
  "descriptor": "Updated description for the customer analytics dataset"
}

Response (200 OK):

{
  "id": "ds1b2c3d-e5f6-7890-1234-567890abcdef",
  "label": "Renamed Customer Dataset",
  "descriptor": "Updated description for the customer analytics dataset",
  "organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "entityGraphId": "eg1b2c3d-e5f6-7890-1234-567890abcdef",
  "primaryEntityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
  "primaryEntityAlias": "customers",
  "managed": false,
  "invalidated": false,
  "dataTags": ["analytics", "customer_data", "pii"],
  "entityAllowList": [
    "e1b2c3d4-e5f6-7890-1234-567890abcdef",
    "e2b2c3d4-e5f6-7890-1234-567890abcdef"
  ],
  "entityFieldPermissions": [
    {
      "entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
      "fieldPermissions": [
        {
          "fieldId": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
          "writeMode": "FULL"
        }
      ]
    }
  ]
}

Delete Dataset

DELETE /v1/activation/dataset/{dataSetId}

Deletes a data set permanently.

Path Parameters:

  • dataSetId (string, required): The ID of the dataset (UUID format)

Response (200 OK):

No response body. The data set was successfully deleted.

Error Responses:

Response (404 Not Found):

{
  "code": "DATASET_NOT_FOUND",
  "title": "Dataset Not Found",
  "detail": "No dataset found with the specified ID",
  "traceId": "req_12345678-abcd-4321-9876-fedcba098765"
}

Response (400 Bad Request):

{
  "code": "INVALID_PATCH_DATA",
  "title": "Invalid Patch Data",
  "detail": "Unsupported fields provided in patch request. Only label and descriptor are allowed.",
  "traceId": "req_12345678-abcd-4321-9876-fedcba098765"
}

Response (422 Unprocessable Entity):

{
  "code": "DATASET_VALIDATION_ERROR",
  "title": "Dataset Validation Failed",
  "detail": "Dataset validation failed. Check required fields and data relationships.",
  "traceId": "req_12345678-abcd-4321-9876-fedcba098765"
}