Patch domain template
Saves changes to a domain's template. Behaves identically to
PUT -- accepts the same request body and applies the same
validation and merge logic.
Authorization
BearerAuth A project-scoped access token. Generate one via the Token API with your projectId and projectSecret.
In: header
Path Parameters
The unique identifier of the semantic domain.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X patch "https://semaphor.cloud/api/v1/domains/domain_abc123/template" \ -H "Content-Type: application/json" \ -d '{ "template": {} }'{
"save": {
"success": true
},
"template": {
"schemaVersion": "2.0",
"id": "domain_abc123",
"name": "sales_metrics",
"label": "Sales Metrics",
"description": "Revenue and order tracking",
"datasets": [
{
"name": "orders",
"label": "Orders",
"type": "physical",
"connectionId": "conn_1",
"connectionType": "PostgreSQL",
"catalog": "string",
"schema": "public",
"table": "orders",
"sql": "string",
"primaryKey": [
"order_id"
],
"fields": {
"identifiers": [
{}
],
"dimensions": [
{}
],
"metrics": [
{}
]
}
}
],
"relationships": [
{
"id": "string",
"name": "orders_to_customers",
"sourceDataset": "orders",
"sourceFields": [
"customer_id"
],
"targetDataset": "customers",
"targetFields": [
"id"
],
"cardinality": "many_to_one",
"defaultJoinType": "LEFT",
"isAutoJoin": true,
"joinPriority": 10,
"discoveredBy": "ai",
"confidence": "high",
"isActive": true,
"description": "string"
}
],
"calculatedMetrics": {},
"calculatedDimensions": {},
"grainMappings": [
{}
]
},
"warnings": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
]
}{
"error": "string",
"details": {},
"errors": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
],
"warnings": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
]
}{
"error": "string",
"details": {},
"errors": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
],
"warnings": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
]
}{
"error": "string",
"details": {},
"errors": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
],
"warnings": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
]
}{
"error": "string",
"details": {},
"errors": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
],
"warnings": [
{
"code": "SCHEMA",
"message": "Template schema error at datasets.0.name: Required",
"severity": "error",
"hint": "Update the domain template shape to match the semantic schema.",
"context": {}
}
]
}