Knowledgebase - Update
Asynchronous operation to modify a knowledgebase.
PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/{kbId}
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
Endpoint
|
path | True |
string |
Supported Cognitive Services endpoint (e.g., https://< qnamaker-resource-name >.api.cognitiveservices.azure.com). |
kb
|
path | True |
string |
Knowledgebase id. |
Request Header
Name | Required | Type | Description |
---|---|---|---|
Ocp-Apim-Subscription-Key | True |
string |
Request Body
Name | Type | Description |
---|---|---|
add |
An instance of CreateKbInputDTO for add operation |
|
defaultAnswerUsedForExtraction |
string |
Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True. |
delete |
An instance of DeleteKbContentsDTO for delete Operation |
|
enableHierarchicalExtraction |
boolean |
Enable hierarchical extraction of Q-A from files and urls. The value set during KB creation will be used if this field is not present. |
update |
An instance of UpdateKbContentsDTO for Update Operation |
Responses
Name | Type | Description |
---|---|---|
202 Accepted |
Details of the asynchronous operation. Headers Location: string |
|
Other Status Codes |
Error response. |
Security
Ocp-Apim-Subscription-Key
Type:
apiKey
In:
header
Examples
Successful query
Sample request
PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff
{
"add": {
"qnaList": [
{
"id": 0,
"answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
"source": "Custom Editorial",
"questions": [
"How can I change the default message from QnA Maker?"
],
"metadata": []
}
],
"urls": [
"https://docs.microsoft.com/en-us/azure/cognitive-services/Emotion/FAQ"
],
"files": [
{
"fileName": "SurfaceManual.pdf",
"fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
}
]
},
"delete": {
"ids": [
13,
35
]
},
"update": {
"name": "QnA Maker FAQ Prompts Bot",
"qnaList": [
{
"id": 2,
"answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
"source": "Custom Editorial",
"questions": {
"add": [],
"delete": []
},
"metadata": {
"add": [],
"delete": []
},
"context": {
"isContextOnly": false,
"promptsToAdd": [
{
"displayText": "Add Prompts",
"displayOrder": 0,
"qna": {
"id": 0,
"answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
"source": "Editorial",
"questions": [
"How can I add prompts?"
],
"metadata": [],
"context": {
"isContextOnly": false,
"prompts": []
}
},
"qnaId": 0
},
{
"displayText": "Delete Prompts",
"displayOrder": 0,
"qna": {
"id": 0,
"answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
"source": "Editorial",
"questions": [
"How can I delete delete prompts?"
],
"metadata": [],
"context": {
"isContextOnly": false,
"prompts": []
}
},
"qnaId": 0
},
{
"displayText": "Update Knowledgebase",
"displayOrder": 0,
"qna": null,
"qnaId": 3
}
],
"promptsToDelete": [
3
]
}
},
{
"id": 3,
"answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
"source": "Custom Editorial",
"questions": {
"add": [],
"delete": []
},
"metadata": {
"delete": [
{
"name": "category",
"value": "api"
}
],
"add": [
{
"name": "category",
"value": "programmatic"
}
]
},
"context": {
"isContextOnly": false,
"promptsToAdd": [
{
"displayText": "Regenerate Endpoint keys",
"displayOrder": 1,
"qna": null,
"qnaId": 4
}
],
"promptsToDelete": [
4
]
}
}
]
}
}
Sample response
{
"operationState": "NotStarted",
"createdTimestamp": "2018-03-19T07:38:46Z",
"lastActionTimestamp": "2018-03-19T07:39:29Z",
"userId": "86bb8390-56c0-42c2-9f81-3de161981191",
"operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
}
Definitions
Name | Description |
---|---|
Add |
An instance of CreateKbInputDTO for add operation |
Context |
Context associated with Qna to be updated. |
Delete |
An instance of DeleteKbContentsDTO for delete Operation |
Error |
The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Error |
One of a server-defined set of error codes. |
Error |
Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
FileDTO |
DTO to hold details of uploaded files. |
Inner |
An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Metadata |
List of metadata associated with the answer to be updated |
MetadataDTO |
Name - value pair of metadata. |
Operation |
Record to track long running operation. |
Operation |
Operation state. |
PromptDTO |
Prompt for an answer. |
Qna |
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object |
QnADTO |
Q-A object. |
Questions |
List of questions associated with the answer. |
Update |
An instance of UpdateKbContentsDTO for Update Operation |
Update |
Contains list of QnAs to be updated |
Update |
PATCH Body schema for Update Qna List |
Add
An instance of CreateKbInputDTO for add operation
Name | Type | Description |
---|---|---|
files |
FileDTO[] |
List of files to be added to knowledgebase. |
qnaList |
QnADTO[] |
List of QNA to be added to the index. Ids are generated by the service and should be omitted. |
urls |
string[] |
List of URLs to be added to knowledgebase. |
Context
Context associated with Qna to be updated.
Name | Type | Description |
---|---|---|
isContextOnly |
boolean |
To mark if a prompt is relevant only with a previous question or not. true - Do not include this QnA as search result for queries without context false - ignores context and includes this QnA in search result |
promptsToAdd |
List of prompts to be added to the qna. |
|
promptsToDelete |
integer[] |
List of prompts associated with qna to be deleted |
Delete
An instance of DeleteKbContentsDTO for delete Operation
Name | Type | Description |
---|---|---|
ids |
integer[] |
List of Qna Ids to be deleted |
sources |
string[] |
List of sources to be deleted from knowledgebase. |
Error
The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
code |
One of a server-defined set of error codes. |
|
details |
Error[] |
An array of details about specific errors that led to this reported error. |
innerError |
An object containing more specific information than the current object about the error. |
|
message |
string |
A human-readable representation of the error. |
target |
string |
The target of the error. |
ErrorCodeType
One of a server-defined set of error codes.
Name | Type | Description |
---|---|---|
BadArgument |
string |
|
EndpointKeysError |
string |
|
ExtractionFailure |
string |
|
Forbidden |
string |
|
KbNotFound |
string |
|
NotFound |
string |
|
OperationNotFound |
string |
|
QnaRuntimeError |
string |
|
QuotaExceeded |
string |
|
SKULimitExceeded |
string |
|
ServiceError |
string |
|
Unauthorized |
string |
|
Unspecified |
string |
|
ValidationFailure |
string |
ErrorResponse
Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
error |
The error object. |
FileDTO
DTO to hold details of uploaded files.
Name | Type | Description |
---|---|---|
fileName |
string |
File name. Supported file types are ".tsv", ".pdf", ".txt", ".docx", ".xlsx". |
fileUri |
string |
Public URI of the file. |
isUnstructured |
boolean |
Optional Flag to specify if the given file is Unstructured. |
InnerErrorModel
An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
code |
string |
A more specific error code than was provided by the containing error. |
innerError |
An object containing more specific information than the current object about the error. |
Metadata
List of metadata associated with the answer to be updated
Name | Type | Description |
---|---|---|
add |
List of metadata associated with answer to be added |
|
delete |
List of Metadata associated with answer to be deleted |
MetadataDTO
Name - value pair of metadata.
Name | Type | Description |
---|---|---|
name |
string |
Metadata name. |
value |
string |
Metadata value. |
Operation
Record to track long running operation.
Name | Type | Description |
---|---|---|
createdTimestamp |
string |
Timestamp when the operation was created. |
errorResponse |
Error details in case of failures. |
|
lastActionTimestamp |
string |
Timestamp when the current state was entered. |
operationId |
string |
Operation Id. |
operationState |
Operation state. |
|
resourceLocation |
string |
Relative URI to the target resource location for completed resources. |
userId |
string |
User Id |
OperationStateType
Operation state.
Name | Type | Description |
---|---|---|
Failed |
string |
|
NotStarted |
string |
|
Running |
string |
|
Succeeded |
string |
PromptDTO
Prompt for an answer.
Name | Type | Description |
---|---|---|
displayOrder |
integer |
Index of the prompt - used in ordering of the prompts |
displayText |
string |
Text displayed to represent a follow up question prompt |
qna |
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object |
|
qnaId |
integer |
Qna id corresponding to the prompt - if QnaId is present, QnADTO object is ignored. |
Qna
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object
Name | Type | Description |
---|---|---|
answer |
string |
Answer text |
context |
Context of a QnA |
|
id |
integer |
Unique id for the Q-A. |
lastUpdatedTimestamp |
string |
Timestamp when the QnA was last updated. |
metadata |
List of metadata associated with the answer. |
|
questions |
string[] |
List of questions associated with the answer. |
source |
string |
Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |
QnADTO
Q-A object.
Name | Type | Description |
---|---|---|
answer |
string |
Answer text |
context |
Context of a QnA |
|
id |
integer |
Unique id for the Q-A. |
lastUpdatedTimestamp |
string |
Timestamp when the QnA was last updated. |
metadata |
List of metadata associated with the answer. |
|
questions |
string[] |
List of questions associated with the answer. |
source |
string |
Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |
Questions
List of questions associated with the answer.
Name | Type | Description |
---|---|---|
add |
string[] |
List of questions to be added |
delete |
string[] |
List of questions to be deleted. |
Update
An instance of UpdateKbContentsDTO for Update Operation
Name | Type | Description |
---|---|---|
defaultAnswer |
string |
Default answer sent to user if no good match is found in the KB. |
name |
string |
Friendly name for the knowledgebase. |
qnaList |
List of Q-A (UpdateQnaDTO) to be added to the knowledgebase. |
|
urls |
string[] |
List of existing URLs to be refreshed. The content will be extracted again and re-indexed. |
UpdateKbOperationDTO
Contains list of QnAs to be updated
Name | Type | Description |
---|---|---|
add |
An instance of CreateKbInputDTO for add operation |
|
defaultAnswerUsedForExtraction |
string |
Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True. |
delete |
An instance of DeleteKbContentsDTO for delete Operation |
|
enableHierarchicalExtraction |
boolean |
Enable hierarchical extraction of Q-A from files and urls. The value set during KB creation will be used if this field is not present. |
update |
An instance of UpdateKbContentsDTO for Update Operation |
UpdateQnaDTO
PATCH Body schema for Update Qna List
Name | Type | Description |
---|---|---|
answer |
string |
Answer text |
context |
Context associated with Qna to be updated. |
|
id |
integer |
Unique id for the Q-A |
metadata |
List of metadata associated with the answer to be updated |
|
questions |
List of questions associated with the answer. |
|
source |
string |
Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |