PATCH /v1/databaseSchemas/{id}
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseSchemas
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
schema = DatabaseSchemas.retrieve("770e8400-e29b-41d4-a716-446655440000")
schema.description = "Updated public schema for analytics"
schema.retentionPeriod = "P730D"
updated = DatabaseSchemas.update(schema)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.DatabaseSchema;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
DatabaseSchema schema = client.databaseSchemas().get("770e8400-e29b-41d4-a716-446655440000");
schema.setDescription("Updated public schema for analytics");
DatabaseSchema updated = client.databaseSchemas().update("770e8400-e29b-41d4-a716-446655440000", schema);
# Update by ID
curl -X PATCH "{base_url}/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/databaseSchemas/name/Glue.default.information_schema" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
{
"id": "f681432b-e66c-4096-a1cd-7771358c5323",
"name": "information_schema",
"fullyQualifiedName": "Glue.default.information_schema",
"description": "Updated schema for Glue service tables",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323",
"owners": [],
"service": {
"id": "0fab117a-4c58-4ebb-9d42-beab0768fa8e",
"type": "databaseService",
"name": "Glue",
"fullyQualifiedName": "Glue",
"displayName": "Glue",
"deleted": false,
"href": "http://localhost:8585/api/v1/services/databaseServices/0fab117a-4c58-4ebb-9d42-beab0768fa8e"
},
"serviceType": "Glue",
"database": {
"id": "9655ba5b-b8d7-419c-98f4-16b976692ad8",
"type": "database",
"name": "default",
"fullyQualifiedName": "Glue.default",
"displayName": "default",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/9655ba5b-b8d7-419c-98f4-16b976692ad8"
},
"tags": [],
"deleted": false,
"sourceUrl": "https://www.glue.com/information_schema",
"domains": [],
"entityStatus": "Unprocessed"
}
Update a Database Schema
Update database schema 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
/
databaseSchemas
/
{id}
PATCH /v1/databaseSchemas/{id}
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseSchemas
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
schema = DatabaseSchemas.retrieve("770e8400-e29b-41d4-a716-446655440000")
schema.description = "Updated public schema for analytics"
schema.retentionPeriod = "P730D"
updated = DatabaseSchemas.update(schema)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.DatabaseSchema;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
DatabaseSchema schema = client.databaseSchemas().get("770e8400-e29b-41d4-a716-446655440000");
schema.setDescription("Updated public schema for analytics");
DatabaseSchema updated = client.databaseSchemas().update("770e8400-e29b-41d4-a716-446655440000", schema);
# Update by ID
curl -X PATCH "{base_url}/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/databaseSchemas/name/Glue.default.information_schema" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
{
"id": "f681432b-e66c-4096-a1cd-7771358c5323",
"name": "information_schema",
"fullyQualifiedName": "Glue.default.information_schema",
"description": "Updated schema for Glue service tables",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323",
"owners": [],
"service": {
"id": "0fab117a-4c58-4ebb-9d42-beab0768fa8e",
"type": "databaseService",
"name": "Glue",
"fullyQualifiedName": "Glue",
"displayName": "Glue",
"deleted": false,
"href": "http://localhost:8585/api/v1/services/databaseServices/0fab117a-4c58-4ebb-9d42-beab0768fa8e"
},
"serviceType": "Glue",
"database": {
"id": "9655ba5b-b8d7-419c-98f4-16b976692ad8",
"type": "database",
"name": "default",
"fullyQualifiedName": "Glue.default",
"displayName": "default",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/9655ba5b-b8d7-419c-98f4-16b976692ad8"
},
"tags": [],
"deleted": false,
"sourceUrl": "https://www.glue.com/information_schema",
"domains": [],
"entityStatus": "Unprocessed"
}
Update a Database Schema
Update a database schema’s properties using JSON Merge Patch. You can update by ID or by fully qualified name.Update by ID
Update by Name
UsePATCH /v1/databaseSchemas/name/{fqn} to update by fully qualified name.
Body Parameters
Send a JSON object with the fields to update. Only provided fields are changed.PATCH /v1/databaseSchemas/{id}
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseSchemas
configure(
host="https://your-company.getcollate.io/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
schema = DatabaseSchemas.retrieve("770e8400-e29b-41d4-a716-446655440000")
schema.description = "Updated public schema for analytics"
schema.retentionPeriod = "P730D"
updated = DatabaseSchemas.update(schema)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.data.DatabaseSchema;
// client is an initialized OpenMetadataClient.
// Retrieve, modify, and update
DatabaseSchema schema = client.databaseSchemas().get("770e8400-e29b-41d4-a716-446655440000");
schema.setDescription("Updated public schema for analytics");
DatabaseSchema updated = client.databaseSchemas().update("770e8400-e29b-41d4-a716-446655440000", schema);
# Update by ID
curl -X PATCH "{base_url}/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/databaseSchemas/name/Glue.default.information_schema" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated schema for Glue service tables"}
]'
{
"id": "f681432b-e66c-4096-a1cd-7771358c5323",
"name": "information_schema",
"fullyQualifiedName": "Glue.default.information_schema",
"description": "Updated schema for Glue service tables",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/databaseSchemas/f681432b-e66c-4096-a1cd-7771358c5323",
"owners": [],
"service": {
"id": "0fab117a-4c58-4ebb-9d42-beab0768fa8e",
"type": "databaseService",
"name": "Glue",
"fullyQualifiedName": "Glue",
"displayName": "Glue",
"deleted": false,
"href": "http://localhost:8585/api/v1/services/databaseServices/0fab117a-4c58-4ebb-9d42-beab0768fa8e"
},
"serviceType": "Glue",
"database": {
"id": "9655ba5b-b8d7-419c-98f4-16b976692ad8",
"type": "database",
"name": "default",
"fullyQualifiedName": "Glue.default",
"displayName": "default",
"deleted": false,
"href": "http://localhost:8585/api/v1/databases/9655ba5b-b8d7-419c-98f4-16b976692ad8"
},
"tags": [],
"deleted": false,
"sourceUrl": "https://www.glue.com/information_schema",
"domains": [],
"entityStatus": "Unprocessed"
}
Returns
Returns the updated database schema 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 schema |
404 | NOT_FOUND | Schema with given ID or FQN does not exist |
409 | CONFLICT | Concurrent modification detected |
Was this page helpful?