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}