Share via


Knowledge Sources - Create Or Update

Creates a new knowledge source or updates an knowledge source if it already exists.

PUT {endpoint}/knowledgesources('{sourceName}')?api-version=2025-11-01-preview

URI Parameters

Name In Required Type Description
endpoint
path True

string

The endpoint URL of the search service.

sourceName
path True

string

The name of the knowledge source to create or update.

api-version
query True

string

Client Api Version.

Request Header

Name Required Type Description
x-ms-client-request-id

string (uuid)

The tracking ID sent with the request to help with debugging.

If-Match

string

Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.

If-None-Match

string

Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.

Prefer True

string

For HTTP PUT requests, instructs the service to return the created/updated resource on success.

Request Body

The request body can be one of the following:

Name Description
AzureBlobKnowledgeSource

Configuration for Azure Blob Storage knowledge source.

IndexedOneLakeKnowledgeSource

Configuration for OneLake knowledge source.

IndexedSharePointKnowledgeSource

Configuration for SharePoint knowledge source.

RemoteSharePointKnowledgeSource

Configuration for remote SharePoint knowledge source.

SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

WebKnowledgeSource

Knowledge Source targeting web results.

AzureBlobKnowledgeSource

Configuration for Azure Blob Storage knowledge source.

Name Required Type Description
azureBlobParameters True

AzureBlobKnowledgeSourceParameters

The type of the knowledge source.

kind True string:

azureBlob

The type of the knowledge source.

name True

string

The name of the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

IndexedOneLakeKnowledgeSource

Configuration for OneLake knowledge source.

Name Required Type Description
indexedOneLakeParameters True

IndexedOneLakeKnowledgeSourceParameters

The parameters for the OneLake knowledge source.

kind True string:

indexedOneLake

The type of the knowledge source.

name True

string

The name of the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

IndexedSharePointKnowledgeSource

Configuration for SharePoint knowledge source.

Name Required Type Description
indexedSharePointParameters True

IndexedSharePointKnowledgeSourceParameters

The parameters for the SharePoint knowledge source.

kind True string:

indexedSharePoint

The type of the knowledge source.

name True

string

The name of the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

RemoteSharePointKnowledgeSource

Configuration for remote SharePoint knowledge source.

Name Required Type Description
kind True string:

remoteSharePoint

The type of the knowledge source.

name True

string

The name of the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

remoteSharePointParameters

RemoteSharePointKnowledgeSourceParameters

The parameters for the knowledge source.

SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

Name Required Type Description
kind True string:

searchIndex

The type of the knowledge source.

name True

string

The name of the knowledge source.

searchIndexParameters True

SearchIndexKnowledgeSourceParameters

The parameters for the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

WebKnowledgeSource

Knowledge Source targeting web results.

Name Required Type Description
kind True string:

web

The type of the knowledge source.

name True

string

The name of the knowledge source.

@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

webParameters

WebKnowledgeSourceParameters

The parameters for the web knowledge source.

Responses

Name Type Description
200 OK KnowledgeSource:
201 Created KnowledgeSource:
Other Status Codes

ErrorResponse

Error response.

Examples

SearchServiceCreateOrUpdateKnowledgeSource
SearchServiceCreateOrUpdateKnowledgeSourceAzureBlob
SearchServiceCreateOrUpdateKnowledgeSourceOneLake
SearchServiceCreateOrUpdateKnowledgeSourceSharePoint
SearchServiceCreateOrUpdateKnowledgeSourceWeb

SearchServiceCreateOrUpdateKnowledgeSource

Sample request

PUT https://previewexampleservice.search.windows.net/knowledgesources('ks-preview-test')?api-version=2025-11-01-preview





