Data Structures
Searches bucket structures using the provided filters and returns matching data structures.
Bucket structures response
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/buckets/structures HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 69
{
"filters": {
"domain_id": [
101
]
},
"page": 0,
"query": "customer",
"size": 20
}{
"data": [
{
"domain_ids": [
101
],
"external_id": "ds_customer_email",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_email",
"system": {
"external_id": "sys1",
"id": 1,
"name": "System1"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"version": 0
}
],
"filters": {
"domain": [
{
"count": 1,
"key": 101
}
]
},
"scroll_id": null
}Updates template content for data structures using a CSV upload.
Bulk update template content response
Bulk update template content accepted
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/data_structures/bulk_update_template_content HTTP/1.1
Content-Type: multipart/form-data
Accept: */*
Content-Length: 71
{
"auto_publish": false,
"lang": "en",
"structures": "@template_updates.csv"
}{
"hash": "abc123",
"status": "JUST_STARTED",
"task_reference": {
"job_id": "1"
}
}Bulk uploads domain assignments for data structures from a CSV payload.
Bulk upload domains response
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/data_structures/bulk_upload_domains HTTP/1.1
Content-Type: multipart/form-data
Accept: */*
Content-Length: 48
{
"structures_domains": "@structures_domains.csv"
}{
"errors": [
{
"external_id": "ds_customer_name",
"message": {
"field": [
"missing"
]
},
"row": 2
}
],
"ids": [
123,
456
]
}Updates the specified data structure using the supplied payload and optional inheritance flag.
Data structure ID
Whether to inherit changes to versions
falseData structure updated
Unauthorized
Forbidden
Not found
Conflict
Unprocessable Entity
Internal Server Error
PUT /api/data_structures/{id} HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 84
{
"data_structure": {
"name": "customer_email",
"note": "Updated by API"
},
"inherit": false
}{
"data": {
"domain_ids": [
101
],
"external_id": "ds_customer",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_table",
"system": {
"external_id": "sys1",
"id": 1,
"name": "SystemA"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"user_permissions": {
"confidential": true,
"update": false,
"view_profiling_permission": false
},
"version": 0
},
"user_permissions": {
"confidential": true,
"update": false,
"view_profiling_permission": false
}
}Deletes the specified data structure, either logically or permanently depending on query parameters.
Data structure ID
If true, performs logical deletion (soft delete)
falsePossible values: Data structure deleted
No content
Unauthorized
Forbidden
Not found
Internal Server Error
DELETE /api/data_structures/{id} HTTP/1.1
Accept: */*
No content
Updates the specified data structure using the supplied payload and optional inheritance flag.
Data structure ID
Whether to inherit changes to versions
falseData structure updated
Unauthorized
Forbidden
Not found
Conflict
Unprocessable Entity
Internal Server Error
PATCH /api/data_structures/{id} HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 84
{
"data_structure": {
"name": "customer_email",
"note": "Updated by API"
},
"inherit": false
}{
"data": {
"domain_ids": [
101
],
"external_id": "ds_customer",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_table",
"system": {
"external_id": "sys1",
"id": 1,
"name": "SystemA"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"user_permissions": {
"confidential": true,
"update": false,
"view_profiling_permission": false
},
"version": 0
},
"user_permissions": {
"confidential": true,
"update": false,
"view_profiling_permission": false
}
}Uploads data structures metadata via multipart form data and returns the uploaded version.
CSV file with field metadata
CSV file with structure relations
CSV file with structure metadata
Domain external ID to assign to all structures
External ID of the structure to update synchronously
Inherit domains from parent (true/false)
Job ID for tracking
Operation type (upsert, etc.)
Parent external ID for synchronous update
Source external ID
Metadata upload completed
Metadata upload accepted
Unauthorized
Forbidden
Not found
Unprocessable Entity
Internal Server Error
POST /api/data_structures/metadata HTTP/1.1
Content-Type: multipart/form-data
Accept: */*
Content-Length: 179
{
"data_fields": "@data_fields.csv",
"data_structure_relations": "@data_structure_relations.csv",
"data_structures": "@data_structures.csv",
"external_id": "parent_structure_external_id"
}{
"data": {
"external_id": "ds_customer_email",
"group": "Group1",
"id": 123,
"name": "customer_email",
"system": {
"id": 1,
"name": "System1"
},
"type": "table",
"version": 1
}
}Uploads data structures metadata via multipart form data and returns the uploaded version.
CSV file with field metadata
CSV file with structure relations
CSV file with structure metadata
Domain external ID to assign to all structures
External ID of the structure to update synchronously
Inherit domains from parent (true/false)
Job ID for tracking
Operation type (upsert, etc.)
Parent external ID for synchronous update
Source external ID
Metadata upload completed
Metadata upload accepted
Unauthorized
Forbidden
Not found
Unprocessable Entity
Internal Server Error
PATCH /api/data_structures/metadata HTTP/1.1
Content-Type: multipart/form-data
Accept: */*
Content-Length: 179
{
"data_fields": "@data_fields.csv",
"data_structure_relations": "@data_structure_relations.csv",
"data_structures": "@data_structures.csv",
"external_id": "parent_structure_external_id"
}{
"data": {
"external_id": "ds_customer_email",
"group": "Group1",
"id": 123,
"name": "customer_email",
"system": {
"id": 1,
"name": "System1"
},
"type": "table",
"version": 1
}
}Retrieves a paginated list of data structures based on search parameters and permissions.
Data structures list response
Unauthorized
Unprocessable Entity
Internal Server Error
GET /api/data_structures HTTP/1.1
Accept: */*
{
"data": [
{
"domain_ids": [
101
],
"external_id": "ds_customer_email",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_email",
"system": {
"external_id": "sys1",
"id": 1,
"name": "System1"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"version": 0
}
],
"filters": {
"domain": [
{
"count": 1,
"key": 101
}
]
},
"scroll_id": null
}Searches structure tags with the given filters and returns paginated results including total count.
Return structure tags with ID greater than or equal to this value
Return structure tags updated at or after this timestamp (ISO 8601)
Maximum number of results to return
Structure tag search response
Unauthorized
Internal Server Error
POST /api/data_structures/structure_tags/search HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"min_id": 1,
"since": "2026-05-01T00:00:00Z",
"size": 20
}{
"data": [
{
"comment": "example",
"data_structure_id": 123,
"id": 1,
"inserted_at": "2026-05-07T10:00:00Z",
"tag_id": 456,
"updated_at": "2026-05-07T10:00:00Z"
}
]
}Retrieves metrics for data structures using the provided filters, when permitted.
050Data structures metrics
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/data_structures/metrics HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 51
{
"page": 0,
"since": "2026-05-01T00:00:00Z",
"size": 20
}{
"data": [
{
"confidential": false,
"domain_ids": [
101
],
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"name": "customer_table",
"system_id": 1,
"type": "table",
"updated_at": "2026-06-10T10:00:00Z",
"version": 1
}
]
}Performs a bulk update on matching data structures using the supplied update payload.
Bulk update response
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
POST /api/data_structures/bulk_update HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 140
{
"bulk_update_request": {
"auto_publish": false,
"search_params": {
"filters": {
"domain_id": [
101
]
}
},
"update_attributes": {
"note": "Updated by API"
}
}
}{
"errors": [
{
"external_id": "ds_customer_name",
"field": null,
"message": "content_unchanged"
}
],
"ids": [
123,
456
]
}Searches data structures using the supplied filters and returns matching results.
Search data structures response
Unauthorized
Unprocessable Entity
Internal Server Error
POST /api/data_structures/search HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 69
{
"filters": {
"domain_id": [
101
]
},
"page": 0,
"query": "customer",
"size": 20
}{
"data": [
{
"domain_ids": [
101
],
"external_id": "ds_customer_email",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_email",
"system": {
"external_id": "sys1",
"id": 1,
"name": "System1"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"version": 0
}
],
"filters": {
"domain": [
{
"count": 1,
"key": 101
}
]
},
"scroll_id": null
}Retrieves all data structures for the specified system.
System ID
System structures response
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error
GET /api/systems/{system_id}/structures HTTP/1.1
Accept: */*
{
"data": [
{
"domain_ids": [
101
],
"external_id": "ds_customer_email",
"id": 123,
"inserted_at": "2026-06-10T10:00:00Z",
"metadata": {
"description": "some description"
},
"name": "customer_email",
"system": {
"external_id": "sys1",
"id": 1,
"name": "System1"
},
"type": "Table",
"updated_at": "2026-06-10T10:00:00Z",
"version": 0
}
],
"filters": {
"domain": [
{
"count": 1,
"key": 101
}
]
},
"scroll_id": null
}Last updated