PUT /v1/services/messagingServices
curl -X PUT "{base_url}/api/v1/services/messagingServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_kafka",
"serviceType": "Kafka",
"description": "Production Kafka messaging service",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
}
}'
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {
"Authorization": "Bearer your-jwt-token",
"Content-Type": "application/json-patch+json"
}
# Update by ID
response = requests.patch(
f"{base_url}/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
json=[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
],
headers=headers
)
updated = response.json()
print(f"Updated to version {updated['version']}")
import org.openmetadata.schema.entity.services.MessagingService;
import org.openmetadata.sdk.fluent.MessagingServices;
// Retrieve, modify, and update
MessagingService service = MessagingServices.retrieve("469ef25e-9bdf-4d5f-8553-eb0ce8581f30");
service.setDescription("Updated Kafka messaging service");
MessagingService updated = MessagingServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/messagingServices/name/sample_kafka" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"}
]'
{
"id": "469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"name": "sample_kafka",
"fullyQualifiedName": "sample_kafka",
"serviceType": "Kafka",
"description": "Updated Kafka messaging service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
Update a Messaging Service
Create or update a messaging service with a full request body
PUT
/
v1
/
services
/
messagingServices
PUT /v1/services/messagingServices
curl -X PUT "{base_url}/api/v1/services/messagingServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_kafka",
"serviceType": "Kafka",
"description": "Production Kafka messaging service",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
}
}'
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {
"Authorization": "Bearer your-jwt-token",
"Content-Type": "application/json-patch+json"
}
# Update by ID
response = requests.patch(
f"{base_url}/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
json=[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
],
headers=headers
)
updated = response.json()
print(f"Updated to version {updated['version']}")
import org.openmetadata.schema.entity.services.MessagingService;
import org.openmetadata.sdk.fluent.MessagingServices;
// Retrieve, modify, and update
MessagingService service = MessagingServices.retrieve("469ef25e-9bdf-4d5f-8553-eb0ce8581f30");
service.setDescription("Updated Kafka messaging service");
MessagingService updated = MessagingServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/messagingServices/name/sample_kafka" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"}
]'
{
"id": "469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"name": "sample_kafka",
"fullyQualifiedName": "sample_kafka",
"serviceType": "Kafka",
"description": "Updated Kafka messaging service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
Update a Messaging Service
Create a messaging service or update it if it already exists, usingPUT /v1/services/messagingServices 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
PUT /v1/services/messagingServices
curl -X PUT "{base_url}/api/v1/services/messagingServices" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"name": "sample_kafka",
"serviceType": "Kafka",
"description": "Production Kafka messaging service",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
}
}'
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {
"Authorization": "Bearer your-jwt-token",
"Content-Type": "application/json-patch+json"
}
# Update by ID
response = requests.patch(
f"{base_url}/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
json=[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
],
headers=headers
)
updated = response.json()
print(f"Updated to version {updated['version']}")
import org.openmetadata.schema.entity.services.MessagingService;
import org.openmetadata.sdk.fluent.MessagingServices;
// Retrieve, modify, and update
MessagingService service = MessagingServices.retrieve("469ef25e-9bdf-4d5f-8553-eb0ce8581f30");
service.setDescription("Updated Kafka messaging service");
MessagingService updated = MessagingServices.update(service);
# Update by ID
curl -X PATCH "{base_url}/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"},
{"op": "replace", "path": "/displayName", "value": "Sample Kafka (Updated)"}
]'
# Update by name
curl -X PATCH "{base_url}/api/v1/services/messagingServices/name/sample_kafka" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json-patch+json" \
-d '[
{"op": "replace", "path": "/description", "value": "Updated Kafka messaging service"}
]'
{
"id": "469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"name": "sample_kafka",
"fullyQualifiedName": "sample_kafka",
"serviceType": "Kafka",
"description": "Updated Kafka messaging service",
"version": 0.2,
"updatedAt": 1769982700000,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/messagingServices/469ef25e-9bdf-4d5f-8553-eb0ce8581f30",
"connection": {
"config": {
"type": "Kafka",
"bootstrapServers": "localhost:9092",
"securityProtocol": "PLAINTEXT",
"saslMechanism": "PLAIN",
"schemaRegistryTopicSuffixName": "-value",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
Returns
Returns the updated messaging service object with the new version number.Response
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 messaging service |
409 | CONFLICT | Concurrent modification detected |
Was this page helpful?