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-08-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.

SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

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 agent.

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 agent definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your agent 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 agent 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.

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 agent.

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 agent definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your agent 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 agent 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.

Responses

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

ErrorResponse

Error response.

Examples

SearchServiceCreateOrUpdateKnowledgeSource
SearchServiceCreateOrUpdateKnowledgeSourceAzureBlob

SearchServiceCreateOrUpdateKnowledgeSource

Sample request

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





{
  "searchIndexParameters": {
    "searchIndexName": "preview-test",
    "sourceDataSelect": "description,category"
  },
  "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",
    "sourceDataSelect": "description,category"
  }
}
{
  "@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",
    "sourceDataSelect": "description,category"
  }
}

SearchServiceCreateOrUpdateKnowledgeSourceAzureBlob

Sample request

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





{
  "azureBlobParameters": {
    "identity": {
      "userAssignedIdentity": "/my/userassigned/id",
      "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity"
    },
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net ",
    "containerName": "test-container",
    "folderPath": "test-path",
    "embeddingModel": {
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "model",
        "apiKey": "api-key",
        "modelName": "text-embedding-3-large"
      },
      "name": "openai",
      "kind": "azureOpenAI"
    },
    "chatCompletionModel": {
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      },
      "kind": "azureOpenAI"
    },
    "ingestionSchedule": {
      "interval": "P1D",
      "startTime": "2025-01-07T19:30:00Z"
    },
    "disableImageVerbalization": false
  },
  "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",
    "disableImageVerbalization": false,
    "identity": {
      "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
      "userAssignedIdentity": "/my/userassigned/id"
    },
    "embeddingModel": {
      "name": "openai",
      "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"
    }
  }
}
{
  "@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",
    "disableImageVerbalization": false,
    "identity": {
      "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
      "userAssignedIdentity": "/my/userassigned/id"
    },
    "embeddingModel": {
      "name": "openai",
      "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"
    }
  }
}

Definitions

Name Description
AIFoundryModelCatalogName

The name of the embedding model from the Azure AI Foundry Catalog that will be called.

AIServicesVisionParameters

Specifies the AI Services Vision parameters for vectorizing a query image or text.

AIServicesVisionVectorizer

Specifies the AI Services Vision parameters for vectorizing a query image or text.

AMLParameters

Specifies the properties for connecting to an AML vectorizer.

AMLVectorizer

Specifies an Azure Machine Learning endpoint deployed via the Azure AI Foundry Model Catalog for generating the vector embedding of a query string.

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.

AzureOpenAIVectorizer

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

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

IndexingSchedule

Represents a schedule for indexer execution.

InputFieldMappingEntry

Input field mapping for a skill.

KnowledgeAgentAzureOpenAIModel

Specifies the Azure OpenAI resource used to do query planning.

KnowledgeAgentModelKind

The AI model to be used for query planning.

KnowledgeSourceKind

The kind of the knowledge source.

OutputFieldMappingEntry

Output field mapping for a skill.

SearchIndexerDataNoneIdentity

Clears the identity property of a datasource.

SearchIndexerDataUserAssignedIdentity

Specifies the identity for a datasource to use.

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.

WebApiParameters

Specifies the properties for connecting to a user-defined vectorizer.

WebApiVectorizer

Specifies a user-defined vectorizer for generating the vector embedding of a query string. Integration of an external vectorizer is achieved using the custom Web API interface of a skillset.

AIFoundryModelCatalogName

The name of the embedding model from the Azure AI Foundry Catalog that will be called.

Value Description
OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
Facebook-DinoV2-Image-Embeddings-ViT-Base
Facebook-DinoV2-Image-Embeddings-ViT-Giant
Cohere-embed-v3-english
Cohere-embed-v3-multilingual
Cohere-embed-v4

Cohere embed v4 model for generating embeddings from both text and images.

AIServicesVisionParameters

Specifies the AI Services Vision parameters for vectorizing a query image or text.

Name Type Description
apiKey

string

API key of the designated AI Services resource.

authIdentity SearchIndexerDataIdentity:

The user-assigned managed identity used for outbound connections. If an authResourceId is provided and it's not specified, the system-assigned managed identity is used. On updates to the index, if the identity is unspecified, the value remains unchanged. If set to "none", the value of this property is cleared.

modelVersion

string

The version of the model to use when calling the AI Services Vision service. It will default to the latest available when not specified.