{
  "searchIndexParameters": {
    "searchIndexName": "preview-test",
    "sourceDataFields": [
      {
        "name": "description"
      },
      {
        "name": "category"
      }
    ],
    "searchFields": [
      {
        "name": "*"
      }
    ],
    "semanticConfigurationName": "testconfig"
  },
  "name": "ks-preview-test",
  "description": "Description of the knowledge source.",
  "kind": "searchIndex",
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample response

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "searchIndex",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "searchIndexParameters": {
    "searchIndexName": "preview-test",
    "semanticConfigurationName": "testconfig",
    "sourceDataFields": [
      {
        "name": "description"
      },
      {
        "name": "category"
      }
    ],
    "searchFields": [
      {
        "name": "*"
      }
    ]
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "searchIndex",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "searchIndexParameters": {
    "searchIndexName": "preview-test",
    "semanticConfigurationName": "testconfig",
    "sourceDataFields": [
      {
        "name": "description"
      },
      {
        "name": "category"
      }
    ],
    "searchFields": [
      {
        "name": "*"
      }
    ]
  }
}

SearchServiceCreateOrUpdateKnowledgeSourceAzureBlob

Sample request

PUT https://previewexampleservice.search.windows.net/knowledgesources('ks-preview-test')?api-version=2025-11-01-preview





{
  "azureBlobParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "test-container",
    "folderPath": "test-path",
    "isADLSGen2": false,
    "ingestionParameters": {
      "identity": {
        "userAssignedIdentity": "/my/userassigned/id",
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity"
      },
      "embeddingModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        },
        "kind": "azureOpenAI"
      },
      "chatCompletionModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        },
        "kind": "azureOpenAI"
      },
      "disableImageVerbalization": false,
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2025-01-07T19:30:00Z"
      },
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  },
  "name": "ks-preview-test",
  "description": "Description of the knowledge source.",
  "kind": "azureBlob",
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample response

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "azureBlob",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "azureBlobParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "test-container",
    "folderPath": "test-path",
    "isADLSGen2": false,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    },
    "createdResources": {
      "datasource": "ks-preview-test-datasource",
      "indexer": "ks-preview-test-indexer",
      "skillset": "ks-preview-test-skillset",
      "index": "ks-preview-test-index"
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "azureBlob",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "azureBlobParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "test-container",
    "folderPath": "test-path",
    "isADLSGen2": false,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    },
    "createdResources": {
      "datasource": "ks-preview-test-datasource",
      "indexer": "ks-preview-test-indexer",
      "skillset": "ks-preview-test-skillset",
      "index": "ks-preview-test-index"
    }
  }
}

SearchServiceCreateOrUpdateKnowledgeSourceOneLake

Sample request

PUT https://previewexampleservice.search.windows.net/knowledgesources('ks-preview-test')?api-version=2025-11-01-preview





{
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "ResourceId=fakeWorkspaceId",
    "lakehouseId": "fakeLakehouseId",
    "targetPath": "testfolder",
    "ingestionParameters": {
      "identity": {
        "userAssignedIdentity": "/my/userassigned/id",
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity"
      },
      "embeddingModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        },
        "kind": "azureOpenAI"
      },
      "chatCompletionModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        },
        "kind": "azureOpenAI"
      },
      "disableImageVerbalization": false,
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2025-01-07T19:30:00Z"
      },
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  },
  "name": "ks-preview-test",
  "description": "Description of the OneLake knowledge source.",
  "kind": "indexedOneLake",
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample response

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "indexedOneLake",
  "description": "Description of the OneLake knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "ResourceId=fakeWorkspaceId",
    "lakehouseId": "fakeLakehouseId",
    "targetPath": "testfolder",
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "indexedOneLake",
  "description": "Description of the OneLake knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "ResourceId=fakeWorkspaceId",
    "lakehouseId": "fakeLakehouseId",
    "targetPath": "testfolder",
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  }
}

SearchServiceCreateOrUpdateKnowledgeSourceSharePoint

Sample request

PUT https://previewexampleservice.search.windows.net/knowledgesources('ks-preview-test')?api-version=2025-11-01-preview





