Files

215 lines
9.3 KiB
JSON

{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "SemanticModel data types"
},
"paths": {},
"definitions": {
"SemanticModels": {
"description": "A list of semantic models.",
"required": ["value"],
"type": "object",
"properties": {
"value": {
"description": "A list of semantic models.",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticModel"
}
}
},
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/PaginatedResponse"
}
]
},
"SemanticModel": {
"description": "A semantic model object.",
"type": "object",
"required": ["type"],
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/Item"
}
]
},
"CreateSemanticModelRequest": {
"description": "Create semantic model request payload.",
"required": ["displayName"],
"properties": {
"displayName": {
"description": "The semantic model display name. The display name must follow naming rules according to item type.",
"type": "string",
"readOnly": false
},
"description": {
"description": "The semantic model description. Maximum length is 256 characters.",
"type": "string",
"readOnly": false
},
"folderId": {
"description": "The folder ID. If not specified or null, the semantic model is created with the workspace as its folder.",
"type": "string",
"format": "uuid",
"readOnly": false
},
"definition": {
"description": "The semantic model public definition. Use `definition` or `creationPayload`. You can't use both at the same time.",
"$ref": "#/definitions/SemanticModelDefinition",
"readOnly": false
},
"creationPayload": {
"description": "The creation payload for creating a semantic model without a full definition. Provide OneLake table URLs to create a DirectLake model, or omit both `definition` and `creationPayload` to create an empty semantic model. Use `definition` or `creationPayload`. You can't use both at the same time.",
"$ref": "#/definitions/SemanticModelCreationPayload",
"readOnly": false
},
"sensitivityLabelSettings": {
"description": "The sensitivity label settings for the semantic model.",
"$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings",
"readOnly": false
}
}
},
"UpdateSemanticModelRequest": {
"description": "Update semantic model request.",
"properties": {
"displayName": {
"description": "The semantic model display name. The display name must follow naming rules according to item type.",
"type": "string",
"readOnly": false
},
"description": {
"description": "The semantic model description. Maximum length is 256 characters.",
"type": "string",
"readOnly": false
}
}
},
"UpdateSemanticModelDefinitionRequest": {
"description": "Update semantic model public definition request payload.",
"required": ["definition"],
"properties": {
"definition": {
"$ref": "#/definitions/SemanticModelDefinition"
},
"options": {
"description": "Options for the semantic model whose definition is being updated.",
"$ref": "#/definitions/SemanticModelDefinitionOptions",
"readOnly": false
}
}
},
"SemanticModelDefinitionResponse": {
"description": "Semantic model public definition response.",
"required": ["definition"],
"properties": {
"definition": {
"$ref": "#/definitions/SemanticModelDefinition",
"readOnly": true
}
}
},
"SemanticModelDefinition" : {
"description": "Semantic model public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/semantic-model-definition) for more details on the structure of the Semantic model definition.",
"type": "object",
"required": ["parts"],
"properties": {
"format": {
"description": "The format of the semantic model definition.",
"type": "string",
"readOnly": false
},
"parts": {
"description": "A list of definition parts.",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticModelDefinitionPart"
},
"readOnly": false
}
}
},
"SemanticModelDefinitionPart": {
"description": "Semantic model definition part object.",
"type": "object",
"properties": {
"path": {
"description": "The semantic model part path.",
"type": "string",
"readOnly": false
},
"payload": {
"description": "The semantic model part payload.",
"type": "string",
"readOnly": false
},
"payloadType":{
"description": "The payload type.",
"$ref": "../common/definitions.json#/definitions/PayloadType",
"readOnly": false
}
}
},
"SemanticModelDefinitionOptions": {
"description": "Options that apply when creating a semantic model with a definition or updating a semantic model's definition.",
"type": "object",
"properties": {
"allowPurgeData": {
"description": "Whether to allow purging the semantic model's existing data when applying the updated definition. Some definition changes require existing data to be cleared; set this to true to allow those changes to proceed, in which case any data that can't be retained under the new definition is purged. After the operation completes, refresh the semantic model to reload the data. Default value is false.",
"type": "boolean",
"readOnly": false
}
}
},
"SemanticModelCreationPayload": {
"description": "Creation payload for creating a semantic model without a definition.",
"type": "object",
"required": ["oneLakeTables"],
"properties": {
"oneLakeTables": {
"description": "A list of OneLake table URLs to connect the semantic model to (maximum 100). Each URL must follow one of two formats: `https://onelake.dfs.fabric.microsoft.com/{workspaceId}/{dataItemId}/Tables/{tableName}` for a table in the default `dbo` schema, or `https://onelake.dfs.fabric.microsoft.com/{workspaceId}/{dataItemId}/Tables/{schemaName}/{tableName}` for a table in an explicit custom schema. URLs may reference different workspaces and data items, and a single request may mix default-schema and custom-schema URLs. The system infers table names and columns from the OneLake source.",
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"readOnly": false
}
}
},
"BindSemanticModelConnectionRequest": {
"description": "The payload of a bindConnection request to bind a data source reference of a semantic model to a data connection.",
"required": ["connectionBinding"],
"properties": {
"connectionBinding": {
"description": "The details of the connection binding.",
"$ref": "#/definitions/ConnectionBinding",
"readOnly": false
}
}
},
"ConnectionBinding": {
"description": "The details of the connection binding.",
"required": ["connectionDetails"],
"type": "object",
"properties": {
"id": {
"description": "The object ID of the connection.",
"type": "string",
"format": "uuid"
},
"connectivityType": {
"description": "The connectivity type of the connection.",
"$ref": "../platform/definitions/connections.json#/definitions/ConnectivityType"
},
"connectionDetails": {
"description": "The connection details of the connection.",
"$ref": "../platform/definitions/connections.json#/definitions/ListConnectionDetails"
}
}
}
}
}