@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Lex Runtime Service
@version 2016-11-28
@auth AWS SigV4
@endpoints 5
@toc bot(5)

@endpoint DELETE /bot/{botName}/alias/{botAlias}/user/{userId}/session
@required {botName: str, botAlias: str, userId: str}
@returns(200) {botName: str?, botAlias: str?, userId: str?, sessionId: str?}

@endpoint GET /bot/{botName}/alias/{botAlias}/user/{userId}/session/
@required {botName: str, botAlias: str, userId: str}
@optional {checkpointLabelFilter: str}
@returns(200) {recentIntentSummaryView: [IntentSummary]?, sessionAttributes: map<str,str>?, sessionId: str?, dialogAction: DialogAction?{type: str, intentName: str?, slots: map<str,str>?, slotToElicit: str?, fulfillmentState: str?, message: str?, messageFormat: str?}, activeContexts: [ActiveContext]?}

@endpoint POST /bot/{botName}/alias/{botAlias}/user/{userId}/content
@required {botName: str, botAlias: str, userId: str, Content-Type: str, inputStream: bytes}
@optional {x-amz-lex-session-attributes: str, x-amz-lex-request-attributes: str, Accept: str, x-amz-lex-active-contexts: str}
@returns(200) {contentType: str?, intentName: str?, nluIntentConfidence: str?, alternativeIntents: str?, slots: str?, sessionAttributes: str?, sentimentResponse: str?, message: str?, encodedMessage: str?, messageFormat: str?, dialogState: str?, slotToElicit: str?, inputTranscript: str?, encodedInputTranscript: str?, audioStream: bytes?, botVersion: str?, sessionId: str?, activeContexts: str?}

@endpoint POST /bot/{botName}/alias/{botAlias}/user/{userId}/text
@required {botName: str, botAlias: str, userId: str, inputText: str}
@optional {sessionAttributes: map<str,str>, requestAttributes: map<str,str>, activeContexts: [ActiveContext]}
@returns(200) {intentName: str?, nluIntentConfidence: IntentConfidence?{score: num(f64)?}, alternativeIntents: [PredictedIntent]?, slots: map<str,str>?, sessionAttributes: map<str,str>?, message: str?, sentimentResponse: SentimentResponse?{sentimentLabel: str?, sentimentScore: str?}, messageFormat: str?, dialogState: str?, slotToElicit: str?, responseCard: ResponseCard?{version: str?, contentType: str?, genericAttachments: [GenericAttachment]?}, sessionId: str?, botVersion: str?, activeContexts: [ActiveContext]?}

@endpoint POST /bot/{botName}/alias/{botAlias}/user/{userId}/session
@required {botName: str, botAlias: str, userId: str}
@optional {Accept: str, sessionAttributes: map<str,str>, dialogAction: DialogAction, recentIntentSummaryView: [IntentSummary], activeContexts: [ActiveContext]}
@returns(200) {contentType: str?, intentName: str?, slots: str?, sessionAttributes: str?, message: str?, encodedMessage: str?, messageFormat: str?, dialogState: str?, slotToElicit: str?, audioStream: bytes?, sessionId: str?, activeContexts: str?}

@end