{
  "indexedSharePointParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "defaultSiteLibrary",
    "query": "*.docx OR *.pdf",
    "ingestionParameters": {
      "identity": {
        "userAssignedIdentity": "/my/userassigned/id",
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity"
      },
      "embeddingModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        },
        "kind": "azureOpenAI"
      },
      "chatCompletionModel": {
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        },
        "kind": "azureOpenAI"
      },
      "disableImageVerbalization": false,
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2025-01-07T19:30:00Z"
      },
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  },
  "name": "ks-preview-test",
  "description": "Description of the SharePoint knowledge source.",
  "kind": "indexedSharePoint",
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample response

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "indexedSharePoint",
  "description": "Description of the SharePoint knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "indexedSharePointParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "defaultSiteLibrary",
    "query": "*.docx OR *.pdf",
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "indexedSharePoint",
  "description": "Description of the SharePoint knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "indexedSharePointParameters": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "defaultSiteLibrary",
    "query": "*.docx OR *.pdf",
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [
        "userIds",
        "groupIds",
        "rbacScope"
      ],
      "contentExtractionMode": "standard",
      "identity": {
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/my/userassigned/id"
      },
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "model",
          "apiKey": "api-key",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "https://test-sample.openai.azure.com/",
          "deploymentId": "myDeployment",
          "apiKey": "api-key",
          "modelName": "gpt-4o-mini"
        }
      },
      "ingestionSchedule": {
        "interval": "P1D",
        "startTime": "2024-06-06T00:01:50.265Z"
      },
      "aiServices": {
        "uri": "https://my-ai-service.azure.com/",
        "apiKey": "api-key"
      }
    }
  }
}

SearchServiceCreateOrUpdateKnowledgeSourceWeb

Sample request

PUT https://previewexampleservice.search.windows.net/knowledgesources('ks-preview-test')?api-version=2025-11-01-preview





