PATCH /v1/tables/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Tables
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
table = Tables.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
table.description = "Updated customer master data table with PII fields"
updated = Tables.update(table)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.Table;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
Table table = client.tables().get("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
table.setDescription("Updated customer master data table with PII fields");
Table updated = client.tables().update("a1b2c3d4-e5f6-7890-abcd-ef1234567890", table);
# Update by ID
curl -X PATCH "{base_url}/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/tables/name/sample_data.ecommerce_db.shopify.agent_performance_summary" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
{
"id": "455e3d9d-dbbf-455e-b3be-7191daa825f3",
"name": "agent_performance_summary",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary",
"description": "Updated agent performance summary with new metrics.",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3",
"tableType": "Regular",
"columns": [
{
"name": "agent_id",
"dataType": "VARCHAR",
"dataLength": 100,
"dataTypeDisplay": "varchar",
"description": "Agent identifier",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.agent_id",
"tags": [],
"ordinalPosition": 1
},
{
"name": "performance_score",
"dataType": "DECIMAL",
"dataTypeDisplay": "decimal",
"description": "Overall performance score",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.performance_score",
"tags": [],
"ordinalPosition": 2
}
],
"owners": [],
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"displayName": "shopify",
"deleted": false
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"displayName": "ecommerce_db",
"deleted": false
},
"service": {
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"type": "databaseService",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"displayName": "sample_data",
"deleted": false
},
"serviceType": "BigQuery",
"tags": [],
"deleted": false
}
Update a Table
Update table properties using JSON Patch operations (add, remove, replace) to modify metadata fields like description, owners, tags, and custom properties via the Collate REST API.
PATCH
/
v1
/
tables
/
{id}
PATCH /v1/tables/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Tables
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
table = Tables.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
table.description = "Updated customer master data table with PII fields"
updated = Tables.update(table)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.Table;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
Table table = client.tables().get("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
table.setDescription("Updated customer master data table with PII fields");
Table updated = client.tables().update("a1b2c3d4-e5f6-7890-abcd-ef1234567890", table);
# Update by ID
curl -X PATCH "{base_url}/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/tables/name/sample_data.ecommerce_db.shopify.agent_performance_summary" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
{
"id": "455e3d9d-dbbf-455e-b3be-7191daa825f3",
"name": "agent_performance_summary",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary",
"description": "Updated agent performance summary with new metrics.",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3",
"tableType": "Regular",
"columns": [
{
"name": "agent_id",
"dataType": "VARCHAR",
"dataLength": 100,
"dataTypeDisplay": "varchar",
"description": "Agent identifier",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.agent_id",
"tags": [],
"ordinalPosition": 1
},
{
"name": "performance_score",
"dataType": "DECIMAL",
"dataTypeDisplay": "decimal",
"description": "Overall performance score",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.performance_score",
"tags": [],
"ordinalPosition": 2
}
],
"owners": [],
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"displayName": "shopify",
"deleted": false
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"displayName": "ecommerce_db",
"deleted": false
},
"service": {
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"type": "databaseService",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"displayName": "sample_data",
"deleted": false
},
"serviceType": "BigQuery",
"tags": [],
"deleted": false
}
Update a Table
Update a table’s properties using JSON Merge Patch. You can update by ID or by fully qualified name.Update by ID
Update by Name
UsePATCH /v1/tables/name/{fqn} to update by fully qualified name.
Fully qualified name of the table, for example
snowflake_prod.analytics.public.customers.Body Parameters
Send a JSON object with the fields to update. Only provided fields are changed.PATCH /v1/tables/{id}
from metadata.sdk import configure
from metadata.sdk.entities import Tables
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
table = Tables.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
table.description = "Updated customer master data table with PII fields"
updated = Tables.update(table)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.Table;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
Table table = client.tables().get("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
table.setDescription("Updated customer master data table with PII fields");
Table updated = client.tables().update("a1b2c3d4-e5f6-7890-abcd-ef1234567890", table);
# Update by ID
curl -X PATCH "{base_url}/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/tables/name/sample_data.ecommerce_db.shopify.agent_performance_summary" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated agent performance summary with new metrics."}
]'
{
"id": "455e3d9d-dbbf-455e-b3be-7191daa825f3",
"name": "agent_performance_summary",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary",
"description": "Updated agent performance summary with new metrics.",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/tables/455e3d9d-dbbf-455e-b3be-7191daa825f3",
"tableType": "Regular",
"columns": [
{
"name": "agent_id",
"dataType": "VARCHAR",
"dataLength": 100,
"dataTypeDisplay": "varchar",
"description": "Agent identifier",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.agent_id",
"tags": [],
"ordinalPosition": 1
},
{
"name": "performance_score",
"dataType": "DECIMAL",
"dataTypeDisplay": "decimal",
"description": "Overall performance score",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.agent_performance_summary.performance_score",
"tags": [],
"ordinalPosition": 2
}
],
"owners": [],
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify",
"displayName": "shopify",
"deleted": false
},
"database": {
"id": "0be090de-0941-48c4-af49-a6157c91cda0",
"type": "database",
"name": "ecommerce_db",
"fullyQualifiedName": "sample_data.ecommerce_db",
"displayName": "ecommerce_db",
"deleted": false
},
"service": {
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"type": "databaseService",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"displayName": "sample_data",
"deleted": false
},
"serviceType": "BigQuery",
"tags": [],
"deleted": false
}
Returns
Returns the updated table object with the new version number.Response
Error Handling
| Code | Error Type | Description |
|---|---|---|
400 | BAD_REQUEST | Invalid JSON patch or malformed request |
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to update this table |
404 | NOT_FOUND | Table with given ID or FQN does not exist |
409 | CONFLICT | Concurrent modification detected |
Was this page helpful?