Data Fields
Data field management endpoints for discovering, retrieving, and managing fields within data entities in the Streamline data catalog system.
List All Data Fields
GET /v1/data-catalog/data-fields
Retrieve a paginated list of data fields with optional filtering and sorting capabilities.
Query Parameters:
pageSize
(integer, optional): Number of items to return per page (1-1000, default: 50)pageNumber
(integer, optional): Page number to return (one-based, default: 1)sortField
(string, optional): Field to sort results by (default: id)sortDirection
(string, optional): Direction to sort results (ASC, DESC, default: ASC)entityId
(string, optional): Filter results by entity ID (UUID format)label
(string, optional): Filter results by label text
Response (200 OK):
{
"content": [
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"isDataClassOverridden": false,
"originalDataClassId": "dc_001",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.user_id",
"caseSensitivityCapability": "CASE_SENSITIVE_ONLY",
"defaultValue": {
"type": "RANDOM_UUID",
"defaultExpression": "uuid_generate_v4()",
"value": null
},
"discoveredValues": [
"user_123",
"user_456",
"user_789"
],
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T10:30:00Z"
},
{
"id": "f2b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "Email Address",
"descriptor": "User's primary email address for communication",
"nativeIdentifier": "email",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_002",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": true,
"searchable": true,
"isManaged": false,
"dataClassId": "dc_002",
"dataClassName": "Email Address",
"isDataClassOverridden": false,
"originalDataClassId": "dc_002",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.email",
"caseSensitivityCapability": "CASE_INSENSITIVE",
"defaultValue": null,
"discoveredValues": [
"[email protected]",
"[email protected]",
"[email protected]"
],
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T10:35:00Z"
}
],
"page": {
"size": 2,
"pageSize": 50,
"currentPage": 0,
"number": 0,
"totalElements": 2,
"totalPages": 1
}
}
Get Data Fields by Entity IDs (Batch)
POST /v1/data-catalog/data-fields/batch
Look up fields for multiple entity IDs 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": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"createdAt": "2024-01-15T10:30:00Z"
}
],
"e2b2c3d4-e5f6-7890-1234-567890abcdef": [
{
"id": "f3b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e2b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "Order ID",
"descriptor": "Unique identifier for order records",
"nativeIdentifier": "order_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"scalarType": "INTEGER",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_003",
"dataClassName": "Order Identifier",
"createdAt": "2024-01-15T10:45:00Z"
}
]
}
Get Entity Fields
GET /v1/data-catalog/entity/{entityId}/data-fields
Get all data fields belonging to a specific entity.
Path Parameters:
entityId
(string, required): Unique identifier of the entity to get fields for (UUID format)
Response (200 OK):
[
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"isDataClassOverridden": false,
"originalDataClassId": "dc_001",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.user_id",
"caseSensitivityCapability": "CASE_SENSITIVE_ONLY",
"defaultValue": {
"type": "RANDOM_UUID",
"defaultExpression": "uuid_generate_v4()",
"value": null
},
"discoveredValues": [
"user_123",
"user_456",
"user_789"
],
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T10:30:00Z"
}
]
Create Entity Field
POST /v1/data-catalog/entity/{entityId}/data-fields
Create a new data field on an existing entity.
Path Parameters:
entityId
(string, required): Unique identifier of the entity to add a field to (UUID format)
Request Body:
Required fields:
- label
- nativeIdentifier
- scalarType
Optional fields:
- descriptor
- nullable
- createable
- updateable
- searchable
- dataClassId
- locator
- defaultValue
- fieldMetadata
{
"label": "Last Login Date",
"descriptor": "Timestamp of the user's most recent login",
"nativeIdentifier": "last_login_date",
"scalarType": "TIMESTAMP",
"nullable": true,
"createable": false,
"updateable": true,
"searchable": true,
"dataClassId": "dc_004",
"locator": "users.last_login_date",
"defaultValue": {
"type": "CURRENT_TIMESTAMP",
"defaultExpression": "CURRENT_TIMESTAMP",
"value": null
},
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
}
}
Response (200 OK):
{
"id": "f4b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "Last Login Date",
"descriptor": "Timestamp of the user's most recent login",
"nativeIdentifier": "last_login_date",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_004",
"definitionVersion": "1.0",
"scalarType": "TIMESTAMP",
"nullable": true,
"createable": false,
"updateable": true,
"searchable": true,
"isManaged": false,
"dataClassId": "dc_004",
"dataClassName": "Timestamp",
"isDataClassOverridden": false,
"originalDataClassId": "dc_004",
"locator": "users.last_login_date",
"caseSensitivityCapability": "UNKNOWN",
"defaultValue": {
"type": "CURRENT_TIMESTAMP",
"defaultExpression": "CURRENT_TIMESTAMP",
"value": null
},
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T11:00:00Z"
}
Get Single Field
GET /v1/data-catalog/entity/{entityId}/data-fields/{fieldId}
Get detailed information about a specific field on an entity.
Path Parameters:
entityId
(string, required): Unique identifier of the entity (UUID format)fieldId
(string, required): Unique identifier of the field to retrieve (UUID format)
Response (200 OK):
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"isDataClassOverridden": false,
"originalDataClassId": "dc_001",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.user_id",
"caseSensitivityCapability": "CASE_SENSITIVE_ONLY",
"defaultValue": {
"type": "RANDOM_UUID",
"defaultExpression": "uuid_generate_v4()",
"value": null
},
"discoveredValues": [
"user_123",
"user_456",
"user_789"
],
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T10:30:00Z"
}
Update Field
PUT /v1/data-catalog/entity/{entityId}/data-fields/{fieldId}
Update an existing data field on an entity.
Path Parameters:
entityId
(string, required): Unique identifier of the entity (UUID format)fieldId
(string, required): Unique identifier of the field to update (UUID format)
Request Body:
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User Identifier",
"descriptor": "Updated description: Unique identifier for user records with enhanced tracking",
"nativeIdentifier": "user_id",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"dataClassId": "dc_001",
"locator": "users.user_id",
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
}
}
Response (200 OK):
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User Identifier",
"descriptor": "Updated description: Unique identifier for user records with enhanced tracking",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.1",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"isDataClassOverridden": false,
"originalDataClassId": "dc_001",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.user_id",
"caseSensitivityCapability": "CASE_SENSITIVE_ONLY",
"defaultValue": {
"type": "RANDOM_UUID",
"defaultExpression": "uuid_generate_v4()",
"value": null
},
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": false,
"labelAndValues": []
}
},
"createdAt": "2024-01-15T10:30:00Z"
}
Update Data Class on Field
PUT /v1/data-catalog/entity/{entityId}/data-fields/{fieldId}/data-class-id
Update the data class assignment for a specific field.
Path Parameters:
entityId
(string, required): Unique identifier of the entity (UUID format)fieldId
(string, required): Unique identifier of the field to update (UUID format)
Request Body:
Required fields:
- dataClassId
{
"dataClassId": "dc_005"
}
Response (200 OK):
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_005",
"dataClassName": "Updated Data Class",
"isDataClassOverridden": true,
"originalDataClassId": "dc_001",
"dataClassCodeVersion": "1.2.0",
"dataClassModelVersion": "2.1.0",
"locator": "users.user_id",
"caseSensitivityCapability": "CASE_SENSITIVE_ONLY",
"createdAt": "2024-01-15T10:30:00Z"
}
Update Field Metadata
POST /v1/data-catalog/entity/{entityId}/data-fields/{fieldId}/metadata
Update metadata configuration for a specific field.
Path Parameters:
entityId
(string, required): Unique identifier of the entity (UUID format)fieldId
(string, required): Unique identifier of the field to update (UUID format)
Request Body:
Required fields:
- labelsAndValuesConfig
{
"labelsAndValuesConfig": {
"expandable": true,
"labelAndValues": [
{
"label": "Active",
"value": "active",
"valueManaged": true,
"translations": {
"es": "Activo",
"fr": "Actif"
}
},
{
"label": "Inactive",
"value": "inactive",
"valueManaged": true,
"translations": {
"es": "Inactivo",
"fr": "Inactif"
}
}
]
}
}
Response (200 OK):
{
"id": "f1b2c3d4-e5f6-7890-1234-567890abcdef",
"entityId": "e1b2c3d4-e5f6-7890-1234-567890abcdef",
"label": "User ID",
"descriptor": "Unique identifier for user records",
"nativeIdentifier": "user_id",
"organizationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"catalogHistoryId": "h1b2c3d4-e5f6-7890-1234-567890abcdef",
"definitionId": "def_001",
"definitionVersion": "1.0",
"scalarType": "VARCHAR",
"nullable": false,
"createable": true,
"updateable": false,
"searchable": true,
"isManaged": true,
"dataClassId": "dc_001",
"dataClassName": "Personal Identifier",
"isDataClassOverridden": false,
"originalDataClassId": "dc_001",
"fieldMetadata": {
"labelsAndValuesConfig": {
"expandable": true,
"labelAndValues": [
{
"label": "Active",
"value": "active",
"valueManaged": true,
"translations": {
"es": "Activo",
"fr": "Actif"
}
},
{
"label": "Inactive",
"value": "inactive",
"valueManaged": true,
"translations": {
"es": "Inactivo",
"fr": "Inactif"
}
}
]
}
},
"createdAt": "2024-01-15T10:30:00Z"
}
Error Responses:
Response (404 Not Found):
{
"code": "FIELD_NOT_FOUND",
"title": "Field Not Found",
"detail": "No field found with the specified ID on the given entity",
"traceId": "req_12345678-abcd-4321-9876-fedcba098765"
}
Response (400 Bad Request):
{
"code": "INVALID_FIELD_DATA",
"title": "Invalid Field Data",
"detail": "Field data validation failed. Check required fields and data types.",
"traceId": "req_12345678-abcd-4321-9876-fedcba098765"
}
Updated 15 days ago