Semantic Model Schema

This page contains the complete JSON schema for Semantic Model.

1{
2  "$schema": "http://json-schema.org/draft-07/schema#",
3  "$id": "https://salesforce.com/schemas/semantic-model-output.json",
4  "title": "Salesforce Semantic Model Output Schema",
5  "description": "Schema representing the Salesforce semantic model",
6  "type": "object",
7  "required": ["apiName"],
8  "properties": {
9    "id": {
10      "type": "string",
11      "description": "The object ID of the semantic model"
12    },
13    "apiName": {
14      "type": "string",
15      "description": "The API name of the semantic model"
16    },
17    "label": {
18      "type": "string",
19      "description": "The display name of the semantic model to be used in the UI"
20    },
21    "baseModelApiName": {
22      "type": "string",
23      "description": "The origin model of the semantic entity"
24    },
25    "createdBy": {
26      "type": "string",
27      "description": "The user who created the semantic model"
28    },
29    "createdDate": {
30      "type": "string",
31      "format": "date-time",
32      "description": "The date when the semantic model was created"
33    },
34    "lastModifiedBy": {
35      "type": "string",
36      "description": "The user who last modified the semantic model"
37    },
38    "lastModifiedDate": {
39      "type": "string",
40      "format": "date-time",
41      "description": "The date when the semantic model was last modified"
42    },
43    "description": {
44      "type": "string",
45      "description": "The description of the semantic model"
46    },
47    "cacheKey": {
48      "type": "string",
49      "description": "The canonical URL for caching purposes"
50    },
51    "externalConnectionApiName": {
52      "type": "string",
53      "description": "References the external connection details for external definition"
54    },
55    "isQueryable": {
56      "type": "string",
57      "enum": ["Queryable", "NotQueryable"],
58      "description": "Indicates if the entity can be queried in semantic query engine"
59    },
60    "externalId": {
61      "type": "string",
62      "description": "The external ID of the semantic entity from the external data source"
63    },
64    "dataspace": {
65      "type": "string",
66      "description": "Dataspace in which the semantic model is located"
67    },
68    "app": {
69      "type": "string",
70      "description": "App to which the semantic model belongs"
71    },
72    "categories": {
73      "type": "array",
74      "description": "Product category of the semantic model (Marketing, Commerce, Sales, Service, Other)",
75      "items": {
76        "type": "string",
77        "enum": ["Marketing", "Commerce", "Sales", "Service", "Other"]
78      }
79    },
80    "currency": {
81      "$ref": "#/definitions/semanticModelCurrency",
82      "description": "Model default currency"
83    },
84    "baseModels": {
85      "type": "array",
86      "description": "List of base models the current model is extending",
87      "items": {
88        "$ref": "#/definitions/semanticBaseModel"
89      }
90    },
91    "externalConnections": {
92      "type": "array",
93      "description": "List of external connections of the model",
94      "items": {
95        "$ref": "#/definitions/semanticModelExternalConnection"
96      }
97    },
98    "sourceCreation": {
99      "type": "string",
100      "description": "The source type from which the model was created"
101    },
102    "sourceCreationName": {
103      "type": "string",
104      "description": "The source identifier name"
105    },
106    "semanticDataObjectsUrl": {
107      "type": "string",
108      "description": "The URL that references the semantic data objects"
109    },
110    "semanticRelationshipsUrl": {
111      "type": "string",
112      "description": "The URL that references the semantic relationships"
113    },
114    "semanticParametersUrl": {
115      "type": "string",
116      "description": "The URL that references the semantic parameters"
117    },
118    "semanticCalculatedDimensionsUrl": {
119      "type": "string",
120      "description": "The URL that references the semantic calculated dimensions"
121    },
122    "semanticCalculatedMeasurementsUrl": {
123      "type": "string",
124      "description": "The URL that references the semantic calculated measurements"
125    },
126    "semanticGroupingsUrl": {
127      "type": "string",
128      "description": "The URL that references the semantic groupings"
129    },
130    "isLocked": {
131      "type": "boolean",
132      "description": "Whether the model is locked for edit/delete"
133    },
134    "lockedActions": {
135      "type": "object",
136      "description": "A mapping of actions to their corresponding lock reasons",
137      "additionalProperties": {
138        "type": "array",
139        "items": {
140          "type": "string"
141        }
142      }
143    },
144    "businessPreferences": {
145      "type": "string",
146      "description": "Allows analysts to include business-specific preferences or context"
147    },
148    "agentEnabled": {
149      "type": "boolean",
150      "description": "Indicates whether agent features are enabled for this model"
151    },
152    "lastDraftModifiedDate": {
153      "type": "string",
154      "format": "date-time",
155      "description": "Last modified date of the draft version"
156    },
157    "lastPublishedModifiedDate": {
158      "type": "string",
159      "format": "date-time",
160      "description": "Last modified date of the published version"
161    },
162    "versionState": {
163      "type": "string",
164      "description": "Version state of the semantic model"
165    },
166    "isAiDrafted": {
167      "type": "boolean",
168      "description": "Indicates whether the model was AI-drafted"
169    },
170    "semanticDataObjects": {
171      "type": "array",
172      "description": "The list of semantic data objects belonging to the semantic model",
173      "items": {
174        "$ref": "#/definitions/semanticDataObject"
175      }
176    },
177    "semanticRelationships": {
178      "type": "array",
179      "description": "The list of relationships belonging to the semantic model",
180      "items": {
181        "$ref": "#/definitions/semanticRelationship"
182      }
183    },
184    "semanticParameters": {
185      "type": "array",
186      "description": "The list of parameters belonging to the semantic model",
187      "items": {
188        "$ref": "#/definitions/semanticParameter"
189      }
190    },
191    "semanticCalculatedMeasurements": {
192      "type": "array",
193      "description": "The semantic calculated measurements belonging to this model",
194      "items": {
195        "$ref": "#/definitions/semanticCalculatedMeasurement"
196      }
197    },
198    "semanticCalculatedDimensions": {
199      "type": "array",
200      "description": "The semantic calculated dimensions belonging to this model",
201      "items": {
202        "$ref": "#/definitions/semanticCalculatedDimension"
203      }
204    },
205    "semanticLogicalViews": {
206      "type": "array",
207      "description": "The semantic logical views belonging to this model",
208      "items": {
209        "$ref": "#/definitions/semanticLogicalView"
210      }
211    },
212    "semanticMetrics": {
213      "type": "array",
214      "description": "The semantic metrics belonging to this model",
215      "items": {
216        "$ref": "#/definitions/semanticMetric"
217      }
218    },
219    "semanticGroupings": {
220      "type": "array",
221      "description": "The semantic groupings belonging to this model",
222      "items": {
223        "$ref": "#/definitions/semanticGrouping"
224      }
225    },
226    "semanticDimensionHierarchies": {
227      "type": "array",
228      "description": "The semantic dimension hierarchies belonging to this model",
229      "items": {
230        "$ref": "#/definitions/semanticDimensionHierarchy"
231      }
232    },
233    "semanticModelInfo": {
234      "$ref": "#/definitions/semanticModelInfo",
235      "description": "Model information"
236    },
237    "fieldsOverrides": {
238      "type": "array",
239      "description": "The semantic overrides belonging to this model",
240      "items": {
241        "$ref": "#/definitions/semanticOverride"
242      }
243    },
244    "semanticModelFilters": {
245      "type": "array",
246      "description": "The semantic model filters belonging to this model",
247      "items": {
248        "$ref": "#/definitions/semanticModelFilter"
249      }
250    },
251    "modelFilter": {
252      "$ref": "#/definitions/semanticModelFilter",
253      "description": "The semantic model filter defined directly on this model"
254    },
255    "hasUnmapped": {
256      "type": "boolean",
257      "description": "The semantic model contains unmapped semantic definition"
258    },
259    "isPartialSdm": {
260      "type": "boolean",
261      "description": "Indicates if the model is partial because of Data Gov"
262    },
263    "isUpsertable": {
264      "type": "boolean",
265      "description": "Indicates if the model can be edited (does not contain non-queryable entities)"
266    },
267    "workspaceId": {
268      "type": "string",
269      "description": "Analytics workspace ID"
270    },
271    "allowUnmapped": {
272      "type": "boolean",
273      "description": "Indicates if the model allows unmapped definitions"
274    }
275  },
276  "additionalProperties": true,
277  "definitions": {
278    "semanticModelCurrency": {
279      "type": "object",
280      "description": "Output representation for semantic model currency",
281      "properties": {
282        "id": {
283          "type": "string",
284          "description": "Currency ISO code ID"
285        },
286        "name": {
287          "type": "string",
288          "description": "Currency name"
289        },
290        "useOrgDefault": {
291          "type": "boolean",
292          "description": "Use the default org currency ISO code"
293        }
294      },
295      "additionalProperties": true
296    },
297    "semanticModelInfo": {
298      "type": "object",
299      "description": "Output representation of model info",
300      "required": ["definitionsCount", "maxDefinitionCount", "modelHierarchyDepth"],
301      "properties": {
302        "definitionsCount": {
303          "type": "integer",
304          "description": "The number of definitions in model"
305        },
306        "maxDefinitionCount": {
307          "type": "integer",
308          "description": "The max definition count in model"
309        },
310        "modelHierarchyDepth": {
311          "type": "integer",
312          "description": "The extensibility depth in model (number of base models in the chain)"
313        }
314      },
315      "additionalProperties": true
316    },
317    "semanticDataObject": {
318      "type": "object",
319      "required": ["apiName"],
320      "properties": {
321        "id": {
322          "type": "string"
323        },
324        "apiName": {
325          "type": "string",
326          "description": "Unique API name for the data object"
327        },
328        "label": {
329          "type": "string",
330          "description": "Display label"
331        },
332        "baseModelApiName": {
333          "type": "string"
334        },
335        "description": {
336          "type": "string"
337        },
338        "createdBy": {
339          "type": "string"
340        },
341        "createdDate": {
342          "type": "string",
343          "format": "date-time"
344        },
345        "lastModifiedBy": {
346          "type": "string"
347        },
348        "lastModifiedDate": {
349          "type": "string",
350          "format": "date-time"
351        },
352        "cacheKey": {
353          "type": "string"
354        },
355        "externalConnectionApiName": {
356          "type": "string"
357        },
358        "isQueryable": {
359          "type": "string",
360          "enum": ["Queryable", "NotQueryable"]
361        },
362        "externalId": {
363          "type": "string"
364        },
365        "isSystemDefinition": {
366          "type": "boolean"
367        },
368        "unmapped": {
369          "type": "boolean"
370        },
371        "dataObjectName": {
372          "type": "string",
373          "description": "The API name of the referenced object"
374        },
375        "dataObjectType": {
376          "type": "string",
377          "enum": ["Dlo", "Query"],
378          "description": "Type of data object"
379        },
380        "shouldIncludeAllFields": {
381          "type": "boolean",
382          "description": "Indicates whether all fields or only specific fields should be included"
383        },
384        "semanticDimensions": {
385          "type": "array",
386          "description": "The list of the referenced semantic dimensions",
387          "items": {
388            "$ref": "#/definitions/semanticDimension"
389          }
390        },
391        "semanticMeasurements": {
392          "type": "array",
393          "description": "The list of the referenced semantic measurements",
394          "items": {
395            "$ref": "#/definitions/semanticMeasurement"
396          }
397        },
398        "semanticDimensionsUrl": {
399          "type": "string"
400        },
401        "semanticMeasurementsUrl": {
402          "type": "string"
403        },
404        "logicalViewId": {
405          "type": "string"
406        },
407        "filterLogic": {
408          "type": "string"
409        },
410        "filters": {
411          "type": "array",
412          "items": {
413            "$ref": "#/definitions/semanticFilter"
414          }
415        },
416        "tableType": {
417          "type": "string",
418          "enum": ["Standard", "Dimension", "Fact"]
419        },
420        "primaryNameField": {
421          "type": "string"
422        },
423        "standardDataObjectName": {
424          "type": "string"
425        },
426        "semanticOverridePolicyType": {
427          "type": "string"
428        },
429        "overriddenProperties": {
430          "type": "array",
431          "items": {
432            "type": "string"
433          }
434        },
435        "customSqlIdentifier": {
436          "type": "string"
437        },
438        "dependencies": {
439          "type": "array",
440          "items": {
441            "$ref": "#/definitions/semanticDefinitionDependency"
442          }
443        }
444      },
445      "additionalProperties": true
446    },
447    "semanticDimension": {
448      "type": "object",
449      "required": ["apiName"],
450      "properties": {
451        "id": {
452          "type": "string"
453        },
454        "apiName": {
455          "type": "string",
456          "description": "Unique API name"
457        },
458        "label": {
459          "type": "string",
460          "description": "Display label"
461        },
462        "baseModelApiName": {
463          "type": "string"
464        },
465        "description": {
466          "type": "string"
467        },
468        "createdBy": {
469          "type": "string"
470        },
471        "createdDate": {
472          "type": "string",
473          "format": "date-time"
474        },
475        "lastModifiedBy": {
476          "type": "string"
477        },
478        "lastModifiedDate": {
479          "type": "string",
480          "format": "date-time"
481        },
482        "cacheKey": {
483          "type": "string"
484        },
485        "externalConnectionApiName": {
486          "type": "string"
487        },
488        "isQueryable": {
489          "type": "string",
490          "enum": ["Queryable", "NotQueryable"]
491        },
492        "externalId": {
493          "type": "string"
494        },
495        "isSystemDefinition": {
496          "type": "boolean"
497        },
498        "unmapped": {
499          "type": "boolean"
500        },
501        "dataObjectFieldName": {
502          "type": "string",
503          "description": "The API name of the referenced data object dimension"
504        },
505        "dataType": {
506          "type": "string",
507          "enum": ["Text", "Number", "Date", "DateTime", "Boolean", "Currency", "Email", "Percentage", "PhoneNumber", "Url", "Geo"]
508        },
509        "displayCategory": {
510          "type": "string",
511          "enum": ["Discrete", "Continuous"]
512        },
513        "isVisible": {
514          "type": "boolean"
515        },
516        "sortOrder": {
517          "type": "string",
518          "enum": ["None", "Ascending", "Descending"]
519        },
520        "geoRole": {
521          "type": "string"
522        },
523        "decimalPlace": {
524          "type": "integer"
525        },
526        "semanticDataType": {
527          "type": "string"
528        },
529        "isPrimaryKey": {
530          "type": "boolean"
531        },
532        "isKeyQualifier": {
533          "type": "boolean"
534        },
535        "keyQualifierName": {
536          "type": "string"
537        },
538        "storageDataType": {
539          "type": "string"
540        },
541        "externalStorageName": {
542          "type": "string"
543        },
544        "externalDataType": {
545          "type": "string"
546        },
547        "standardDataObjectFieldName": {
548          "type": "string"
549        },
550        "semanticOverridePolicyType": {
551          "type": "string"
552        },
553        "overriddenProperties": {
554          "type": "array",
555          "items": {
556            "type": "string"
557          }
558        },
559        "customSqlIdentifier": {
560          "type": "string"
561        },
562        "dependencies": {
563          "type": "array",
564          "items": {
565            "$ref": "#/definitions/semanticDefinitionDependency"
566          }
567        }
568      },
569      "additionalProperties": true
570    },
571    "semanticMeasurement": {
572      "type": "object",
573      "required": ["apiName"],
574      "properties": {
575        "id": {
576          "type": "string"
577        },
578        "apiName": {
579          "type": "string",
580          "description": "Unique API name"
581        },
582        "label": {
583          "type": "string",
584          "description": "Display label"
585        },
586        "baseModelApiName": {
587          "type": "string"
588        },
589        "description": {
590          "type": "string"
591        },
592        "createdBy": {
593          "type": "string"
594        },
595        "createdDate": {
596          "type": "string",
597          "format": "date-time"
598        },
599        "lastModifiedBy": {
600          "type": "string"
601        },
602        "lastModifiedDate": {
603          "type": "string",
604          "format": "date-time"
605        },
606        "cacheKey": {
607          "type": "string"
608        },
609        "externalConnectionApiName": {
610          "type": "string"
611        },
612        "isQueryable": {
613          "type": "string",
614          "enum": ["Queryable", "NotQueryable"]
615        },
616        "externalId": {
617          "type": "string"
618        },
619        "isSystemDefinition": {
620          "type": "boolean"
621        },
622        "unmapped": {
623          "type": "boolean"
624        },
625        "dataObjectFieldName": {
626          "type": "string",
627          "description": "The API name of the referenced data object measurement"
628        },
629        "dataType": {
630          "type": "string",
631          "enum": ["Number", "Currency", "Percentage", "Text", "Date", "DateTime", "Boolean", "Url", "Email", "PhoneNumber", "Geo"]
632        },
633        "aggregationType": {
634          "type": "string",
635          "enum": ["Sum", "Avg", "Min", "Max", "Count", "CountDistinct", "UserAgg", "Median", "Stddev", "Stddevp", "Var", "Varp", "Last", "First", "None"]
636        },
637        "displayCategory": {
638          "type": "string",
639          "enum": ["Continuous"]
640        },
641        "decimalPlace": {
642          "type": "integer"
643        },
644        "isAggregatable": {
645          "type": "boolean"
646        },
647        "directionality": {
648          "type": "string",
649          "enum": ["Up", "Down"]
650        },
651        "shouldTreatNullsAsZeros": {
652          "type": "boolean"
653        },
654        "isVisible": {
655          "type": "boolean"
656        },
657        "sortOrder": {
658          "type": "string",
659          "enum": ["None", "Ascending", "Descending"]
660        },
661        "semanticDataType": {
662          "type": "string"
663        },
664        "sentiment": {
665          "type": "string",
666          "enum": ["SentimentTypeUpIsGood", "SentimentTypeDownIsGood"]
667        },
668        "isPrimaryKey": {
669          "type": "boolean"
670        },
671        "isKeyQualifier": {
672          "type": "boolean"
673        },
674        "keyQualifierName": {
675          "type": "string"
676        },
677        "storageDataType": {
678          "type": "string"
679        },
680        "externalStorageName": {
681          "type": "string"
682        },
683        "externalDataType": {
684          "type": "string"
685        },
686        "standardDataObjectFieldName": {
687          "type": "string"
688        },
689        "semanticOverridePolicyType": {
690          "type": "string"
691        },
692        "overriddenProperties": {
693          "type": "array",
694          "items": {
695            "type": "string"
696          }
697        },
698        "customSqlIdentifier": {
699          "type": "string"
700        },
701        "dependencies": {
702          "type": "array",
703          "items": {
704            "$ref": "#/definitions/semanticDefinitionDependency"
705          }
706        }
707      },
708      "additionalProperties": true
709    },
710    "semanticCalculatedMeasurement": {
711      "type": "object",
712      "required": ["apiName", "expression"],
713      "properties": {
714        "id": {
715          "type": "string"
716        },
717        "apiName": {
718          "type": "string",
719          "description": "Unique API name"
720        },
721        "label": {
722          "type": "string",
723          "description": "Display label"
724        },
725        "baseModelApiName": {
726          "type": "string"
727        },
728        "description": {
729          "type": "string"
730        },
731        "createdBy": {
732          "type": "string"
733        },
734        "createdDate": {
735          "type": "string",
736          "format": "date-time"
737        },
738        "lastModifiedBy": {
739          "type": "string"
740        },
741        "lastModifiedDate": {
742          "type": "string",
743          "format": "date-time"
744        },
745        "cacheKey": {
746          "type": "string"
747        },
748        "externalConnectionApiName": {
749          "type": "string"
750        },
751        "isQueryable": {
752          "type": "string",
753          "enum": ["Queryable", "NotQueryable"]
754        },
755        "externalId": {
756          "type": "string"
757        },
758        "isSystemDefinition": {
759          "type": "boolean"
760        },
761        "unmapped": {
762          "type": "boolean"
763        },
764        "expression": {
765          "type": "string",
766          "description": "Formula that generates a new Semantic Calculated Measurement"
767        },
768        "syntax": {
769          "type": "string",
770          "description": "The syntax of the semantic expression"
771        },
772        "dataType": {
773          "type": "string",
774          "enum": ["Number", "Currency", "Percentage", "Text", "Date", "DateTime", "Boolean", "Url", "Email", "PhoneNumber", "Geo"]
775        },
776        "aggregationType": {
777          "type": "string",
778          "enum": ["Sum", "Avg", "Min", "Max", "Count", "CountDistinct", "UserAgg", "Median", "Stddev", "Stddevp", "Var", "Varp", "Last", "First", "None"]
779        },
780        "totalAggregationType": {
781          "type": "string",
782          "enum": ["Sum", "Avg", "Min", "Max", "Count", "Median", "Stddev", "Stddevp", "Var", "Varp", "Last", "First", "None"]
783        },
784        "displayCategory": {
785          "type": "string",
786          "enum": ["Continuous", "Discrete"]
787        },
788        "decimalPlace": {
789          "type": "integer"
790        },
791        "isAggregatable": {
792          "type": "boolean"
793        },
794        "directionality": {
795          "type": "string",
796          "enum": ["Up", "Down"]
797        },
798        "shouldTreatNullsAsZeros": {
799          "type": "boolean"
800        },
801        "isVisible": {
802          "type": "boolean"
803        },
804        "sortOrder": {
805          "type": "string",
806          "enum": ["None", "Ascending", "Descending"]
807        },
808        "semanticDataType": {
809          "type": "string"
810        },
811        "sentiment": {
812          "type": "string",
813          "enum": ["SentimentTypeUpIsGood", "SentimentTypeDownIsGood"]
814        },
815        "filterLogic": {
816          "type": "string"
817        },
818        "filters": {
819          "type": "array",
820          "items": {
821            "$ref": "#/definitions/semanticFilter"
822          }
823        },
824        "isOverrideBase": {
825          "type": "boolean"
826        },
827        "level": {
828          "type": "string",
829          "enum": ["Row", "AggregateFunction"]
830        },
831        "externalLevel": {
832          "type": "string",
833          "enum": ["Row", "AggregateFunction"]
834        },
835        "externalStorageName": {
836          "type": "string"
837        },
838        "externalDataType": {
839          "type": "string"
840        },
841        "semanticOverridePolicyType": {
842          "type": "string"
843        },
844        "overriddenProperties": {
845          "type": "array",
846          "items": {
847            "type": "string"
848          }
849        },
850        "dependencies": {
851          "type": "array",
852          "items": {
853            "$ref": "#/definitions/semanticDefinitionDependency"
854          }
855        }
856      },
857      "additionalProperties": true
858    },
859    "semanticCalculatedDimension": {
860      "type": "object",
861      "required": ["apiName", "expression"],
862      "properties": {
863        "id": {
864          "type": "string"
865        },
866        "apiName": {
867          "type": "string",
868          "description": "Unique API name"
869        },
870        "label": {
871          "type": "string",
872          "description": "Display label"
873        },
874        "baseModelApiName": {
875          "type": "string"
876        },
877        "description": {
878          "type": "string"
879        },
880        "createdBy": {
881          "type": "string"
882        },
883        "createdDate": {
884          "type": "string",
885          "format": "date-time"
886        },
887        "lastModifiedBy": {
888          "type": "string"
889        },
890        "lastModifiedDate": {
891          "type": "string",
892          "format": "date-time"
893        },
894        "cacheKey": {
895          "type": "string"
896        },
897        "externalConnectionApiName": {
898          "type": "string"
899        },
900        "isQueryable": {
901          "type": "string",
902          "enum": ["Queryable", "NotQueryable"]
903        },
904        "externalId": {
905          "type": "string"
906        },
907        "isSystemDefinition": {
908          "type": "boolean"
909        },
910        "unmapped": {
911          "type": "boolean"
912        },
913        "expression": {
914          "type": "string",
915          "description": "The semantic expressions for generating the calculation"
916        },
917        "syntax": {
918          "type": "string",
919          "description": "The syntax of the semantic expression"
920        },
921        "dataType": {
922          "type": "string",
923          "enum": ["Text", "Number", "Date", "DateTime", "Boolean", "Currency", "Email", "Percentage", "PhoneNumber", "Url", "Geo"]
924        },
925        "displayCategory": {
926          "type": "string",
927          "enum": ["Discrete", "Continuous"]
928        },
929        "isVisible": {
930          "type": "boolean"
931        },
932        "sortOrder": {
933          "type": "string",
934          "enum": ["None", "Ascending", "Descending"]
935        },
936        "geoRole": {
937          "type": "string"
938        },
939        "decimalPlace": {
940          "type": "integer"
941        },
942        "semanticDataType": {
943          "type": "string"
944        },
945        "filterLogic": {
946          "type": "string"
947        },
948        "filters": {
949          "type": "array",
950          "items": {
951            "$ref": "#/definitions/semanticFilter"
952          }
953        },
954        "isOverrideBase": {
955          "type": "boolean"
956        },
957        "level": {
958          "type": "string",
959          "enum": ["Row", "AggregateFunction"]
960        },
961        "externalLevel": {
962          "type": "string",
963          "enum": ["Row", "AggregateFunction"]
964        },
965        "externalStorageName": {
966          "type": "string"
967        },
968        "externalDataType": {
969          "type": "string"
970        },
971        "semanticOverridePolicyType": {
972          "type": "string"
973        },
974        "overriddenProperties": {
975          "type": "array",
976          "items": {
977            "type": "string"
978          }
979        },
980        "dependencies": {
981          "type": "array",
982          "items": {
983            "$ref": "#/definitions/semanticDefinitionDependency"
984          }
985        }
986      },
987      "additionalProperties": true
988    },
989    "semanticRelationship": {
990      "type": "object",
991      "required": ["apiName", "leftSemanticDefinitionApiName", "rightSemanticDefinitionApiName", "criteria"],
992      "properties": {
993        "id": {
994          "type": "string"
995        },
996        "apiName": {
997          "type": "string",
998          "description": "Unique API name"
999        },
1000        "label": {
1001          "type": "string",
1002          "description": "Display label"
1003        },
1004        "baseModelApiName": {
1005          "type": "string"
1006        },
1007        "description": {
1008          "type": "string"
1009        },
1010        "createdBy": {
1011          "type": "string"
1012        },
1013        "createdDate": {
1014          "type": "string",
1015          "format": "date-time"
1016        },
1017        "lastModifiedBy": {
1018          "type": "string"
1019        },
1020        "lastModifiedDate": {
1021          "type": "string",
1022          "format": "date-time"
1023        },
1024        "cacheKey": {
1025          "type": "string"
1026        },
1027        "externalConnectionApiName": {
1028          "type": "string"
1029        },
1030        "isQueryable": {
1031          "type": "string",
1032          "enum": ["Queryable", "NotQueryable"]
1033        },
1034        "externalId": {
1035          "type": "string"
1036        },
1037        "isSystemDefinition": {
1038          "type": "boolean"
1039        },
1040        "unmapped": {
1041          "type": "boolean"
1042        },
1043        "leftSemanticDefinitionApiName": {
1044          "type": "string",
1045          "description": "The API name of the left semantic definition"
1046        },
1047        "rightSemanticDefinitionApiName": {
1048          "type": "string",
1049          "description": "The API name of the right semantic definition"
1050        },
1051        "criteria": {
1052          "type": "array",
1053          "description": "The join criteria to use when querying definitions",
1054          "items": {
1055            "$ref": "#/definitions/semanticRelationshipCriteria"
1056          },
1057          "minItems": 1
1058        },
1059        "cardinality": {
1060          "type": "string",
1061          "enum": ["OneToOne", "OneToMany", "ManyToOne", "ManyToMany", "Unspecified"]
1062        },
1063        "joinType": {
1064          "type": "string",
1065          "enum": ["Auto", "Inner", "Left", "Right", "Full"]
1066        },
1067        "isEnabled": {
1068          "type": "boolean"
1069        },
1070        "logicalViewId": {
1071          "type": "string"
1072        },
1073        "dependencies": {
1074          "type": "array",
1075          "items": {
1076            "$ref": "#/definitions/semanticDefinitionDependency"
1077          }
1078        }
1079      },
1080      "additionalProperties": true
1081    },
1082    "semanticDefinitionDependency": {
1083      "type": "object",
1084      "description": "Represents a dependency of a semantic definition on another definition",
1085      "properties": {
1086        "dependentDefinitionApiName": {
1087          "type": "string",
1088          "description": "API name of the dependent definition"
1089        },
1090        "dependentFieldApiName": {
1091          "type": "string",
1092          "description": "API name of the dependent data object field"
1093        }
1094      },
1095      "additionalProperties": true
1096    },
1097    "semanticFilter": {
1098      "type": "object",
1099      "description": "A semantic filter",
1100      "properties": {
1101        "fieldName": {
1102          "type": "string",
1103          "description": "The API name on the field being filtered"
1104        },
1105        "operator": {
1106          "type": "string",
1107          "description": "The operator for the filter"
1108        },
1109        "value": {
1110          "type": "string",
1111          "description": "The string representation of the value to filter against"
1112        },
1113        "values": {
1114          "type": "array",
1115          "description": "Array of values to filter against",
1116          "items": {
1117            "type": "string"
1118          }
1119        }
1120      },
1121      "additionalProperties": true
1122    },
1123    "semanticRelationshipCriteria": {
1124      "type": "object",
1125      "required": ["leftSemanticFieldApiName", "rightSemanticFieldApiName"],
1126      "description": "A semantic relationship criteria",
1127      "properties": {
1128        "leftSemanticFieldApiName": {
1129          "type": "string",
1130          "description": "The API name of the field from the left semantic data object"
1131        },
1132        "rightSemanticFieldApiName": {
1133          "type": "string",
1134          "description": "The API name of the field from the right semantic data object"
1135        },
1136        "joinOperator": {
1137          "type": "string",
1138          "enum": ["Equals", "EqualsIgnoreCase", "GreaterThan", "LessThan", "GreaterThanOrEqual", "LessThanOrEqual", "NotEquals", "NotEqualsIgnoreCase"],
1139          "description": "The join operator"
1140        },
1141        "leftFieldType": {
1142          "type": "string",
1143          "enum": ["TableField", "SemanticField", "Formula"],
1144          "description": "The left field reference type"
1145        },
1146        "rightFieldType": {
1147          "type": "string",
1148          "enum": ["TableField", "SemanticField", "Formula"],
1149          "description": "The right field reference type"
1150        }
1151      },
1152      "additionalProperties": true
1153    },
1154    "semanticBaseModel": {
1155      "type": "object",
1156      "description": "Output representation for base models",
1157      "properties": {
1158        "apiName": {
1159          "type": "string",
1160          "description": "API name of base model"
1161        },
1162        "label": {
1163          "type": "string",
1164          "description": "Label of base model"
1165        }
1166      },
1167      "additionalProperties": true
1168    },
1169    "semanticModelExternalConnection": {
1170      "type": "object",
1171      "description": "Output representation for external connection",
1172      "properties": {
1173        "id": {
1174          "type": "string"
1175        },
1176        "apiName": {
1177          "type": "string"
1178        },
1179        "label": {
1180          "type": "string"
1181        },
1182        "baseModelApiName": {
1183          "type": "string"
1184        },
1185        "createdBy": {
1186          "type": "string"
1187        },
1188        "createdDate": {
1189          "type": "string",
1190          "format": "date-time"
1191        },
1192        "lastModifiedBy": {
1193          "type": "string"
1194        },
1195        "lastModifiedDate": {
1196          "type": "string",
1197          "format": "date-time"
1198        },
1199        "description": {
1200          "type": "string"
1201        },
1202        "cacheKey": {
1203          "type": "string"
1204        },
1205        "type": {
1206          "type": "string",
1207          "description": "Type of external connection"
1208        },
1209        "lastSync": {
1210          "type": "string",
1211          "format": "date-time",
1212          "description": "Indicates the last sync date from the external connection"
1213        },
1214        "tableauPublishedDataSource": {
1215          "type": "object",
1216          "description": "Additional metadata for Tableau published data source external connection"
1217        }
1218      },
1219      "additionalProperties": true
1220    },
1221    "semanticParameter": {
1222      "type": "object",
1223      "description": "A semantic parameter",
1224      "properties": {
1225        "id": {
1226          "type": "string"
1227        },
1228        "apiName": {
1229          "type": "string"
1230        },
1231        "label": {
1232          "type": "string"
1233        },
1234        "baseModelApiName": {
1235          "type": "string"
1236        },
1237        "createdBy": {
1238          "type": "string"
1239        },
1240        "createdDate": {
1241          "type": "string",
1242          "format": "date-time"
1243        },
1244        "lastModifiedBy": {
1245          "type": "string"
1246        },
1247        "lastModifiedDate": {
1248          "type": "string",
1249          "format": "date-time"
1250        },
1251        "description": {
1252          "type": "string"
1253        },
1254        "cacheKey": {
1255          "type": "string"
1256        },
1257        "isSystemDefinition": {
1258          "type": "boolean"
1259        },
1260        "externalConnectionApiName": {
1261          "type": "string"
1262        },
1263        "externalId": {
1264          "type": "string"
1265        },
1266        "unmapped": {
1267          "type": "boolean"
1268        },
1269        "isQueryable": {
1270          "type": "string",
1271          "enum": ["Queryable", "NotQueryable"]
1272        },
1273        "dataType": {
1274          "type": "string",
1275          "description": "The data type of the semantic parameter"
1276        },
1277        "type": {
1278          "type": "string",
1279          "description": "The semantic parameter type"
1280        },
1281        "defaultValue": {
1282          "type": "string",
1283          "description": "The default value of the semantic parameter"
1284        },
1285        "values": {
1286          "type": "array",
1287          "description": "The list values of the semantic parameter (deprecated)",
1288          "items": {
1289            "type": "string"
1290          }
1291        },
1292        "allowedValues": {
1293          "type": "array",
1294          "description": "The allowed list values of the semantic parameter",
1295          "items": {
1296            "type": "object"
1297          }
1298        },
1299        "minValue": {
1300          "type": "string",
1301          "description": "The minimum value range of the semantic parameter"
1302        },
1303        "maxValue": {
1304          "type": "string",
1305          "description": "The maximum value range of the semantic parameter"
1306        },
1307        "stepSize": {
1308          "type": "string",
1309          "description": "The step size range of the semantic parameter"
1310        },
1311        "externalDataType": {
1312          "type": "string",
1313          "description": "The external data type"
1314        },
1315        "dependencies": {
1316          "type": "array",
1317          "items": {
1318            "$ref": "#/definitions/semanticDefinitionDependency"
1319          }
1320        }
1321      },
1322      "additionalProperties": true
1323    },
1324    "semanticOverride": {
1325      "type": "object",
1326      "description": "A semantic override representation",
1327      "required": ["id", "entityFqn", "entityId", "propertyName", "propertyOverrideValue"],
1328      "properties": {
1329        "id": {
1330          "type": "string",
1331          "description": "The ID of the override entity"
1332        },
1333        "entityFqn": {
1334          "type": "string",
1335          "description": "The Fully Qualified Name of the overridden entity"
1336        },
1337        "entityId": {
1338          "type": "string",
1339          "description": "The ID of the overridden entity"
1340        },
1341        "propertyName": {
1342          "type": "string",
1343          "description": "The name of the overridden property"
1344        },
1345        "propertyOverrideValue": {
1346          "type": "string",
1347          "description": "The new value of the overridden property"
1348        },
1349        "propertyBaseModelValue": {
1350          "type": "string",
1351          "description": "The original value of the overridden property"
1352        },
1353        "isQueryable": {
1354          "type": "string",
1355          "enum": ["Queryable", "NotQueryable"]
1356        }
1357      },
1358      "additionalProperties": true
1359    },
1360    "semanticModelFilter": {
1361      "type": "object",
1362      "description": "Output representation for a semantic model filter",
1363      "properties": {
1364        "id": {
1365          "type": "string"
1366        },
1367        "apiName": {
1368          "type": "string"
1369        },
1370        "label": {
1371          "type": "string"
1372        },
1373        "baseModelApiName": {
1374          "type": "string"
1375        },
1376        "createdBy": {
1377          "type": "string"
1378        },
1379        "createdDate": {
1380          "type": "string",
1381          "format": "date-time"
1382        },
1383        "lastModifiedBy": {
1384          "type": "string"
1385        },
1386        "lastModifiedDate": {
1387          "type": "string",
1388          "format": "date-time"
1389        },
1390        "description": {
1391          "type": "string"
1392        },
1393        "cacheKey": {
1394          "type": "string"
1395        },
1396        "externalConnectionApiName": {
1397          "type": "string"
1398        },
1399        "isQueryable": {
1400          "type": "string",
1401          "enum": ["Queryable", "NotQueryable"]
1402        },
1403        "externalId": {
1404          "type": "string"
1405        },
1406        "filterLogic": {
1407          "type": "string",
1408          "description": "The filter logic expression that defines how the filters are combined"
1409        },
1410        "filters": {
1411          "type": "array",
1412          "description": "The list of filters to be applied",
1413          "items": {
1414            "$ref": "#/definitions/semanticFilter"
1415          }
1416        }
1417      },
1418      "additionalProperties": true
1419    },
1420    "semanticGrouping": {
1421      "type": "object",
1422      "description": "Output representation for semantic grouping",
1423      "required": ["apiName", "type", "fieldReference", "configuration"],
1424      "properties": {
1425        "id": {
1426          "type": "string"
1427        },
1428        "apiName": {
1429          "type": "string"
1430        },
1431        "label": {
1432          "type": "string"
1433        },
1434        "baseModelApiName": {
1435          "type": "string"
1436        },
1437        "createdBy": {
1438          "type": "string"
1439        },
1440        "createdDate": {
1441          "type": "string",
1442          "format": "date-time"
1443        },
1444        "lastModifiedBy": {
1445          "type": "string"
1446        },
1447        "lastModifiedDate": {
1448          "type": "string",
1449          "format": "date-time"
1450        },
1451        "description": {
1452          "type": "string"
1453        },
1454        "cacheKey": {
1455          "type": "string"
1456        },
1457        "isSystemDefinition": {
1458          "type": "boolean"
1459        },
1460        "externalConnectionApiName": {
1461          "type": "string"
1462        },
1463        "externalId": {
1464          "type": "string"
1465        },
1466        "unmapped": {
1467          "type": "boolean"
1468        },
1469        "isQueryable": {
1470          "type": "string",
1471          "enum": ["Queryable", "NotQueryable"]
1472        },
1473        "type": {
1474          "type": "string",
1475          "description": "The semantic grouping type"
1476        },
1477        "fieldReference": {
1478          "type": "object",
1479          "description": "References to a specific field"
1480        },
1481        "configuration": {
1482          "type": "object",
1483          "description": "Configurations for the semantic grouping"
1484        },
1485        "externalDataType": {
1486          "type": "string",
1487          "description": "The external data type"
1488        },
1489        "dependencies": {
1490          "type": "array",
1491          "items": {
1492            "$ref": "#/definitions/semanticDefinitionDependency"
1493          }
1494        }
1495      },
1496      "additionalProperties": true
1497    },
1498    "semanticMetric": {
1499      "type": "object",
1500      "description": "Output representation for creating a semantic metric",
1501      "properties": {
1502        "id": {
1503          "type": "string"
1504        },
1505        "apiName": {
1506          "type": "string"
1507        },
1508        "label": {
1509          "type": "string"
1510        },
1511        "baseModelApiName": {
1512          "type": "string"
1513        },
1514        "createdBy": {
1515          "type": "string"
1516        },
1517        "createdDate": {
1518          "type": "string",
1519          "format": "date-time"
1520        },
1521        "lastModifiedBy": {
1522          "type": "string"
1523        },
1524        "lastModifiedDate": {
1525          "type": "string",
1526          "format": "date-time"
1527        },
1528        "description": {
1529          "type": "string"
1530        },
1531        "cacheKey": {
1532          "type": "string"
1533        },
1534        "isSystemDefinition": {
1535          "type": "boolean"
1536        },
1537        "externalConnectionApiName": {
1538          "type": "string"
1539        },
1540        "externalId": {
1541          "type": "string"
1542        },
1543        "unmapped": {
1544          "type": "boolean"
1545        },
1546        "isQueryable": {
1547          "type": "string",
1548          "enum": ["Queryable", "NotQueryable"]
1549        },
1550        "measurementReference": {
1551          "type": "object",
1552          "description": "References a specific calculated measurement or field"
1553        },
1554        "timeDimensionReference": {
1555          "type": "object",
1556          "description": "References a specific calculated time dimension or field"
1557        },
1558        "additionalDimensions": {
1559          "type": "array",
1560          "description": "A list of dimension API names that can be used as filters",
1561          "items": {
1562            "type": "object"
1563          }
1564        },
1565        "timeGrains": {
1566          "type": "array",
1567          "description": "The time grain values allowed to be used",
1568          "items": {
1569            "type": "string"
1570          }
1571        },
1572        "insightsSettings": {
1573          "type": "object",
1574          "description": "Insights settings for the metric"
1575        },
1576        "filterLogic": {
1577          "type": "string",
1578          "description": "The logic expression for generating a filter"
1579        },
1580        "filters": {
1581          "type": "array",
1582          "description": "A list of filters to be used",
1583          "items": {
1584            "$ref": "#/definitions/semanticFilter"
1585          }
1586        },
1587        "aggregationType": {
1588          "type": "string",
1589          "description": "Function that computes numerical calculations on data"
1590        },
1591        "isCumulative": {
1592          "type": "boolean",
1593          "description": "Whether the metric is cumulative"
1594        },
1595        "isGoalEditingBlocked": {
1596          "type": "boolean",
1597          "description": "Whether goal editing is blocked"
1598        },
1599        "dependencies": {
1600          "type": "array",
1601          "items": {
1602            "$ref": "#/definitions/semanticDefinitionDependency"
1603          }
1604        }
1605      },
1606      "additionalProperties": true
1607    },
1608    "semanticLogicalView": {
1609      "type": "object",
1610      "description": "A semantic logical view",
1611      "properties": {
1612        "id": {
1613          "type": "string"
1614        },
1615        "apiName": {
1616          "type": "string"
1617        },
1618        "label": {
1619          "type": "string"
1620        },
1621        "baseModelApiName": {
1622          "type": "string"
1623        },
1624        "createdBy": {
1625          "type": "string"
1626        },
1627        "createdDate": {
1628          "type": "string",
1629          "format": "date-time"
1630        },
1631        "lastModifiedBy": {
1632          "type": "string"
1633        },
1634        "lastModifiedDate": {
1635          "type": "string",
1636          "format": "date-time"
1637        },
1638        "description": {
1639          "type": "string"
1640        },
1641        "cacheKey": {
1642          "type": "string"
1643        },
1644        "isSystemDefinition": {
1645          "type": "boolean"
1646        },
1647        "externalConnectionApiName": {
1648          "type": "string"
1649        },
1650        "externalId": {
1651          "type": "string"
1652        },
1653        "unmapped": {
1654          "type": "boolean"
1655        },
1656        "isQueryable": {
1657          "type": "string",
1658          "enum": ["Queryable", "NotQueryable"]
1659        },
1660        "semanticDataObjects": {
1661          "type": "array",
1662          "description": "The list of the referenced semantic data objects",
1663          "items": {
1664            "$ref": "#/definitions/semanticDataObject"
1665          }
1666        },
1667        "semanticRelationships": {
1668          "type": "array",
1669          "description": "The list of the referenced semantic relationships",
1670          "items": {
1671            "$ref": "#/definitions/semanticRelationship"
1672          }
1673        },
1674        "filterLogic": {
1675          "type": "string",
1676          "description": "The logic expression for generating a filter based on the list of filters"
1677        },
1678        "filters": {
1679          "type": "array",
1680          "description": "A list of filters to be used to create filter logic",
1681          "items": {
1682            "$ref": "#/definitions/semanticFilter"
1683          }
1684        },
1685        "semanticUnions": {
1686          "type": "array",
1687          "description": "Semantic unions",
1688          "items": {
1689            "type": "object"
1690          }
1691        },
1692        "customSQL": {
1693          "type": "string",
1694          "description": "Custom SQL for the logical view"
1695        },
1696        "customSQLV2": {
1697          "type": "string",
1698          "description": "Custom SQL V2 for the logical view"
1699        },
1700        "semanticViewTypeEnum": {
1701          "type": "string",
1702          "description": "The type of semantic view"
1703        },
1704        "referenceIntegritySemanticDataObjects": {
1705          "type": "array",
1706          "description": "The list of the referenced semantic data objects used for reference integrity",
1707          "items": {
1708            "$ref": "#/definitions/semanticDataObject"
1709          }
1710        },
1711        "tableType": {
1712          "type": "string",
1713          "enum": ["Standard", "Dimension", "Fact"]
1714        },
1715        "primaryNameField": {
1716          "type": "string"
1717        },
1718        "semanticOverridePolicyType": {
1719          "type": "string"
1720        },
1721        "overriddenProperties": {
1722          "type": "array",
1723          "items": {
1724            "type": "string"
1725          }
1726        },
1727        "hierarchyMetadata": {
1728          "type": "object",
1729          "description": "Hierarchy metadata"
1730        },
1731        "dependencies": {
1732          "type": "array",
1733          "items": {
1734            "$ref": "#/definitions/semanticDefinitionDependency"
1735          }
1736        }
1737      },
1738      "additionalProperties": true
1739    },
1740    "semanticDimensionHierarchy": {
1741      "type": "object",
1742      "required": ["apiName", "levels"],
1743      "description": "Semantic dimension hierarchy output representation",
1744      "properties": {
1745        "id": {
1746          "type": "string"
1747        },
1748        "apiName": {
1749          "type": "string"
1750        },
1751        "label": {
1752          "type": "string"
1753        },
1754        "baseModelApiName": {
1755          "type": "string"
1756        },
1757        "createdBy": {
1758          "type": "string"
1759        },
1760        "createdDate": {
1761          "type": "string",
1762          "format": "date-time"
1763        },
1764        "lastModifiedBy": {
1765          "type": "string"
1766        },
1767        "lastModifiedDate": {
1768          "type": "string",
1769          "format": "date-time"
1770        },
1771        "description": {
1772          "type": "string"
1773        },
1774        "cacheKey": {
1775          "type": "string"
1776        },
1777        "isSystemDefinition": {
1778          "type": "boolean"
1779        },
1780        "externalConnectionApiName": {
1781          "type": "string"
1782        },
1783        "externalId": {
1784          "type": "string"
1785        },
1786        "unmapped": {
1787          "type": "boolean"
1788        },
1789        "isQueryable": {
1790          "type": "string",
1791          "enum": ["Queryable", "NotQueryable"]
1792        },
1793        "levels": {
1794          "type": "array",
1795          "description": "Ordered list of levels that define the structure of the dimension hierarchy",
1796          "items": {
1797            "type": "object"
1798          }
1799        },
1800        "dependencies": {
1801          "type": "array",
1802          "items": {
1803            "$ref": "#/definitions/semanticDefinitionDependency"
1804          }
1805        }
1806      },
1807      "additionalProperties": true
1808    }
1809  }
1810}