{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2020-10-19",
    "endpointPrefix":"wisdom",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"Amazon Connect Wisdom Service",
    "serviceId":"Wisdom",
    "signatureVersion":"v4",
    "signingName":"wisdom",
    "uid":"wisdom-2020-10-19"
  },
  "operations":{
    "CreateAssistant":{
      "name":"CreateAssistant",
      "http":{
        "method":"POST",
        "requestUri":"/assistants",
        "responseCode":200
      },
      "input":{"shape":"CreateAssistantRequest"},
      "output":{"shape":"CreateAssistantResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates an Amazon Connect Wisdom assistant.</p>",
      "idempotent":true
    },
    "CreateAssistantAssociation":{
      "name":"CreateAssistantAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/assistants/{assistantId}/associations",
        "responseCode":200
      },
      "input":{"shape":"CreateAssistantAssociationRequest"},
      "output":{"shape":"CreateAssistantAssociationResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates an association between an Amazon Connect Wisdom assistant and another resource. Currently, the only supported association is with a knowledge base. An assistant can have only a single association.</p>",
      "idempotent":true
    },
    "CreateContent":{
      "name":"CreateContent",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents",
        "responseCode":200
      },
      "input":{"shape":"CreateContentRequest"},
      "output":{"shape":"CreateContentResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates Wisdom content. Before to calling this API, use <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html\">StartContentUpload</a> to upload an asset.</p>",
      "idempotent":true
    },
    "CreateKnowledgeBase":{
      "name":"CreateKnowledgeBase",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases",
        "responseCode":200
      },
      "input":{"shape":"CreateKnowledgeBaseRequest"},
      "output":{"shape":"CreateKnowledgeBaseResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a knowledge base.</p> <note> <p>When using this API, you cannot reuse <a href=\"https://docs.aws.amazon.com/appintegrations/latest/APIReference/Welcome.html\">Amazon AppIntegrations</a> DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an <code>InvalidRequestException</code> error. </p> <pre><code> &lt;p&gt;For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;Call &lt;a href=&quot;https://docs.aws.amazon.com/wisdom/latest/APIReference/API_DeleteKnowledgeBase.html&quot;&gt;DeleteKnowledgeBase&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Call &lt;a href=&quot;https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html&quot;&gt;DeleteDataIntegration&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Call &lt;a href=&quot;https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html&quot;&gt;CreateDataIntegration&lt;/a&gt; to recreate the DataIntegration or a create different one.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Call CreateKnowledgeBase.&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/note&gt; </code></pre>",
      "idempotent":true
    },
    "CreateSession":{
      "name":"CreateSession",
      "http":{
        "method":"POST",
        "requestUri":"/assistants/{assistantId}/sessions",
        "responseCode":200
      },
      "input":{"shape":"CreateSessionRequest"},
      "output":{"shape":"CreateSessionResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates a session. A session is a contextual container used for generating recommendations. Amazon Connect creates a new Wisdom session for each contact on which Wisdom is enabled.</p>",
      "idempotent":true
    },
    "DeleteAssistant":{
      "name":"DeleteAssistant",
      "http":{
        "method":"DELETE",
        "requestUri":"/assistants/{assistantId}",
        "responseCode":204
      },
      "input":{"shape":"DeleteAssistantRequest"},
      "output":{"shape":"DeleteAssistantResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes an assistant.</p>",
      "idempotent":true
    },
    "DeleteAssistantAssociation":{
      "name":"DeleteAssistantAssociation",
      "http":{
        "method":"DELETE",
        "requestUri":"/assistants/{assistantId}/associations/{assistantAssociationId}",
        "responseCode":204
      },
      "input":{"shape":"DeleteAssistantAssociationRequest"},
      "output":{"shape":"DeleteAssistantAssociationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes an assistant association.</p>",
      "idempotent":true
    },
    "DeleteContent":{
      "name":"DeleteContent",
      "http":{
        "method":"DELETE",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents/{contentId}",
        "responseCode":204
      },
      "input":{"shape":"DeleteContentRequest"},
      "output":{"shape":"DeleteContentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes the content.</p>",
      "idempotent":true
    },
    "DeleteKnowledgeBase":{
      "name":"DeleteKnowledgeBase",
      "http":{
        "method":"DELETE",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}",
        "responseCode":204
      },
      "input":{"shape":"DeleteKnowledgeBaseRequest"},
      "output":{"shape":"DeleteKnowledgeBaseResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes the knowledge base.</p> <note> <p>When you use this API to delete an external knowledge base such as Salesforce or ServiceNow, you must also delete the <a href=\"https://docs.aws.amazon.com/appintegrations/latest/APIReference/Welcome.html\">Amazon AppIntegrations</a> DataIntegration. This is because you can't reuse the DataIntegration after it's been associated with an external knowledge base. However, you can delete and recreate it. See <a href=\"https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html\">DeleteDataIntegration</a> and <a href=\"https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html\">CreateDataIntegration</a> in the <i>Amazon AppIntegrations API Reference</i>.</p> </note>",
      "idempotent":true
    },
    "GetAssistant":{
      "name":"GetAssistant",
      "http":{
        "method":"GET",
        "requestUri":"/assistants/{assistantId}",
        "responseCode":200
      },
      "input":{"shape":"GetAssistantRequest"},
      "output":{"shape":"GetAssistantResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information about an assistant.</p>"
    },
    "GetAssistantAssociation":{
      "name":"GetAssistantAssociation",
      "http":{
        "method":"GET",
        "requestUri":"/assistants/{assistantId}/associations/{assistantAssociationId}",
        "responseCode":200
      },
      "input":{"shape":"GetAssistantAssociationRequest"},
      "output":{"shape":"GetAssistantAssociationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information about an assistant association.</p>"
    },
    "GetContent":{
      "name":"GetContent",
      "http":{
        "method":"GET",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents/{contentId}",
        "responseCode":200
      },
      "input":{"shape":"GetContentRequest"},
      "output":{"shape":"GetContentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves content, including a pre-signed URL to download the content.</p>"
    },
    "GetContentSummary":{
      "name":"GetContentSummary",
      "http":{
        "method":"GET",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/summary",
        "responseCode":200
      },
      "input":{"shape":"GetContentSummaryRequest"},
      "output":{"shape":"GetContentSummaryResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves summary information about the content.</p>"
    },
    "GetKnowledgeBase":{
      "name":"GetKnowledgeBase",
      "http":{
        "method":"GET",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}",
        "responseCode":200
      },
      "input":{"shape":"GetKnowledgeBaseRequest"},
      "output":{"shape":"GetKnowledgeBaseResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information about the knowledge base.</p>"
    },
    "GetRecommendations":{
      "name":"GetRecommendations",
      "http":{
        "method":"GET",
        "requestUri":"/assistants/{assistantId}/sessions/{sessionId}/recommendations",
        "responseCode":200
      },
      "input":{"shape":"GetRecommendationsRequest"},
      "output":{"shape":"GetRecommendationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves recommendations for the specified session. To avoid retrieving the same recommendations in subsequent calls, use <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_NotifyRecommendationsReceived.html\">NotifyRecommendationsReceived</a>. This API supports long-polling behavior with the <code>waitTimeSeconds</code> parameter. Short poll is the default behavior and only returns recommendations already available. To perform a manual query against an assistant, use <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_QueryAssistant.html\">QueryAssistant</a>.</p>"
    },
    "GetSession":{
      "name":"GetSession",
      "http":{
        "method":"GET",
        "requestUri":"/assistants/{assistantId}/sessions/{sessionId}",
        "responseCode":200
      },
      "input":{"shape":"GetSessionRequest"},
      "output":{"shape":"GetSessionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information for a specified session.</p>"
    },
    "ListAssistantAssociations":{
      "name":"ListAssistantAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/assistants/{assistantId}/associations",
        "responseCode":200
      },
      "input":{"shape":"ListAssistantAssociationsRequest"},
      "output":{"shape":"ListAssistantAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists information about assistant associations.</p>"
    },
    "ListAssistants":{
      "name":"ListAssistants",
      "http":{
        "method":"GET",
        "requestUri":"/assistants",
        "responseCode":200
      },
      "input":{"shape":"ListAssistantsRequest"},
      "output":{"shape":"ListAssistantsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists information about assistants.</p>"
    },
    "ListContents":{
      "name":"ListContents",
      "http":{
        "method":"GET",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents",
        "responseCode":200
      },
      "input":{"shape":"ListContentsRequest"},
      "output":{"shape":"ListContentsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists the content.</p>"
    },
    "ListKnowledgeBases":{
      "name":"ListKnowledgeBases",
      "http":{
        "method":"GET",
        "requestUri":"/knowledgeBases",
        "responseCode":200
      },
      "input":{"shape":"ListKnowledgeBasesRequest"},
      "output":{"shape":"ListKnowledgeBasesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the knowledge bases.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists the tags for the specified resource.</p>"
    },
    "NotifyRecommendationsReceived":{
      "name":"NotifyRecommendationsReceived",
      "http":{
        "method":"POST",
        "requestUri":"/assistants/{assistantId}/sessions/{sessionId}/recommendations/notify",
        "responseCode":200
      },
      "input":{"shape":"NotifyRecommendationsReceivedRequest"},
      "output":{"shape":"NotifyRecommendationsReceivedResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Removes the specified recommendations from the specified assistant's queue of newly available recommendations. You can use this API in conjunction with <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetRecommendations.html\">GetRecommendations</a> and a <code>waitTimeSeconds</code> input for long-polling behavior and avoiding duplicate recommendations.</p>",
      "idempotent":true
    },
    "QueryAssistant":{
      "name":"QueryAssistant",
      "http":{
        "method":"POST",
        "requestUri":"/assistants/{assistantId}/query",
        "responseCode":200
      },
      "input":{"shape":"QueryAssistantRequest"},
      "output":{"shape":"QueryAssistantResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Performs a manual search against the specified assistant. To retrieve recommendations for an assistant, use <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetRecommendations.html\">GetRecommendations</a>. </p>"
    },
    "RemoveKnowledgeBaseTemplateUri":{
      "name":"RemoveKnowledgeBaseTemplateUri",
      "http":{
        "method":"DELETE",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/templateUri",
        "responseCode":204
      },
      "input":{"shape":"RemoveKnowledgeBaseTemplateUriRequest"},
      "output":{"shape":"RemoveKnowledgeBaseTemplateUriResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Removes a URI template from a knowledge base.</p>"
    },
    "SearchContent":{
      "name":"SearchContent",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/search",
        "responseCode":200
      },
      "input":{"shape":"SearchContentRequest"},
      "output":{"shape":"SearchContentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Searches for content in a specified knowledge base. Can be used to get a specific content resource by its name.</p>"
    },
    "SearchSessions":{
      "name":"SearchSessions",
      "http":{
        "method":"POST",
        "requestUri":"/assistants/{assistantId}/searchSessions",
        "responseCode":200
      },
      "input":{"shape":"SearchSessionsRequest"},
      "output":{"shape":"SearchSessionsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Searches for sessions.</p>"
    },
    "StartContentUpload":{
      "name":"StartContentUpload",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/upload",
        "responseCode":200
      },
      "input":{"shape":"StartContentUploadRequest"},
      "output":{"shape":"StartContentUploadResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Get a URL to upload content to a knowledge base. To upload content, first make a PUT request to the returned URL with your file, making sure to include the required headers. Then use <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_CreateContent.html\">CreateContent</a> to finalize the content creation process or <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_UpdateContent.html\">UpdateContent</a> to modify an existing resource. You can only upload content to a knowledge base of type CUSTOM.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"TooManyTagsException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Adds the specified tags to the specified resource.</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Removes the specified tags from the specified resource.</p>",
      "idempotent":true
    },
    "UpdateContent":{
      "name":"UpdateContent",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/contents/{contentId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateContentRequest"},
      "output":{"shape":"UpdateContentResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"PreconditionFailedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Updates information about the content.</p>"
    },
    "UpdateKnowledgeBaseTemplateUri":{
      "name":"UpdateKnowledgeBaseTemplateUri",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgeBases/{knowledgeBaseId}/templateUri",
        "responseCode":200
      },
      "input":{"shape":"UpdateKnowledgeBaseTemplateUriRequest"},
      "output":{"shape":"UpdateKnowledgeBaseTemplateUriResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Updates the template URI of a knowledge base. This is only supported for knowledge bases of type EXTERNAL. Include a single variable in <code>${variable}</code> format; this interpolated by Wisdom using ingested content. For example, if you ingest a Salesforce article, it has an <code>Id</code> value, and you can set the template URI to <code>https://myInstanceName.lightning.force.com/lightning/r/Knowledge__kav/*${Id}*/view</code>. </p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AppIntegrationsConfiguration":{
      "type":"structure",
      "required":[
        "appIntegrationArn",
        "objectFields"
      ],
      "members":{
        "appIntegrationArn":{
          "shape":"GenericArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.</p>"
        },
        "objectFields":{
          "shape":"ObjectFieldsList",
          "documentation":"<p>The fields from the source that are made available to your agents in Wisdom. </p> <ul> <li> <p> For <a href=\"https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm\"> Salesforce</a>, you must include at least <code>Id</code>, <code>ArticleNumber</code>, <code>VersionNumber</code>, <code>Title</code>, <code>PublishStatus</code>, and <code>IsDeleted</code>. </p> </li> <li> <p>For <a href=\"https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api\"> ServiceNow</a>, you must include at least <code>number</code>, <code>short_description</code>, <code>sys_mod_count</code>, <code>workflow_state</code>, and <code>active</code>. </p> </li> </ul> <p>Make sure to include additional field(s); these are indexed and used to source recommendations. </p>"
        }
      },
      "documentation":"<p>Configuration information for Amazon AppIntegrations to automatically ingest content.</p>"
    },
    "Arn":{
      "type":"string",
      "pattern":"^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$"
    },
    "AssistantAssociationData":{
      "type":"structure",
      "required":[
        "assistantArn",
        "assistantAssociationArn",
        "assistantAssociationId",
        "assistantId",
        "associationData",
        "associationType"
      ],
      "members":{
        "assistantArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Wisdom assistant</p>"
        },
        "assistantAssociationArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the assistant association.</p>"
        },
        "assistantAssociationId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the assistant association.</p>"
        },
        "assistantId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the Wisdom assistant.</p>"
        },
        "associationData":{
          "shape":"AssistantAssociationOutputData",
          "documentation":"<p>A union type that currently has a single argument, the knowledge base ID.</p>"
        },
        "associationType":{
          "shape":"AssociationType",
          "documentation":"<p>The type of association.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Information about the assistant association.</p>"
    },
    "AssistantAssociationInputData":{
      "type":"structure",
      "members":{
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        }
      },
      "documentation":"<p>The data that is input into Wisdom as a result of the assistant association.</p>",
      "union":true
    },
    "AssistantAssociationOutputData":{
      "type":"structure",
      "members":{
        "knowledgeBaseAssociation":{
          "shape":"KnowledgeBaseAssociationData",
          "documentation":"<p>The knowledge base where output data is sent.</p>"
        }
      },
      "documentation":"<p>The data that is output as a result of the assistant association.</p>",
      "union":true
    },
    "AssistantAssociationSummary":{
      "type":"structure",
      "required":[
        "assistantArn",
        "assistantAssociationArn",
        "assistantAssociationId",
        "assistantId",
        "associationData",
        "associationType"
      ],
      "members":{
        "assistantArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Wisdom assistant</p>"
        },
        "assistantAssociationArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the assistant association.</p>"
        },
        "assistantAssociationId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the assistant association.</p>"
        },
        "assistantId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the Wisdom assistant.</p>"
        },
        "associationData":{
          "shape":"AssistantAssociationOutputData",
          "documentation":"<p>The association data.</p>"
        },
        "associationType":{
          "shape":"AssociationType",
          "documentation":"<p>The type of association.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Summary information about the assistant association.</p>"
    },
    "AssistantAssociationSummaryList":{
      "type":"list",
      "member":{"shape":"AssistantAssociationSummary"}
    },
    "AssistantData":{
      "type":"structure",
      "required":[
        "assistantArn",
        "assistantId",
        "name",
        "status",
        "type"
      ],
      "members":{
        "assistantArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Wisdom assistant</p>"
        },
        "assistantId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the Wisdom assistant.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "status":{
          "shape":"AssistantStatus",
          "documentation":"<p>The status of the assistant.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "type":{
          "shape":"AssistantType",
          "documentation":"<p>The type of assistant.</p>"
        }
      },
      "documentation":"<p>The assistant data.</p>"
    },
    "AssistantList":{
      "type":"list",
      "member":{"shape":"AssistantSummary"}
    },
    "AssistantStatus":{
      "type":"string",
      "enum":[
        "CREATE_IN_PROGRESS",
        "CREATE_FAILED",
        "ACTIVE",
        "DELETE_IN_PROGRESS",
        "DELETE_FAILED",
        "DELETED"
      ]
    },
    "AssistantSummary":{
      "type":"structure",
      "required":[
        "assistantArn",
        "assistantId",
        "name",
        "status",
        "type"
      ],
      "members":{
        "assistantArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Wisdom assistant</p>"
        },
        "assistantId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the Wisdom assistant.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the assistant.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the assistant.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "status":{
          "shape":"AssistantStatus",
          "documentation":"<p>The status of the assistant.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "type":{
          "shape":"AssistantType",
          "documentation":"<p>The type of the assistant.</p>"
        }
      },
      "documentation":"<p>Summary information about the assistant.</p>"
    },
    "AssistantType":{
      "type":"string",
      "enum":["AGENT"]
    },
    "AssociationType":{
      "type":"string",
      "enum":["KNOWLEDGE_BASE"]
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ClientToken":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request could not be processed because of conflict in the current state of the resource. For example, if you're using a <code>Create</code> API (such as <code>CreateAssistant</code>) that accepts name, a conflicting resource (usually with the same name) is being created or mutated.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ContentData":{
      "type":"structure",
      "required":[
        "contentArn",
        "contentId",
        "contentType",
        "knowledgeBaseArn",
        "knowledgeBaseId",
        "metadata",
        "name",
        "revisionId",
        "status",
        "title",
        "url",
        "urlExpiry"
      ],
      "members":{
        "contentArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the content.</p>"
        },
        "contentId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the content.</p>"
        },
        "contentType":{
          "shape":"ContentType",
          "documentation":"<p>The media type of the content.</p>"
        },
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        },
        "linkOutUri":{
          "shape":"Uri",
          "documentation":"<p>The URI of the content.</p>"
        },
        "metadata":{
          "shape":"ContentMetadata",
          "documentation":"<p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the content.</p>"
        },
        "revisionId":{
          "shape":"NonEmptyString",
          "documentation":"<p>The identifier of the content revision.</p>"
        },
        "status":{
          "shape":"ContentStatus",
          "documentation":"<p>The status of the content.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "title":{
          "shape":"ContentTitle",
          "documentation":"<p>The title of the content.</p>"
        },
        "url":{
          "shape":"SyntheticContentDataUrl",
          "documentation":"<p>The URL of the content.</p>"
        },
        "urlExpiry":{
          "shape":"SyntheticTimestamp_epoch_seconds",
          "documentation":"<p>The expiration time of the URL as an epoch timestamp.</p>"
        }
      },
      "documentation":"<p>Information about the content.</p>"
    },
    "ContentMetadata":{
      "type":"map",
      "key":{"shape":"NonEmptyString"},
      "value":{"shape":"NonEmptyString"}
    },
    "ContentReference":{
      "type":"structure",
      "members":{
        "contentArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the content.</p>"
        },
        "contentId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the content.</p>"
        },
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        }
      },
      "documentation":"<p>Reference information about the content.</p>"
    },
    "ContentStatus":{
      "type":"string",
      "enum":[
        "CREATE_IN_PROGRESS",
        "CREATE_FAILED",
        "ACTIVE",
        "DELETE_IN_PROGRESS",
        "DELETE_FAILED",
        "DELETED",
        "UPDATE_FAILED"
      ]
    },
    "ContentSummary":{
      "type":"structure",
      "required":[
        "contentArn",
        "contentId",
        "contentType",
        "knowledgeBaseArn",
        "knowledgeBaseId",
        "metadata",
        "name",
        "revisionId",
        "status",
        "title"
      ],
      "members":{
        "contentArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the content.</p>"
        },
        "contentId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the content.</p>"
        },
        "contentType":{
          "shape":"ContentType",
          "documentation":"<p>The media type of the content.</p>"
        },
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        },
        "metadata":{
          "shape":"ContentMetadata",
          "documentation":"<p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the content.</p>"
        },
        "revisionId":{
          "shape":"NonEmptyString",
          "documentation":"<p>The identifier of the revision of the content.</p>"
        },
        "status":{
          "shape":"ContentStatus",
          "documentation":"<p>The status of the content.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "title":{
          "shape":"ContentTitle",
          "documentation":"<p>The title of the content.</p>"
        }
      },
      "documentation":"<p>Summary information about the content.</p>"
    },
    "ContentSummaryList":{
      "type":"list",
      "member":{"shape":"ContentSummary"}
    },
    "ContentTitle":{
      "type":"string",
      "max":255,
      "min":1
    },
    "ContentType":{
      "type":"string",
      "pattern":"^(text/(plain|html))|(application/x\\.wisdom-json;source=(salesforce|servicenow))$"
    },
    "CreateAssistantAssociationRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "association",
        "associationType"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "association":{
          "shape":"AssistantAssociationInputData",
          "documentation":"<p>The identifier of the associated resource.</p>"
        },
        "associationType":{
          "shape":"AssociationType",
          "documentation":"<p>The type of association.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "CreateAssistantAssociationResponse":{
      "type":"structure",
      "members":{
        "assistantAssociation":{
          "shape":"AssistantAssociationData",
          "documentation":"<p>The assistant association.</p>"
        }
      }
    },
    "CreateAssistantRequest":{
      "type":"structure",
      "required":[
        "name",
        "type"
      ],
      "members":{
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the assistant.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the assistant.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "type":{
          "shape":"AssistantType",
          "documentation":"<p>The type of assistant.</p>"
        }
      }
    },
    "CreateAssistantResponse":{
      "type":"structure",
      "members":{
        "assistant":{
          "shape":"AssistantData",
          "documentation":"<p>Information about the assistant.</p>"
        }
      }
    },
    "CreateContentRequest":{
      "type":"structure",
      "required":[
        "knowledgeBaseId",
        "name",
        "uploadId"
      ],
      "members":{
        "clientToken":{
          "shape":"NonEmptyString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "metadata":{
          "shape":"ContentMetadata",
          "documentation":"<p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html\">SearchContent</a> API.</p>"
        },
        "overrideLinkOutUri":{
          "shape":"Uri",
          "documentation":"<p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        },
        "title":{
          "shape":"ContentTitle",
          "documentation":"<p>The title of the content. If not set, the title is equal to the name.</p>"
        },
        "uploadId":{
          "shape":"NonEmptyString",
          "documentation":"<p>A pointer to the uploaded asset. This value is returned by <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html\">StartContentUpload</a>.</p>"
        }
      }
    },
    "CreateContentResponse":{
      "type":"structure",
      "members":{
        "content":{
          "shape":"ContentData",
          "documentation":"<p>The content.</p>"
        }
      }
    },
    "CreateKnowledgeBaseRequest":{
      "type":"structure",
      "required":[
        "knowledgeBaseType",
        "name"
      ],
      "members":{
        "clientToken":{
          "shape":"NonEmptyString",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description.</p>"
        },
        "knowledgeBaseType":{
          "shape":"KnowledgeBaseType",
          "documentation":"<p>The type of knowledge base. Only CUSTOM knowledge bases allow you to upload your own content. EXTERNAL knowledge bases support integrations with third-party systems whose content is synchronized automatically. </p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the knowledge base.</p>"
        },
        "renderingConfiguration":{
          "shape":"RenderingConfiguration",
          "documentation":"<p>Information about how to render the content.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "sourceConfiguration":{
          "shape":"SourceConfiguration",
          "documentation":"<p>The source of the knowledge base content. Only set this argument for EXTERNAL knowledge bases.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "CreateKnowledgeBaseResponse":{
      "type":"structure",
      "members":{
        "knowledgeBase":{
          "shape":"KnowledgeBaseData",
          "documentation":"<p>The knowledge base.</p>"
        }
      }
    },
    "CreateSessionRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "name"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the session.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "CreateSessionResponse":{
      "type":"structure",
      "members":{
        "session":{
          "shape":"SessionData",
          "documentation":"<p>The session.</p>"
        }
      }
    },
    "DeleteAssistantAssociationRequest":{
      "type":"structure",
      "required":[
        "assistantAssociationId",
        "assistantId"
      ],
      "members":{
        "assistantAssociationId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantAssociationId"
        },
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        }
      }
    },
    "DeleteAssistantAssociationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteAssistantRequest":{
      "type":"structure",
      "required":["assistantId"],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        }
      }
    },
    "DeleteAssistantResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteContentRequest":{
      "type":"structure",
      "required":[
        "contentId",
        "knowledgeBaseId"
      ],
      "members":{
        "contentId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"contentId"
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "DeleteContentResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteKnowledgeBaseRequest":{
      "type":"structure",
      "required":["knowledgeBaseId"],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "DeleteKnowledgeBaseResponse":{
      "type":"structure",
      "members":{
      }
    },
    "Description":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^[a-zA-Z0-9\\s_.,-]+"
    },
    "Document":{
      "type":"structure",
      "required":["contentReference"],
      "members":{
        "contentReference":{
          "shape":"ContentReference",
          "documentation":"<p>A reference to the content resource.</p>"
        },
        "excerpt":{
          "shape":"DocumentText",
          "documentation":"<p>The excerpt from the document.</p>"
        },
        "title":{
          "shape":"DocumentText",
          "documentation":"<p>The title of the document.</p>"
        }
      },
      "documentation":"<p>The document.</p>"
    },
    "DocumentText":{
      "type":"structure",
      "members":{
        "highlights":{
          "shape":"Highlights",
          "documentation":"<p>Highlights in the document text.</p>"
        },
        "text":{
          "shape":"SyntheticDocumentTextString",
          "documentation":"<p>Text in the document.</p>"
        }
      },
      "documentation":"<p>The text of the document.</p>"
    },
    "Filter":{
      "type":"structure",
      "required":[
        "field",
        "operator",
        "value"
      ],
      "members":{
        "field":{
          "shape":"FilterField",
          "documentation":"<p>The field on which to filter.</p>"
        },
        "operator":{
          "shape":"FilterOperator",
          "documentation":"<p>The operator to use for comparing the field’s value with the provided value.</p>"
        },
        "value":{
          "shape":"NonEmptyString",
          "documentation":"<p>The desired field value on which to filter.</p>"
        }
      },
      "documentation":"<p>A search filter.</p>"
    },
    "FilterField":{
      "type":"string",
      "enum":["NAME"]
    },
    "FilterList":{
      "type":"list",
      "member":{"shape":"Filter"}
    },
    "FilterOperator":{
      "type":"string",
      "enum":["EQUALS"]
    },
    "GenericArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$"
    },
    "GetAssistantAssociationRequest":{
      "type":"structure",
      "required":[
        "assistantAssociationId",
        "assistantId"
      ],
      "members":{
        "assistantAssociationId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantAssociationId"
        },
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        }
      }
    },
    "GetAssistantAssociationResponse":{
      "type":"structure",
      "members":{
        "assistantAssociation":{
          "shape":"AssistantAssociationData",
          "documentation":"<p>The assistant association.</p>"
        }
      }
    },
    "GetAssistantRequest":{
      "type":"structure",
      "required":["assistantId"],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        }
      }
    },
    "GetAssistantResponse":{
      "type":"structure",
      "members":{
        "assistant":{
          "shape":"AssistantData",
          "documentation":"<p>Information about the assistant.</p>"
        }
      }
    },
    "GetContentRequest":{
      "type":"structure",
      "required":[
        "contentId",
        "knowledgeBaseId"
      ],
      "members":{
        "contentId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"contentId"
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "GetContentResponse":{
      "type":"structure",
      "members":{
        "content":{
          "shape":"ContentData",
          "documentation":"<p>The content.</p>"
        }
      }
    },
    "GetContentSummaryRequest":{
      "type":"structure",
      "required":[
        "contentId",
        "knowledgeBaseId"
      ],
      "members":{
        "contentId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"contentId"
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "GetContentSummaryResponse":{
      "type":"structure",
      "members":{
        "contentSummary":{
          "shape":"ContentSummary",
          "documentation":"<p>The content summary.</p>"
        }
      }
    },
    "GetKnowledgeBaseRequest":{
      "type":"structure",
      "required":["knowledgeBaseId"],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "GetKnowledgeBaseResponse":{
      "type":"structure",
      "members":{
        "knowledgeBase":{
          "shape":"KnowledgeBaseData",
          "documentation":"<p>The knowledge base.</p>"
        }
      }
    },
    "GetRecommendationsRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "sessionId"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "sessionId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"sessionId"
        },
        "waitTimeSeconds":{
          "shape":"WaitTimeSeconds",
          "documentation":"<p>The duration (in seconds) for which the call waits for a recommendation to be made available before returning. If a recommendation is available, the call returns sooner than <code>WaitTimeSeconds</code>. If no messages are available and the wait time expires, the call returns successfully with an empty list.</p>",
          "location":"querystring",
          "locationName":"waitTimeSeconds"
        }
      }
    },
    "GetRecommendationsResponse":{
      "type":"structure",
      "required":["recommendations"],
      "members":{
        "recommendations":{
          "shape":"RecommendationList",
          "documentation":"<p>The recommendations.</p>"
        }
      }
    },
    "GetSessionRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "sessionId"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "sessionId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"sessionId"
        }
      }
    },
    "GetSessionResponse":{
      "type":"structure",
      "members":{
        "session":{
          "shape":"SessionData",
          "documentation":"<p>The session.</p>"
        }
      }
    },
    "Headers":{
      "type":"map",
      "key":{"shape":"NonEmptyString"},
      "value":{"shape":"NonEmptyString"}
    },
    "Highlight":{
      "type":"structure",
      "members":{
        "beginOffsetInclusive":{
          "shape":"HighlightOffset",
          "documentation":"<p>The offset for the start of the highlight.</p>"
        },
        "endOffsetExclusive":{
          "shape":"HighlightOffset",
          "documentation":"<p>The offset for the end of the highlight.</p>"
        }
      },
      "documentation":"<p>Offset specification to describe highlighting of document excerpts for rendering search results and recommendations.</p>"
    },
    "HighlightOffset":{"type":"integer"},
    "Highlights":{
      "type":"list",
      "member":{"shape":"Highlight"}
    },
    "KnowledgeBaseAssociationData":{
      "type":"structure",
      "members":{
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        }
      },
      "documentation":"<p>Association information about the knowledge base.</p>"
    },
    "KnowledgeBaseData":{
      "type":"structure",
      "required":[
        "knowledgeBaseArn",
        "knowledgeBaseId",
        "knowledgeBaseType",
        "name",
        "status"
      ],
      "members":{
        "description":{
          "shape":"Description",
          "documentation":"<p>The description.</p>"
        },
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        },
        "knowledgeBaseType":{
          "shape":"KnowledgeBaseType",
          "documentation":"<p>The type of knowledge base.</p>"
        },
        "lastContentModificationTime":{
          "shape":"SyntheticTimestamp_epoch_seconds",
          "documentation":"<p>An epoch timestamp indicating the most recent content modification inside the knowledge base. If no content exists in a knowledge base, this value is unset.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the knowledge base.</p>"
        },
        "renderingConfiguration":{
          "shape":"RenderingConfiguration",
          "documentation":"<p>Information about how to render the content.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "sourceConfiguration":{
          "shape":"SourceConfiguration",
          "documentation":"<p>Source configuration information about the knowledge base.</p>"
        },
        "status":{
          "shape":"KnowledgeBaseStatus",
          "documentation":"<p>The status of the knowledge base.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Information about the knowledge base.</p>"
    },
    "KnowledgeBaseList":{
      "type":"list",
      "member":{"shape":"KnowledgeBaseSummary"}
    },
    "KnowledgeBaseStatus":{
      "type":"string",
      "enum":[
        "CREATE_IN_PROGRESS",
        "CREATE_FAILED",
        "ACTIVE",
        "DELETE_IN_PROGRESS",
        "DELETE_FAILED",
        "DELETED"
      ]
    },
    "KnowledgeBaseSummary":{
      "type":"structure",
      "required":[
        "knowledgeBaseArn",
        "knowledgeBaseId",
        "knowledgeBaseType",
        "name",
        "status"
      ],
      "members":{
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the knowledge base.</p>"
        },
        "knowledgeBaseArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the knowledge base.</p>"
        },
        "knowledgeBaseId":{
          "shape":"Uuid",
          "documentation":"<p>The the identifier of the knowledge base.</p>"
        },
        "knowledgeBaseType":{
          "shape":"KnowledgeBaseType",
          "documentation":"<p>The type of knowledge base.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the knowledge base.</p>"
        },
        "renderingConfiguration":{
          "shape":"RenderingConfiguration",
          "documentation":"<p>Information about how to render the content.</p>"
        },
        "serverSideEncryptionConfiguration":{
          "shape":"ServerSideEncryptionConfiguration",
          "documentation":"<p>The KMS key used for encryption.</p>"
        },
        "sourceConfiguration":{
          "shape":"SourceConfiguration",
          "documentation":"<p>[KEVIN]</p>"
        },
        "status":{
          "shape":"KnowledgeBaseStatus",
          "documentation":"<p>The status of the knowledge base summary.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Summary information about the knowledge base.</p>"
    },
    "KnowledgeBaseType":{
      "type":"string",
      "enum":[
        "EXTERNAL",
        "CUSTOM"
      ]
    },
    "ListAssistantAssociationsRequest":{
      "type":"structure",
      "required":["assistantId"],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAssistantAssociationsResponse":{
      "type":"structure",
      "required":["assistantAssociationSummaries"],
      "members":{
        "assistantAssociationSummaries":{
          "shape":"AssistantAssociationSummaryList",
          "documentation":"<p>Summary information about assistant associations.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        }
      }
    },
    "ListAssistantsRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListAssistantsResponse":{
      "type":"structure",
      "required":["assistantSummaries"],
      "members":{
        "assistantSummaries":{
          "shape":"AssistantList",
          "documentation":"<p>Information about the assistants.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        }
      }
    },
    "ListContentsRequest":{
      "type":"structure",
      "required":["knowledgeBaseId"],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListContentsResponse":{
      "type":"structure",
      "required":["contentSummaries"],
      "members":{
        "contentSummaries":{
          "shape":"ContentSummaryList",
          "documentation":"<p>Information about the content.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        }
      }
    },
    "ListKnowledgeBasesRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NonEmptyString",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListKnowledgeBasesResponse":{
      "type":"structure",
      "required":["knowledgeBaseSummaries"],
      "members":{
        "knowledgeBaseSummaries":{
          "shape":"KnowledgeBaseList",
          "documentation":"<p>Information about the knowledge bases.</p>"
        },
        "nextToken":{
          "shape":"NonEmptyString",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "Name":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^[a-zA-Z0-9\\s_.,-]+"
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "NonEmptyString":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "NotifyRecommendationsReceivedError":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"NotifyRecommendationsReceivedErrorMessage",
          "documentation":"<p>A recommendation is causing an error.</p>"
        },
        "recommendationId":{
          "shape":"String",
          "documentation":"<p>The identifier of the recommendation that is in error.</p>"
        }
      },
      "documentation":"<p>An error occurred when creating a recommendation.</p>"
    },
    "NotifyRecommendationsReceivedErrorList":{
      "type":"list",
      "member":{"shape":"NotifyRecommendationsReceivedError"}
    },
    "NotifyRecommendationsReceivedErrorMessage":{"type":"string"},
    "NotifyRecommendationsReceivedRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "recommendationIds",
        "sessionId"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "recommendationIds":{
          "shape":"RecommendationIdList",
          "documentation":"<p>The identifiers of the recommendations.</p>"
        },
        "sessionId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"sessionId"
        }
      }
    },
    "NotifyRecommendationsReceivedResponse":{
      "type":"structure",
      "members":{
        "errors":{
          "shape":"NotifyRecommendationsReceivedErrorList",
          "documentation":"<p>The identifiers of recommendations that are causing errors.</p>"
        },
        "recommendationIds":{
          "shape":"RecommendationIdList",
          "documentation":"<p>The identifiers of the recommendations.</p>"
        }
      }
    },
    "ObjectFieldsList":{
      "type":"list",
      "member":{"shape":"NonEmptyString"},
      "max":100,
      "min":1
    },
    "PreconditionFailedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The provided <code>revisionId</code> does not match, indicating the content has been modified since it was last read.</p>",
      "error":{
        "httpStatusCode":412,
        "senderFault":true
      },
      "exception":true
    },
    "QueryAssistantRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "queryText"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>"
        },
        "queryText":{
          "shape":"QueryText",
          "documentation":"<p>The text to search for.</p>"
        }
      }
    },
    "QueryAssistantResponse":{
      "type":"structure",
      "required":["results"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        },
        "results":{
          "shape":"QueryResultsList",
          "documentation":"<p>The results of the query.</p>"
        }
      }
    },
    "QueryResultsList":{
      "type":"list",
      "member":{"shape":"ResultData"}
    },
    "QueryText":{
      "type":"string",
      "sensitive":true
    },
    "RecommendationData":{
      "type":"structure",
      "required":[
        "document",
        "recommendationId"
      ],
      "members":{
        "document":{
          "shape":"Document",
          "documentation":"<p>The recommended document.</p>"
        },
        "recommendationId":{
          "shape":"String",
          "documentation":"<p>The identifier of the recommendation.</p>"
        },
        "relevanceLevel":{
          "shape":"RelevanceLevel",
          "documentation":"<p>The relevance level of the recommendation.</p>"
        },
        "relevanceScore":{
          "shape":"RelevanceScore",
          "documentation":"<p>The relevance score of the recommendation.</p>"
        }
      },
      "documentation":"<p>Information about the recommendation.</p>"
    },
    "RecommendationIdList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "RecommendationList":{
      "type":"list",
      "member":{"shape":"RecommendationData"}
    },
    "RelevanceLevel":{
      "type":"string",
      "enum":[
        "HIGH",
        "MEDIUM",
        "LOW"
      ]
    },
    "RelevanceScore":{
      "type":"double",
      "min":0.0
    },
    "RemoveKnowledgeBaseTemplateUriRequest":{
      "type":"structure",
      "required":["knowledgeBaseId"],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "RemoveKnowledgeBaseTemplateUriResponse":{
      "type":"structure",
      "members":{
      }
    },
    "RenderingConfiguration":{
      "type":"structure",
      "members":{
        "templateUri":{
          "shape":"Uri",
          "documentation":"<p>A URI template containing exactly one variable in <code>${variableName} </code>format. This can only be set for <code>EXTERNAL</code> knowledge bases. For Salesforce and ServiceNow, the variable must be one of the following:</p> <ul> <li> <p>Salesforce: <code>Id</code>, <code>ArticleNumber</code>, <code>VersionNumber</code>, <code>Title</code>, <code>PublishStatus</code>, or <code>IsDeleted</code> </p> </li> <li> <p>ServiceNow: <code>number</code>, <code>short_description</code>, <code>sys_mod_count</code>, <code>workflow_state</code>, or <code>active</code> </p> </li> </ul> <pre><code> &lt;p&gt;The variable is replaced with the actual value for a piece of content when calling &lt;a href=&quot;https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html&quot;&gt;GetContent&lt;/a&gt;. &lt;/p&gt; </code></pre>"
        }
      },
      "documentation":"<p>Information about how to render the content.</p>"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"},
        "resourceName":{
          "shape":"String",
          "documentation":"<p>The specified resource name.</p>"
        }
      },
      "documentation":"<p>The specified resource does not exist.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResultData":{
      "type":"structure",
      "required":[
        "document",
        "resultId"
      ],
      "members":{
        "document":{
          "shape":"Document",
          "documentation":"<p>The document.</p>"
        },
        "relevanceScore":{
          "shape":"RelevanceScore",
          "documentation":"<p>The relevance score of the results.</p>"
        },
        "resultId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the result data.</p>"
        }
      },
      "documentation":"<p>Information about the result.</p>"
    },
    "SearchContentRequest":{
      "type":"structure",
      "required":[
        "knowledgeBaseId",
        "searchExpression"
      ],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "searchExpression":{
          "shape":"SearchExpression",
          "documentation":"<p>The search expression to filter results.</p>"
        }
      }
    },
    "SearchContentResponse":{
      "type":"structure",
      "required":["contentSummaries"],
      "members":{
        "contentSummaries":{
          "shape":"ContentSummaryList",
          "documentation":"<p>Summary information about the content.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        }
      }
    },
    "SearchExpression":{
      "type":"structure",
      "required":["filters"],
      "members":{
        "filters":{
          "shape":"FilterList",
          "documentation":"<p>The search expression filters.</p>"
        }
      },
      "documentation":"<p>The search expression.</p>"
    },
    "SearchSessionsRequest":{
      "type":"structure",
      "required":[
        "assistantId",
        "searchExpression"
      ],
      "members":{
        "assistantId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"assistantId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "searchExpression":{
          "shape":"SearchExpression",
          "documentation":"<p>The search expression to filter results.</p>"
        }
      }
    },
    "SearchSessionsResponse":{
      "type":"structure",
      "required":["sessionSummaries"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>If there are additional results, this is the token for the next set of results.</p>"
        },
        "sessionSummaries":{
          "shape":"SessionSummaries",
          "documentation":"<p>Summary information about the sessions.</p>"
        }
      }
    },
    "ServerSideEncryptionConfiguration":{
      "type":"structure",
      "members":{
        "kmsKeyId":{
          "shape":"NonEmptyString",
          "documentation":"<p>The KMS key. For information about valid ID values, see <a href=\"https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id\">Key identifiers (KeyId)</a> in the <i>AWS Key Management Service Developer Guide</i>. </p>"
        }
      },
      "documentation":"<p>The KMS key used for encryption.</p>"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You've exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use service quotas to request a service quota increase.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SessionData":{
      "type":"structure",
      "required":[
        "name",
        "sessionArn",
        "sessionId"
      ],
      "members":{
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the session.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the session.</p>"
        },
        "sessionArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the session.</p>"
        },
        "sessionId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the session.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      },
      "documentation":"<p>Information about the session.</p>"
    },
    "SessionSummaries":{
      "type":"list",
      "member":{"shape":"SessionSummary"}
    },
    "SessionSummary":{
      "type":"structure",
      "required":[
        "assistantArn",
        "assistantId",
        "sessionArn",
        "sessionId"
      ],
      "members":{
        "assistantArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Wisdom assistant</p>"
        },
        "assistantId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the Wisdom assistant.</p>"
        },
        "sessionArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the session.</p>"
        },
        "sessionId":{
          "shape":"Uuid",
          "documentation":"<p>The identifier of the session.</p>"
        }
      },
      "documentation":"<p>Summary information about the session.</p>"
    },
    "SourceConfiguration":{
      "type":"structure",
      "members":{
        "appIntegrations":{
          "shape":"AppIntegrationsConfiguration",
          "documentation":"<p>Configuration information for Amazon AppIntegrations to automatically ingest content.</p>"
        }
      },
      "documentation":"<p>Configuration information about the external data source.</p>",
      "union":true
    },
    "StartContentUploadRequest":{
      "type":"structure",
      "required":[
        "contentType",
        "knowledgeBaseId"
      ],
      "members":{
        "contentType":{
          "shape":"ContentType",
          "documentation":"<p>The type of content to upload.</p>"
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        }
      }
    },
    "StartContentUploadResponse":{
      "type":"structure",
      "required":[
        "headersToInclude",
        "uploadId",
        "url",
        "urlExpiry"
      ],
      "members":{
        "headersToInclude":{
          "shape":"Headers",
          "documentation":"<p>The headers to include in the upload.</p>"
        },
        "uploadId":{
          "shape":"NonEmptyString",
          "documentation":"<p>The identifier of the upload.</p>"
        },
        "url":{
          "shape":"SyntheticStartContentUploadResponseUrl",
          "documentation":"<p>The URL of the upload.</p>"
        },
        "urlExpiry":{
          "shape":"SyntheticTimestamp_epoch_seconds",
          "documentation":"<p>The expiration time of the URL as an epoch timestamp.</p>"
        }
      }
    },
    "String":{"type":"string"},
    "SyntheticContentDataUrl":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "SyntheticDocumentTextString":{
      "type":"string",
      "sensitive":true
    },
    "SyntheticStartContentUploadResponseUrl":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "SyntheticTimestamp_epoch_seconds":{
      "type":"timestamp",
      "timestampFormat":"unixTimestamp"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The tags used to organize, track, or control access for this resource.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "Tags":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"}
    },
    "TooManyTagsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"},
        "resourceName":{
          "shape":"String",
          "documentation":"<p>The specified resource name.</p>"
        }
      },
      "documentation":"<p>Amazon Connect Wisdom throws this exception if you have too many tags in your tag set.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateContentRequest":{
      "type":"structure",
      "required":[
        "contentId",
        "knowledgeBaseId"
      ],
      "members":{
        "contentId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"contentId"
        },
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "metadata":{
          "shape":"ContentMetadata",
          "documentation":"<p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>"
        },
        "overrideLinkOutUri":{
          "shape":"Uri",
          "documentation":"<p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>"
        },
        "removeOverrideLinkOutUri":{
          "shape":"Boolean",
          "documentation":"<p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>"
        },
        "revisionId":{
          "shape":"NonEmptyString",
          "documentation":"<p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>"
        },
        "title":{
          "shape":"ContentTitle",
          "documentation":"<p>The title of the content.</p>"
        },
        "uploadId":{
          "shape":"NonEmptyString",
          "documentation":"<p>A pointer to the uploaded asset. This value is returned by <a href=\"https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html\">StartContentUpload</a>. </p>"
        }
      }
    },
    "UpdateContentResponse":{
      "type":"structure",
      "members":{
        "content":{
          "shape":"ContentData",
          "documentation":"<p>The content.</p>"
        }
      }
    },
    "UpdateKnowledgeBaseTemplateUriRequest":{
      "type":"structure",
      "required":[
        "knowledgeBaseId",
        "templateUri"
      ],
      "members":{
        "knowledgeBaseId":{
          "shape":"UuidOrArn",
          "documentation":"<p>The the identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "templateUri":{
          "shape":"Uri",
          "documentation":"<p>The template URI to update.</p>"
        }
      }
    },
    "UpdateKnowledgeBaseTemplateUriResponse":{
      "type":"structure",
      "members":{
        "knowledgeBase":{
          "shape":"KnowledgeBaseData",
          "documentation":"<p>The knowledge base to update.</p>"
        }
      }
    },
    "Uri":{
      "type":"string",
      "max":4096,
      "min":1
    },
    "Uuid":{
      "type":"string",
      "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
    },
    "UuidOrArn":{
      "type":"string",
      "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$"
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The input fails to satisfy the constraints specified by an AWS service.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "WaitTimeSeconds":{
      "type":"integer",
      "max":20,
      "min":0
    }
  },
  "documentation":"<p>All Amazon Connect Wisdom functionality is accessible using the API. For example, you can create an assistant and a knowledge base.</p> <pre><code> &lt;p&gt;Some more advanced features are only accessible using the Wisdom API. For example, you can manually manage content by uploading custom files and control their lifecycle. &lt;/p&gt; </code></pre>"
}