{
  "webParameters": {
    "domains": {
      "allowedDomains": [
        {
          "address": "example.com",
          "includeSubpages": true
        },
        {
          "address": "another-example.com"
        }
      ],
      "blockedDomains": [
        {
          "address": "blocked.com"
        },
        {
          "address": "spam.com",
          "includeSubpages": true
        }
      ]
    }
  },
  "name": "ks-preview-test",
  "description": "Description of the knowledge source.",
  "kind": "web",
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample response

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "web",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "webParameters": {
    "domains": {
      "allowedDomains": [
        {
          "address": "example.com",
          "includeSubpages": true
        },
        {
          "address": "another-example.com"
        }
      ],
      "blockedDomains": [
        {
          "address": "blocked.com"
        },
        {
          "address": "spam.com",
          "includeSubpages": true
        }
      ]
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "ks-preview-test",
  "kind": "web",
  "description": "Description of the knowledge source.",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "webParameters": {
    "domains": {
      "allowedDomains": [
        {
          "address": "example.com",
          "includeSubpages": true
        },
        {
          "address": "another-example.com"
        }
      ],
      "blockedDomains": [
        {
          "address": "blocked.com"
        },
        {
          "address": "spam.com",
          "includeSubpages": true
        }
      ]
    }
  }
}

Definitions

Name Description
AIServices

Parameters for Azure Blob Storage knowledge source.

AzureActiveDirectoryApplicationCredentials

Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault.

AzureBlobKnowledgeSource

Configuration for Azure Blob Storage knowledge source.

AzureBlobKnowledgeSourceParameters

Parameters for Azure Blob Storage knowledge source.

AzureOpenAIEmbeddingSkill

Allows you to generate a vector embedding for a given text input using the Azure OpenAI resource.

AzureOpenAIModelName

The Azure Open AI model name that will be called.

AzureOpenAIParameters

Specifies the parameters for connecting to the Azure OpenAI resource.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

IndexedOneLakeKnowledgeSource

Configuration for OneLake knowledge source.

IndexedOneLakeKnowledgeSourceParameters

Parameters for OneLake knowledge source.

IndexedSharePointContainerName

Specifies which SharePoint libraries to access.

IndexedSharePointKnowledgeSource

Configuration for SharePoint knowledge source.

IndexedSharePointKnowledgeSourceParameters

Parameters for SharePoint knowledge source.

IndexingSchedule

Represents a schedule for indexer execution.

InputFieldMappingEntry

Input field mapping for a skill.

KnowledgeBaseAzureOpenAIModel

Specifies the Azure OpenAI resource used to do query planning.

KnowledgeBaseModelKind

The AI model to be used for query planning.

KnowledgeSourceAzureOpenAIVectorizer

Specifies the Azure OpenAI resource used to vectorize a query string.

KnowledgeSourceContentExtractionMode

Optional content extraction mode. Default is 'minimal'.

KnowledgeSourceIngestionParameters

Consolidates all general ingestion settings for knowledge sources.

KnowledgeSourceIngestionPermissionOption

Optional list of permission types to ingest together with document content. If specified, it will set the indexer permission options for the data source.

KnowledgeSourceKind

The kind of the knowledge source.

OutputFieldMappingEntry

Output field mapping for a skill.

RemoteSharePointKnowledgeSource

Configuration for remote SharePoint knowledge source.

RemoteSharePointKnowledgeSourceParameters

Parameters for remote SharePoint knowledge source.

SearchIndexerDataNoneIdentity

Clears the identity property of a datasource.

SearchIndexerDataUserAssignedIdentity

Specifies the identity for a datasource to use.

SearchIndexFieldReference
SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

SearchIndexKnowledgeSourceParameters

Parameters for search index knowledge source.

SearchResourceEncryptionKey

A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.

VectorSearchVectorizerKind

The vectorization method to be used during query time.

WebKnowledgeSource

Knowledge Source targeting web results.

WebKnowledgeSourceDomain

Configuration for web knowledge source domain.

WebKnowledgeSourceDomains

Domain allow/block configuration for web knowledge source.

WebKnowledgeSourceParameters

Parameters for web knowledge source.

AIServices

Parameters for Azure Blob Storage knowledge source.

Name Type Description
apiKey

string

The API key for accessing AI Services.

uri

string (uri)

The URI of the AI Services endpoint.

AzureActiveDirectoryApplicationCredentials

Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault.

Name Type Description
applicationId

string

An AAD Application ID that was granted the required access permissions to the Azure Key Vault that is to be used when encrypting your data at rest. The Application ID should not be confused with the Object ID for your AAD Application.

applicationSecret

string

The authentication key of the specified AAD application.

AzureBlobKnowledgeSource

Configuration for Azure Blob Storage knowledge source.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

azureBlobParameters

AzureBlobKnowledgeSourceParameters

The type of the knowledge source.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

kind string:

azureBlob

The type of the knowledge source.

name

string

The name of the knowledge source.

AzureBlobKnowledgeSourceParameters

Parameters for Azure Blob Storage knowledge source.

Name Type Default value Description
connectionString

string

Key-based connection string or the ResourceId format if using a managed identity.

containerName

string

The name of the blob storage container.

createdResources

object

Resources created by the knowledge source.

folderPath

string

Optional folder path within the container.

ingestionParameters

KnowledgeSourceIngestionParameters

Consolidates all general ingestion settings.

isADLSGen2

boolean

False

Set to true if connecting to an ADLS Gen2 storage account. Default is false.

AzureOpenAIEmbeddingSkill

Allows you to generate a vector embedding for a given text input using the Azure OpenAI resource.

Name Type Description
@odata.type string:

#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

A URI fragment specifying the type of skill.

apiKey

string

API key of the designated Azure OpenAI resource.

authIdentity SearchIndexerDataIdentity:

The user-assigned managed identity used for outbound connections.

context

string

Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document.

deploymentId

string

ID of the Azure OpenAI model deployment on the designated resource.

description

string

The description of the skill which describes the inputs, outputs, and usage of the skill.

dimensions

integer (int32)

The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.

inputs

InputFieldMappingEntry[]

Inputs of the skills could be a column in the source data set, or the output of an upstream skill.

modelName

AzureOpenAIModelName

The name of the embedding model that is deployed at the provided deploymentId path.

name

string

The name of the skill which uniquely identifies it within the skillset. A skill with no name defined will be given a default name of its 1-based index in the skills array, prefixed with the character '#'.

outputs

OutputFieldMappingEntry[]

The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill.

resourceUri

string (uri)

The resource URI of the Azure OpenAI resource.

AzureOpenAIModelName

The Azure Open AI model name that will be called.

Value Description
text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
gpt-4o
gpt-4o-mini
gpt-4.1
gpt-4.1-mini
gpt-4.1-nano
gpt-5
gpt-5-mini
gpt-5-nano

AzureOpenAIParameters

Specifies the parameters for connecting to the Azure OpenAI resource.

Name Type Description
apiKey

string

API key of the designated Azure OpenAI resource.

authIdentity SearchIndexerDataIdentity:

The user-assigned managed identity used for outbound connections.

deploymentId

string

ID of the Azure OpenAI model deployment on the designated resource.

modelName

AzureOpenAIModelName

The name of the embedding model that is deployed at the provided deploymentId path.

resourceUri

string (uri)

The resource URI of the Azure OpenAI resource.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

IndexedOneLakeKnowledgeSource

Configuration for OneLake knowledge source.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

indexedOneLakeParameters

IndexedOneLakeKnowledgeSourceParameters

The parameters for the OneLake knowledge source.

kind string:

indexedOneLake

The type of the knowledge source.

name

string

The name of the knowledge source.

IndexedOneLakeKnowledgeSourceParameters

Parameters for OneLake knowledge source.

Name Type Description
createdResources

object

Resources created by the knowledge source.

fabricWorkspaceId

string

OneLake workspace ID.

ingestionParameters

KnowledgeSourceIngestionParameters

Consolidates all general ingestion settings.

lakehouseId

string

Specifies which OneLake lakehouse to access.

targetPath

string

Optional OneLakehouse folder or shortcut to filter OneLake content.

IndexedSharePointContainerName

Specifies which SharePoint libraries to access.

Value Description
defaultSiteLibrary

Index content from the site's default document library.

allSiteLibraries

Index content from every document library in the site.

useQuery

Index only content that matches the query specified in the knowledge source.

IndexedSharePointKnowledgeSource

Configuration for SharePoint knowledge source.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

indexedSharePointParameters

IndexedSharePointKnowledgeSourceParameters

The parameters for the SharePoint knowledge source.

kind string:

indexedSharePoint

The type of the knowledge source.

name

string

The name of the knowledge source.

IndexedSharePointKnowledgeSourceParameters

Parameters for SharePoint knowledge source.

Name Type Description
connectionString

string

SharePoint connection string with format: SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];ApplicationSecret=[Azure AD App client secret];TenantId=[SharePoint site tenant id]

containerName

IndexedSharePointContainerName

Specifies which SharePoint libraries to access.

createdResources

object

Resources created by the knowledge source.

ingestionParameters

KnowledgeSourceIngestionParameters

Consolidates all general ingestion settings.

query

string

Optional query to filter SharePoint content.

IndexingSchedule

Represents a schedule for indexer execution.

Name Type Description
interval

string (duration)

The interval of time between indexer executions.

startTime

string (date-time)

The time when an indexer should start running.

InputFieldMappingEntry

Input field mapping for a skill.

Name Type Description
inputs

InputFieldMappingEntry[]

The recursive inputs used when creating a complex type.

name

string

The name of the input.

source

string

The source of the input.

sourceContext

string

The source context used for selecting recursive inputs.

KnowledgeBaseAzureOpenAIModel

Specifies the Azure OpenAI resource used to do query planning.

Name Type Description
azureOpenAIParameters AzureOpenAIParameters:

AzureOpenAIEmbeddingSkill

Contains the parameters specific to Azure OpenAI model endpoint.

kind string:

azureOpenAI

The type of AI model.

KnowledgeBaseModelKind

The AI model to be used for query planning.

Value Description
azureOpenAI

Use Azure Open AI models for query planning.

KnowledgeSourceAzureOpenAIVectorizer

Specifies the Azure OpenAI resource used to vectorize a query string.

Name Type Description
azureOpenAIParameters AzureOpenAIParameters:

AzureOpenAIEmbeddingSkill

Contains the parameters specific to Azure OpenAI embedding vectorization.

kind string:

azureOpenAI

The name of the kind of vectorization method being configured for use with vector search.

KnowledgeSourceContentExtractionMode

Optional content extraction mode. Default is 'minimal'.

Value Description
minimal

Extracts only essential metadata while deferring most content processing.

standard

Performs the full default content extraction pipeline.

KnowledgeSourceIngestionParameters

Consolidates all general ingestion settings for knowledge sources.

Name Type Default value Description
aiServices

AIServices

Optional AI Services configuration for content processing.

chatCompletionModel KnowledgeBaseModel:

KnowledgeBaseAzureOpenAIModel

Optional chat completion model for image verbalization or context extraction.

contentExtractionMode

KnowledgeSourceContentExtractionMode

minimal

Optional content extraction mode. Default is 'minimal'.

disableImageVerbalization

boolean

False

Indicates whether image verbalization should be disabled. Default is false.

embeddingModel KnowledgeSourceVectorizer:

KnowledgeSourceAzureOpenAIVectorizer

Optional vectorizer configuration for vectorizing content.

identity SearchIndexerDataIdentity:

An explicit identity to use for this knowledge source.

ingestionPermissionOptions

KnowledgeSourceIngestionPermissionOption[]

Optional list of permission types to ingest together with document content. If specified, it will set the indexer permission options for the data source.

ingestionSchedule

IndexingSchedule

Optional schedule for data ingestion.

KnowledgeSourceIngestionPermissionOption

Optional list of permission types to ingest together with document content. If specified, it will set the indexer permission options for the data source.

Value Description
userIds

Ingest explicit user identifiers alongside document content.

groupIds

Ingest group identifiers alongside document content.

rbacScope

Ingest RBAC scope information alongside document content.

KnowledgeSourceKind

The kind of the knowledge source.

Value Description
searchIndex

A knowledge source that retrieves data from a Search Index.

azureBlob

A knowledge source that retrieves and ingests data from Azure Blob Storage to a Search Index.

web

A knowledge source that retrieves data from the web.

remoteSharePoint

A knowledge source that retrieves data from a remote SharePoint endpoint.

indexedSharePoint

A knowledge source that retrieves and ingests data from SharePoint to a Search Index.

indexedOneLake

A knowledge source that retrieves and ingests data from OneLake to a Search Index.

OutputFieldMappingEntry

Output field mapping for a skill.

Name Type Description
name

string

The name of the output defined by the skill.

targetName

string

The target name of the output. It is optional and default to name.

RemoteSharePointKnowledgeSource

Configuration for remote SharePoint knowledge source.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

kind string:

remoteSharePoint

The type of the knowledge source.

name

string

The name of the knowledge source.

remoteSharePointParameters

RemoteSharePointKnowledgeSourceParameters

The parameters for the knowledge source.

RemoteSharePointKnowledgeSourceParameters

Parameters for remote SharePoint knowledge source.

Name Type Description
containerTypeId

string

Container ID for SharePoint Embedded connection. When this is null, it will use SharePoint Online.

filterExpression

string

Keyword Query Language (KQL) expression with queryable SharePoint properties and attributes to scope the retrieval before the query runs. See documentation: https://learn.microsoft.com/en-us/sharepoint/dev/general-development/keyword-query-language-kql-syntax-reference

resourceMetadata

string[]

A list of metadata fields to be returned for each item in the response. Only retrievable metadata properties can be included in this list. By default, no metadata is returned. Optional.

SearchIndexerDataNoneIdentity

Clears the identity property of a datasource.

Name Type Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

A URI fragment specifying the type of identity.

SearchIndexerDataUserAssignedIdentity

Specifies the identity for a datasource to use.

Name Type Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

A URI fragment specifying the type of identity.

userAssignedIdentity

string

The fully qualified Azure resource Id of a user assigned managed identity typically in the form "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" that should have been assigned to the search service.

SearchIndexFieldReference

Name Type Description
name

string

SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

kind string:

searchIndex

The type of the knowledge source.

name

string

The name of the knowledge source.

searchIndexParameters

SearchIndexKnowledgeSourceParameters

The parameters for the knowledge source.

SearchIndexKnowledgeSourceParameters

Parameters for search index knowledge source.

Name Type Description
searchFields

SearchIndexFieldReference[]

Used to restrict which fields to search on the search index.

searchIndexName

string

The name of the Search index.

semanticConfigurationName

string

Used to specify a different semantic configuration on the target search index other than the default one.

sourceDataFields

SearchIndexFieldReference[]

Used to request additional fields for referenced source data.

SearchResourceEncryptionKey

A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.

Name Type Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Optional Azure Active Directory credentials used for accessing your Azure Key Vault. Not required if using managed identity instead.

identity SearchIndexerDataIdentity:

An explicit managed identity to use for this encryption key. If not specified and the access credentials property is null, the system-assigned managed identity is used. On update to the resource, if the explicit identity is unspecified, it remains unchanged. If "none" is specified, the value of this property is cleared.

keyVaultKeyName

string

The name of your Azure Key Vault key to be used to encrypt your data at rest.

keyVaultKeyVersion

string

The version of your Azure Key Vault key to be used to encrypt your data at rest.

keyVaultUri

string

The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be used to encrypt your data at rest. An example URI might be https://my-keyvault-name.vault.azure.net.

VectorSearchVectorizerKind

The vectorization method to be used during query time.

Value Description
azureOpenAI

Generate embeddings using an Azure OpenAI resource at query time.

customWebApi

Generate embeddings using a custom web endpoint at query time.

aiServicesVision

Generate embeddings for an image or text input at query time using the Azure AI Services Vision Vectorize API.

aml

Generate embeddings using an Azure Machine Learning endpoint deployed via the Azure AI Foundry Model Catalog at query time.

WebKnowledgeSource

Knowledge Source targeting web results.

Name Type Description
@odata.etag

string

The ETag of the knowledge base.

description

string

Optional user-defined description.

encryptionKey

SearchResourceEncryptionKey

A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your knowledge base definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your knowledge base definition, it will always remain encrypted. The search service will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your knowledge base definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.

kind string:

web

The type of the knowledge source.

name

string

The name of the knowledge source.

webParameters

WebKnowledgeSourceParameters

The parameters for the web knowledge source.

WebKnowledgeSourceDomain

Configuration for web knowledge source domain.

Name Type Description
address

string

The address of the domain.

includeSubpages

boolean

Whether or not to include subpages from this domain.

WebKnowledgeSourceDomains

Domain allow/block configuration for web knowledge source.

Name Type Description
allowedDomains

WebKnowledgeSourceDomain[]

Domains that are allowed for web results

blockedDomains

WebKnowledgeSourceDomain[]

Domains that are blocked from web results

WebKnowledgeSourceParameters

Parameters for web knowledge source.

Name Type Description
domains

WebKnowledgeSourceDomains

Domain allow/block configuration for web results.