{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2023-07-26",
    "endpointPrefix":"bedrock-agent-runtime",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"Agents for Amazon Bedrock Runtime",
    "serviceId":"Bedrock Agent Runtime",
    "signatureVersion":"v4",
    "signingName":"bedrock",
    "uid":"bedrock-agent-runtime-2023-07-26"
  },
  "operations":{
    "InvokeAgent":{
      "name":"InvokeAgent",
      "http":{
        "method":"POST",
        "requestUri":"/agents/{agentId}/agentAliases/{agentAliasId}/sessions/{sessionId}/text",
        "responseCode":200
      },
      "input":{"shape":"InvokeAgentRequest"},
      "output":{"shape":"InvokeAgentResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"DependencyFailedException"},
        {"shape":"BadGatewayException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "Retrieve":{
      "name":"Retrieve",
      "http":{
        "method":"POST",
        "requestUri":"/knowledgebases/{knowledgeBaseId}/retrieve",
        "responseCode":200
      },
      "input":{"shape":"RetrieveRequest"},
      "output":{"shape":"RetrieveResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"DependencyFailedException"},
        {"shape":"BadGatewayException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    },
    "RetrieveAndGenerate":{
      "name":"RetrieveAndGenerate",
      "http":{
        "method":"POST",
        "requestUri":"/retrieveAndGenerate",
        "responseCode":200
      },
      "input":{"shape":"RetrieveAndGenerateRequest"},
      "output":{"shape":"RetrieveAndGenerateResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"DependencyFailedException"},
        {"shape":"BadGatewayException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ServiceQuotaExceededException"}
      ]
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "ActionGroupInvocationInput":{
      "type":"structure",
      "members":{
        "actionGroupName":{"shape":"ActionGroupName"},
        "verb":{"shape":"Verb"},
        "apiPath":{"shape":"ApiPath"},
        "parameters":{"shape":"Parameters"},
        "requestBody":{"shape":"RequestBody"}
      }
    },
    "ActionGroupInvocationOutput":{
      "type":"structure",
      "members":{
        "text":{"shape":"ActionGroupOutputString"}
      }
    },
    "ActionGroupName":{
      "type":"string",
      "sensitive":true
    },
    "ActionGroupOutputString":{
      "type":"string",
      "sensitive":true
    },
    "AgentAliasId":{
      "type":"string",
      "max":10,
      "min":0,
      "pattern":"[0-9a-zA-Z]+"
    },
    "AgentId":{
      "type":"string",
      "max":10,
      "min":0,
      "pattern":"[0-9a-zA-Z]+"
    },
    "ApiPath":{
      "type":"string",
      "sensitive":true
    },
    "Attribution":{
      "type":"structure",
      "members":{
        "citations":{"shape":"Citations"}
      }
    },
    "BadGatewayException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"},
        "resourceName":{"shape":"NonBlankString"}
      },
      "error":{"httpStatusCode":502},
      "exception":true,
      "fault":true
    },
    "BedrockModelArn":{
      "type":"string",
      "max":1011,
      "min":20,
      "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))"
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "Citation":{
      "type":"structure",
      "members":{
        "generatedResponsePart":{"shape":"GeneratedResponsePart"},
        "retrievedReferences":{"shape":"RetrievedReferences"}
      }
    },
    "Citations":{
      "type":"list",
      "member":{"shape":"Citation"}
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ContentMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"Parameters"}
    },
    "CreationMode":{
      "type":"string",
      "enum":[
        "DEFAULT",
        "OVERRIDDEN"
      ]
    },
    "DependencyFailedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"},
        "resourceName":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":424,
        "senderFault":true
      },
      "exception":true
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "FailureReasonString":{
      "type":"string",
      "sensitive":true
    },
    "FailureTrace":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "failureReason":{"shape":"FailureReasonString"}
      },
      "sensitive":true
    },
    "FinalResponse":{
      "type":"structure",
      "members":{
        "text":{"shape":"FinalResponseString"}
      }
    },
    "FinalResponseString":{
      "type":"string",
      "sensitive":true
    },
    "GeneratedResponsePart":{
      "type":"structure",
      "members":{
        "textResponsePart":{"shape":"TextResponsePart"}
      }
    },
    "InferenceConfiguration":{
      "type":"structure",
      "members":{
        "temperature":{"shape":"Temperature"},
        "topP":{"shape":"TopP"},
        "topK":{"shape":"TopK"},
        "maximumLength":{"shape":"MaximumLength"},
        "stopSequences":{"shape":"StopSequences"}
      }
    },
    "InputText":{
      "type":"string",
      "max":25000000,
      "min":0,
      "sensitive":true
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InvocationInput":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "invocationType":{"shape":"InvocationType"},
        "actionGroupInvocationInput":{"shape":"ActionGroupInvocationInput"},
        "knowledgeBaseLookupInput":{"shape":"KnowledgeBaseLookupInput"}
      },
      "sensitive":true
    },
    "InvocationType":{
      "type":"string",
      "enum":[
        "ACTION_GROUP",
        "KNOWLEDGE_BASE",
        "FINISH"
      ]
    },
    "InvokeAgentRequest":{
      "type":"structure",
      "required":[
        "agentId",
        "agentAliasId",
        "sessionId",
        "inputText"
      ],
      "members":{
        "sessionState":{"shape":"SessionState"},
        "agentId":{
          "shape":"AgentId",
          "location":"uri",
          "locationName":"agentId"
        },
        "agentAliasId":{
          "shape":"AgentAliasId",
          "location":"uri",
          "locationName":"agentAliasId"
        },
        "sessionId":{
          "shape":"SessionId",
          "location":"uri",
          "locationName":"sessionId"
        },
        "endSession":{"shape":"Boolean"},
        "enableTrace":{"shape":"Boolean"},
        "inputText":{"shape":"InputText"}
      }
    },
    "InvokeAgentResponse":{
      "type":"structure",
      "required":[
        "completion",
        "contentType",
        "sessionId"
      ],
      "members":{
        "completion":{"shape":"ResponseStream"},
        "contentType":{
          "shape":"MimeType",
          "location":"header",
          "locationName":"x-amzn-bedrock-agent-content-type"
        },
        "sessionId":{
          "shape":"SessionId",
          "location":"header",
          "locationName":"x-amz-bedrock-agent-session-id"
        }
      },
      "payload":"completion"
    },
    "KmsKeyArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}"
    },
    "KnowledgeBaseId":{
      "type":"string",
      "max":10,
      "min":0,
      "pattern":"[0-9a-zA-Z]+"
    },
    "KnowledgeBaseLookupInput":{
      "type":"structure",
      "members":{
        "text":{"shape":"KnowledgeBaseLookupInputString"},
        "knowledgeBaseId":{"shape":"TraceKnowledgeBaseId"}
      }
    },
    "KnowledgeBaseLookupInputString":{
      "type":"string",
      "sensitive":true
    },
    "KnowledgeBaseLookupOutput":{
      "type":"structure",
      "members":{
        "retrievedReferences":{"shape":"RetrievedReferences"}
      }
    },
    "KnowledgeBaseQuery":{
      "type":"structure",
      "required":["text"],
      "members":{
        "text":{"shape":"KnowledgeBaseQueryTextString"}
      },
      "sensitive":true
    },
    "KnowledgeBaseQueryTextString":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "KnowledgeBaseRetrievalConfiguration":{
      "type":"structure",
      "required":["vectorSearchConfiguration"],
      "members":{
        "vectorSearchConfiguration":{"shape":"KnowledgeBaseVectorSearchConfiguration"}
      }
    },
    "KnowledgeBaseRetrievalResult":{
      "type":"structure",
      "required":["content"],
      "members":{
        "content":{"shape":"RetrievalResultContent"},
        "location":{"shape":"RetrievalResultLocation"},
        "score":{"shape":"Double"}
      }
    },
    "KnowledgeBaseRetrievalResults":{
      "type":"list",
      "member":{"shape":"KnowledgeBaseRetrievalResult"},
      "sensitive":true
    },
    "KnowledgeBaseRetrieveAndGenerateConfiguration":{
      "type":"structure",
      "required":[
        "knowledgeBaseId",
        "modelArn"
      ],
      "members":{
        "knowledgeBaseId":{"shape":"KnowledgeBaseId"},
        "modelArn":{"shape":"BedrockModelArn"}
      }
    },
    "KnowledgeBaseVectorSearchConfiguration":{
      "type":"structure",
      "required":["numberOfResults"],
      "members":{
        "numberOfResults":{"shape":"KnowledgeBaseVectorSearchConfigurationNumberOfResultsInteger"}
      }
    },
    "KnowledgeBaseVectorSearchConfigurationNumberOfResultsInteger":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "LambdaArn":{"type":"string"},
    "MaximumLength":{
      "type":"integer",
      "box":true,
      "max":4096,
      "min":0
    },
    "MimeType":{"type":"string"},
    "ModelInvocationInput":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "text":{"shape":"PromptText"},
        "type":{"shape":"PromptType"},
        "inferenceConfiguration":{"shape":"InferenceConfiguration"},
        "overrideLambda":{"shape":"LambdaArn"},
        "promptCreationMode":{"shape":"CreationMode"},
        "parserMode":{"shape":"CreationMode"}
      },
      "sensitive":true
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\S*"
    },
    "NonBlankString":{
      "type":"string",
      "pattern":"[\\s\\S]*"
    },
    "Observation":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "type":{"shape":"Type"},
        "actionGroupInvocationOutput":{"shape":"ActionGroupInvocationOutput"},
        "knowledgeBaseLookupOutput":{"shape":"KnowledgeBaseLookupOutput"},
        "finalResponse":{"shape":"FinalResponse"},
        "repromptResponse":{"shape":"RepromptResponse"}
      },
      "sensitive":true
    },
    "OrchestrationTrace":{
      "type":"structure",
      "members":{
        "rationale":{"shape":"Rationale"},
        "invocationInput":{"shape":"InvocationInput"},
        "observation":{"shape":"Observation"},
        "modelInvocationInput":{"shape":"ModelInvocationInput"}
      },
      "sensitive":true,
      "union":true
    },
    "OutputString":{
      "type":"string",
      "sensitive":true
    },
    "Parameter":{
      "type":"structure",
      "members":{
        "name":{"shape":"String"},
        "type":{"shape":"String"},
        "value":{"shape":"String"}
      }
    },
    "Parameters":{
      "type":"list",
      "member":{"shape":"Parameter"}
    },
    "PartBody":{
      "type":"blob",
      "max":1000000,
      "min":0,
      "sensitive":true
    },
    "PayloadPart":{
      "type":"structure",
      "members":{
        "bytes":{"shape":"PartBody"},
        "attribution":{"shape":"Attribution"}
      },
      "event":true,
      "sensitive":true
    },
    "PostProcessingModelInvocationOutput":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "parsedResponse":{"shape":"PostProcessingParsedResponse"}
      },
      "sensitive":true
    },
    "PostProcessingParsedResponse":{
      "type":"structure",
      "members":{
        "text":{"shape":"OutputString"}
      },
      "sensitive":true
    },
    "PostProcessingTrace":{
      "type":"structure",
      "members":{
        "modelInvocationInput":{"shape":"ModelInvocationInput"},
        "modelInvocationOutput":{"shape":"PostProcessingModelInvocationOutput"}
      },
      "sensitive":true,
      "union":true
    },
    "PreProcessingModelInvocationOutput":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "parsedResponse":{"shape":"PreProcessingParsedResponse"}
      },
      "sensitive":true
    },
    "PreProcessingParsedResponse":{
      "type":"structure",
      "members":{
        "rationale":{"shape":"RationaleString"},
        "isValid":{"shape":"Boolean"}
      },
      "sensitive":true
    },
    "PreProcessingTrace":{
      "type":"structure",
      "members":{
        "modelInvocationInput":{"shape":"ModelInvocationInput"},
        "modelInvocationOutput":{"shape":"PreProcessingModelInvocationOutput"}
      },
      "sensitive":true,
      "union":true
    },
    "PromptSessionAttributesMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "PromptText":{
      "type":"string",
      "sensitive":true
    },
    "PromptType":{
      "type":"string",
      "enum":[
        "PRE_PROCESSING",
        "ORCHESTRATION",
        "KNOWLEDGE_BASE_RESPONSE_GENERATION",
        "POST_PROCESSING"
      ]
    },
    "Rationale":{
      "type":"structure",
      "members":{
        "traceId":{"shape":"TraceId"},
        "text":{"shape":"RationaleString"}
      },
      "sensitive":true
    },
    "RationaleString":{
      "type":"string",
      "sensitive":true
    },
    "RepromptResponse":{
      "type":"structure",
      "members":{
        "text":{"shape":"String"},
        "source":{"shape":"Source"}
      },
      "sensitive":true
    },
    "RequestBody":{
      "type":"structure",
      "members":{
        "content":{"shape":"ContentMap"}
      }
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResponseStream":{
      "type":"structure",
      "members":{
        "chunk":{"shape":"PayloadPart"},
        "trace":{"shape":"TracePart"},
        "internalServerException":{"shape":"InternalServerException"},
        "validationException":{"shape":"ValidationException"},
        "resourceNotFoundException":{"shape":"ResourceNotFoundException"},
        "serviceQuotaExceededException":{"shape":"ServiceQuotaExceededException"},
        "throttlingException":{"shape":"ThrottlingException"},
        "accessDeniedException":{"shape":"AccessDeniedException"},
        "conflictException":{"shape":"ConflictException"},
        "dependencyFailedException":{"shape":"DependencyFailedException"},
        "badGatewayException":{"shape":"BadGatewayException"}
      },
      "eventstream":true
    },
    "RetrievalResultContent":{
      "type":"structure",
      "required":["text"],
      "members":{
        "text":{"shape":"String"}
      }
    },
    "RetrievalResultLocation":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{"shape":"RetrievalResultLocationType"},
        "s3Location":{"shape":"RetrievalResultS3Location"}
      }
    },
    "RetrievalResultLocationType":{
      "type":"string",
      "enum":["S3"]
    },
    "RetrievalResultS3Location":{
      "type":"structure",
      "members":{
        "uri":{"shape":"String"}
      }
    },
    "RetrieveAndGenerateConfiguration":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{"shape":"RetrieveAndGenerateType"},
        "knowledgeBaseConfiguration":{"shape":"KnowledgeBaseRetrieveAndGenerateConfiguration"}
      }
    },
    "RetrieveAndGenerateInput":{
      "type":"structure",
      "required":["text"],
      "members":{
        "text":{"shape":"RetrieveAndGenerateInputTextString"}
      },
      "sensitive":true
    },
    "RetrieveAndGenerateInputTextString":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "RetrieveAndGenerateOutput":{
      "type":"structure",
      "required":["text"],
      "members":{
        "text":{"shape":"String"}
      },
      "sensitive":true
    },
    "RetrieveAndGenerateRequest":{
      "type":"structure",
      "required":["input"],
      "members":{
        "sessionId":{"shape":"SessionId"},
        "input":{"shape":"RetrieveAndGenerateInput"},
        "retrieveAndGenerateConfiguration":{"shape":"RetrieveAndGenerateConfiguration"},
        "sessionConfiguration":{"shape":"RetrieveAndGenerateSessionConfiguration"}
      }
    },
    "RetrieveAndGenerateResponse":{
      "type":"structure",
      "required":[
        "sessionId",
        "output"
      ],
      "members":{
        "sessionId":{"shape":"SessionId"},
        "output":{"shape":"RetrieveAndGenerateOutput"},
        "citations":{"shape":"Citations"}
      }
    },
    "RetrieveAndGenerateSessionConfiguration":{
      "type":"structure",
      "required":["kmsKeyArn"],
      "members":{
        "kmsKeyArn":{"shape":"KmsKeyArn"}
      }
    },
    "RetrieveAndGenerateType":{
      "type":"string",
      "enum":["KNOWLEDGE_BASE"]
    },
    "RetrieveRequest":{
      "type":"structure",
      "required":[
        "knowledgeBaseId",
        "retrievalQuery"
      ],
      "members":{
        "knowledgeBaseId":{
          "shape":"KnowledgeBaseId",
          "location":"uri",
          "locationName":"knowledgeBaseId"
        },
        "retrievalQuery":{"shape":"KnowledgeBaseQuery"},
        "retrievalConfiguration":{"shape":"KnowledgeBaseRetrievalConfiguration"},
        "nextToken":{"shape":"NextToken"}
      }
    },
    "RetrieveResponse":{
      "type":"structure",
      "required":["retrievalResults"],
      "members":{
        "retrievalResults":{"shape":"KnowledgeBaseRetrievalResults"},
        "nextToken":{"shape":"NextToken"}
      }
    },
    "RetrievedReference":{
      "type":"structure",
      "members":{
        "content":{"shape":"RetrievalResultContent"},
        "location":{"shape":"RetrievalResultLocation"}
      }
    },
    "RetrievedReferences":{
      "type":"list",
      "member":{"shape":"RetrievedReference"}
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "SessionAttributesMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "SessionId":{
      "type":"string",
      "max":100,
      "min":2,
      "pattern":"[0-9a-zA-Z._:-]+"
    },
    "SessionState":{
      "type":"structure",
      "members":{
        "sessionAttributes":{"shape":"SessionAttributesMap"},
        "promptSessionAttributes":{"shape":"PromptSessionAttributesMap"}
      }
    },
    "Source":{
      "type":"string",
      "enum":[
        "ACTION_GROUP",
        "KNOWLEDGE_BASE",
        "PARSER"
      ],
      "sensitive":true
    },
    "Span":{
      "type":"structure",
      "members":{
        "start":{"shape":"SpanStartInteger"},
        "end":{"shape":"SpanEndInteger"}
      }
    },
    "SpanEndInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "SpanStartInteger":{
      "type":"integer",
      "box":true,
      "min":0
    },
    "StopSequences":{
      "type":"list",
      "member":{"shape":"String"},
      "max":4,
      "min":0
    },
    "String":{"type":"string"},
    "Temperature":{
      "type":"float",
      "box":true,
      "max":1,
      "min":0
    },
    "TextResponsePart":{
      "type":"structure",
      "members":{
        "text":{"shape":"String"},
        "span":{"shape":"Span"}
      }
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "TopK":{
      "type":"integer",
      "box":true,
      "max":500,
      "min":0
    },
    "TopP":{
      "type":"float",
      "box":true,
      "max":1,
      "min":0
    },
    "Trace":{
      "type":"structure",
      "members":{
        "preProcessingTrace":{"shape":"PreProcessingTrace"},
        "orchestrationTrace":{"shape":"OrchestrationTrace"},
        "postProcessingTrace":{"shape":"PostProcessingTrace"},
        "failureTrace":{"shape":"FailureTrace"}
      },
      "sensitive":true,
      "union":true
    },
    "TraceId":{
      "type":"string",
      "max":16,
      "min":2
    },
    "TraceKnowledgeBaseId":{
      "type":"string",
      "sensitive":true
    },
    "TracePart":{
      "type":"structure",
      "members":{
        "agentId":{"shape":"AgentId"},
        "agentAliasId":{"shape":"AgentAliasId"},
        "sessionId":{"shape":"SessionId"},
        "trace":{"shape":"Trace"}
      },
      "event":true,
      "sensitive":true
    },
    "Type":{
      "type":"string",
      "enum":[
        "ACTION_GROUP",
        "KNOWLEDGE_BASE",
        "FINISH",
        "ASK_USER",
        "REPROMPT"
      ]
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Verb":{
      "type":"string",
      "sensitive":true
    }
  }
}