resourceUri

string (uri)

The resource URI of the AI Services resource.

AIServicesVisionVectorizer

Specifies the AI Services Vision parameters for vectorizing a query image or text.

Name Type Description
aiServicesVisionParameters

AIServicesVisionParameters

Contains the parameters specific to AI Services Vision embedding vectorization.

kind string:

aiServicesVision

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

name

string

The name to associate with this particular vectorization method.

AMLParameters

Specifies the properties for connecting to an AML vectorizer.

Name Type Description
key

string

(Required for key authentication) The key for the AML service.

modelName

AIFoundryModelCatalogName

The name of the embedding model from the Azure AI Foundry Catalog that is deployed at the provided endpoint.

region

string

(Optional for token authentication). The region the AML service is deployed in.

resourceId

string

(Required for token authentication). The Azure Resource Manager resource ID of the AML service. It should be in the format subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/services/{service_name}.

timeout

string (duration)

(Optional) When specified, indicates the timeout for the http client making the API call.

uri

string (uri)

(Required for no authentication or key authentication) The scoring URI of the AML service to which the JSON payload will be sent. Only the https URI scheme is allowed.

AMLVectorizer

Specifies an Azure Machine Learning endpoint deployed via the Azure AI Foundry Model Catalog for generating the vector embedding of a query string.

Name Type Description
amlParameters

AMLParameters

Specifies the properties of the AML vectorizer.

kind string:

aml

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

name

string

The name to associate with this particular vectorization method.

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 agent.

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 agent definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your agent 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 agent 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 Description
chatCompletionModel KnowledgeAgentModel:

KnowledgeAgentAzureOpenAIModel

Optional chat completion model for image verbalization or context extraction.

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.

disableImageVerbalization

boolean

Indicates whether image verbalization should be disabled.

embeddingModel VectorSearchVectorizer:

Optional vectorizer configuration for vectorizing content.

folderPath

string

Optional folder path within the container.

identity SearchIndexerDataIdentity:

An explicit identity to use for this knowledge source.

ingestionSchedule

IndexingSchedule

Optional schedule for data ingestion.

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

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.

AzureOpenAIVectorizer

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.

name

string

The name to associate with this particular vectorization method.

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.

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.

KnowledgeAgentAzureOpenAIModel

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.

KnowledgeAgentModelKind

The AI model to be used for query planning.

Value Description
azureOpenAI

Use Azure Open AI models for query planning.

KnowledgeSourceKind

The kind of the knowledge source.

Value Description
searchIndex

A knowledge source that reads data from a Search Index.

azureBlob

A knowledge source that read and ingest data from Azure Blob Storage 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.

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.

SearchIndexKnowledgeSource

Knowledge Source targeting a search index.

Name Type Description
@odata.etag

string

The ETag of the agent.

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 agent definition when you want full assurance that no one, not even Microsoft, can decrypt them. Once you have encrypted your agent 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 agent 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
searchIndexName

string

The name of the Search index.

sourceDataSelect

string

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.

WebApiParameters

Specifies the properties for connecting to a user-defined vectorizer.

Name Type Description
authIdentity SearchIndexerDataIdentity:

The user-assigned managed identity used for outbound connections. If an authResourceId is provided and it's not specified, the system-assigned managed identity is used. On updates to the indexer, if the identity is unspecified, the value remains unchanged. If set to "none", the value of this property is cleared.

authResourceId

string

Applies to custom endpoints that connect to external code in an Azure function or some other application that provides the transformations. This value should be the application ID created for the function or app when it was registered with Azure Active Directory. When specified, the vectorization connects to the function or app using a managed ID (either system or user-assigned) of the search service and the access token of the function or app, using this value as the resource id for creating the scope of the access token.

httpHeaders

object

The headers required to make the HTTP request.

httpMethod

string

The method for the HTTP request.

timeout

string (duration)

The desired timeout for the request. Default is 30 seconds.

uri

string (uri)

The URI of the Web API providing the vectorizer.

WebApiVectorizer

Specifies a user-defined vectorizer for generating the vector embedding of a query string. Integration of an external vectorizer is achieved using the custom Web API interface of a skillset.

Name Type Description
customWebApiParameters

WebApiParameters

Specifies the properties of the user-defined vectorizer.

kind string:

customWebApi

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

name

string

The name to associate with this particular vectorization method.