PUT /v1/services/databaseServices
curl -X PUT "{base_url}/api/v1/services/databaseServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_data",
"serviceType": "BigQuery",
"description": "Sample data service for BigQuery",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
}
}'
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
service.description = "Updated production Snowflake warehouse"
service.displayName = "Snowflake Prod (Updated)"
updated = DatabaseServices.update(service)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.DatabaseService;
import org.openmetadata.sdk.fluent.DatabaseServices;
// Retrieve, modify, and update
DatabaseService service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
service.setDescription("Updated production Snowflake warehouse");
DatabaseService updated = DatabaseServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"},
{"op": "replace", "path": "/displayName", "value": "Sample Data (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/databaseServices/name/sample_data" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"}
]'
{
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"serviceType": "BigQuery",
"description": "Updated BigQuery data service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyProjectID": [],
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": [],
"entityStatus": "Unprocessed"
}
Update a Database Service
Create or update a database service with a full request body
PUT
/
v1
/
services
/
databaseServices
PUT /v1/services/databaseServices
curl -X PUT "{base_url}/api/v1/services/databaseServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_data",
"serviceType": "BigQuery",
"description": "Sample data service for BigQuery",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
}
}'
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
service.description = "Updated production Snowflake warehouse"
service.displayName = "Snowflake Prod (Updated)"
updated = DatabaseServices.update(service)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.DatabaseService;
import org.openmetadata.sdk.fluent.DatabaseServices;
// Retrieve, modify, and update
DatabaseService service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
service.setDescription("Updated production Snowflake warehouse");
DatabaseService updated = DatabaseServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"},
{"op": "replace", "path": "/displayName", "value": "Sample Data (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/databaseServices/name/sample_data" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"}
]'
{
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"serviceType": "BigQuery",
"description": "Updated BigQuery data service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyProjectID": [],
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": [],
"entityStatus": "Unprocessed"
}
Update a Database Service
Create a database service or update it if it already exists, usingPUT /v1/services/databaseServices with the full request body. Send the complete definition, not just the fields you want to change. To change only some fields, use PATCH with a JSON Patch array and the application/json-patch+json content type, as shown in the PATCH examples below.
Body Parameters
string
required
Name of the database service. Must be unique across all database services.
string
required
Type of database service, for example
Snowflake, BigQuery, Postgres, Mysql, Redshift, Databricks.string
Description of the database service in Markdown format.
string
Human-readable display name for the database service.
object
Connection configuration specific to the service type.
Show properties
Show properties
object
Service-specific connection configuration, for example
account, warehouse, database for Snowflake.array
array
Fully qualified names of the domains to assign for governance purposes.
array
PUT /v1/services/databaseServices
curl -X PUT "{base_url}/api/v1/services/databaseServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_data",
"serviceType": "BigQuery",
"description": "Sample data service for BigQuery",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
}
}'
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Retrieve, modify, and update
service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
service.description = "Updated production Snowflake warehouse"
service.displayName = "Snowflake Prod (Updated)"
updated = DatabaseServices.update(service)
print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.DatabaseService;
import org.openmetadata.sdk.fluent.DatabaseServices;
// Retrieve, modify, and update
DatabaseService service = DatabaseServices.retrieve("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
service.setDescription("Updated production Snowflake warehouse");
DatabaseService updated = DatabaseServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"},
{"op": "replace", "path": "/displayName", "value": "Sample Data (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/databaseServices/name/sample_data" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated BigQuery data service"}
]'
{
"id": "fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"name": "sample_data",
"fullyQualifiedName": "sample_data",
"serviceType": "BigQuery",
"description": "Updated BigQuery data service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/databaseServices/fd2193af-fe09-4366-92b7-1e0d01cd8c09",
"connection": {
"config": {
"type": "BigQuery",
"scheme": "bigquery",
"hostPort": "bigquery.googleapis.com",
"taxonomyProjectID": [],
"taxonomyLocation": "us",
"usageLocation": "us",
"supportsMetadataExtraction": true,
"supportsUsageExtraction": true,
"supportsLineageExtraction": true,
"supportsDBTExtraction": true,
"supportsProfiler": true,
"supportsQueryComment": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": [],
"entityStatus": "Unprocessed"
}
Returns
Returns the updated database service object with the new version number.Response
string
Unique identifier for the database service (UUID format).
string
Database service name.
string
Fully qualified name of the service.
string
Updated description.
number
Incremented version number.
Error Handling
| Code | Error Type | Description |
|---|---|---|
400 | BAD_REQUEST | Invalid or malformed request body |
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to update this database service |
409 | CONFLICT | Concurrent modification detected |
Was this page helpful?