GetSessionCommand

Returns session information for a specified bot, alias, and user.

For example, you can use this operation to retrieve session information for a user that has left a long-running session in use.

If the bot, alias, or session identifier doesn't exist, Amazon Lex V2 returns a BadRequestException. If the locale doesn't exist or is not enabled for the alias, you receive a BadRequestException.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { LexRuntimeV2Client, GetSessionCommand } from "@aws-sdk/client-lex-runtime-v2"; // ES Modules import
// const { LexRuntimeV2Client, GetSessionCommand } = require("@aws-sdk/client-lex-runtime-v2"); // CommonJS import
const client = new LexRuntimeV2Client(config);
const input = { // GetSessionRequest
  botId: "STRING_VALUE", // required
  botAliasId: "STRING_VALUE", // required
  localeId: "STRING_VALUE", // required
  sessionId: "STRING_VALUE", // required
};
const command = new GetSessionCommand(input);
const response = await client.send(command);
// { // GetSessionResponse
//   sessionId: "STRING_VALUE",
//   messages: [ // Messages
//     { // Message
//       content: "STRING_VALUE",
//       contentType: "CustomPayload" || "ImageResponseCard" || "PlainText" || "SSML", // required
//       imageResponseCard: { // ImageResponseCard
//         title: "STRING_VALUE", // required
//         subtitle: "STRING_VALUE",
//         imageUrl: "STRING_VALUE",
//         buttons: [ // ButtonsList
//           { // Button
//             text: "STRING_VALUE", // required
//             value: "STRING_VALUE", // required
//           },
//         ],
//       },
//     },
//   ],
//   interpretations: [ // Interpretations
//     { // Interpretation
//       nluConfidence: { // ConfidenceScore
//         score: Number("double"),
//       },
//       sentimentResponse: { // SentimentResponse
//         sentiment: "MIXED" || "NEGATIVE" || "NEUTRAL" || "POSITIVE",
//         sentimentScore: { // SentimentScore
//           positive: Number("double"),
//           negative: Number("double"),
//           neutral: Number("double"),
//           mixed: Number("double"),
//         },
//       },
//       intent: { // Intent
//         name: "STRING_VALUE", // required
//         slots: { // Slots
//           "<keys>": { // Slot
//             value: { // Value
//               originalValue: "STRING_VALUE",
//               interpretedValue: "STRING_VALUE", // required
//               resolvedValues: [ // StringList
//                 "STRING_VALUE",
//               ],
//             },
//             shape: "Scalar" || "List" || "Composite",
//             values: [ // Values
//               {
//                 value: {
//                   originalValue: "STRING_VALUE",
//                   interpretedValue: "STRING_VALUE", // required
//                   resolvedValues: [
//                     "STRING_VALUE",
//                   ],
//                 },
//                 shape: "Scalar" || "List" || "Composite",
//                 values: [
//                   "<Slot>",
//                 ],
//                 subSlots: {
//                   "<keys>": "<Slot>",
//                 },
//               },
//             ],
//             subSlots: "<Slots>",
//           },
//         },
//         state: "Failed" || "Fulfilled" || "InProgress" || "ReadyForFulfillment" || "Waiting" || "FulfillmentInProgress",
//         confirmationState: "Confirmed" || "Denied" || "None",
//       },
//       interpretationSource: "Bedrock" || "Lex",
//     },
//   ],
//   sessionState: { // SessionState
//     dialogAction: { // DialogAction
//       type: "Close" || "ConfirmIntent" || "Delegate" || "ElicitIntent" || "ElicitSlot" || "None", // required
//       slotToElicit: "STRING_VALUE",
//       slotElicitationStyle: "Default" || "SpellByLetter" || "SpellByWord",
//       subSlotToElicit: { // ElicitSubSlot
//         name: "STRING_VALUE", // required
//         subSlotToElicit: {
//           name: "STRING_VALUE", // required
//           subSlotToElicit: "<ElicitSubSlot>",
//         },
//       },
//     },
//     intent: {
//       name: "STRING_VALUE", // required
//       slots: "<Slots>",
//       state: "Failed" || "Fulfilled" || "InProgress" || "ReadyForFulfillment" || "Waiting" || "FulfillmentInProgress",
//       confirmationState: "Confirmed" || "Denied" || "None",
//     },
//     activeContexts: [ // ActiveContextsList
//       { // ActiveContext
//         name: "STRING_VALUE", // required
//         timeToLive: { // ActiveContextTimeToLive
//           timeToLiveInSeconds: Number("int"), // required
//           turnsToLive: Number("int"), // required
//         },
//         contextAttributes: { // ActiveContextParametersMap // required
//           "<keys>": "STRING_VALUE",
//         },
//       },
//     ],
//     sessionAttributes: { // StringMap
//       "<keys>": "STRING_VALUE",
//     },
//     originatingRequestId: "STRING_VALUE",
//     runtimeHints: { // RuntimeHints
//       slotHints: { // SlotHintsIntentMap
//         "<keys>": { // SlotHintsSlotMap
//           "<keys>": { // RuntimeHintDetails
//             runtimeHintValues: [ // RuntimeHintValuesList
//               { // RuntimeHintValue
//                 phrase: "STRING_VALUE", // required
//               },
//             ],
//             subSlotHints: {
//               "<keys>": {
//                 runtimeHintValues: [
//                   {
//                     phrase: "STRING_VALUE", // required
//                   },
//                 ],
//                 subSlotHints: "<SlotHintsSlotMap>",
//               },
//             },
//           },
//         },
//       },
//     },
//   },
// };

GetSessionCommand Input

See GetSessionCommandInput for more details

Parameter
Type
Description
botAliasId
Required
string | undefined

The alias identifier in use for the bot that contains the session data.

botId
Required
string | undefined

The identifier of the bot that contains the session data.

localeId
Required
string | undefined

The locale where the session is in use.

sessionId
Required
string | undefined

The identifier of the session to return.

GetSessionCommand Output

See GetSessionCommandOutput for details

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
interpretations
Interpretation[] | undefined

A list of intents that Amazon Lex V2 determined might satisfy the user's utterance.

Each interpretation includes the intent, a score that indicates how confident Amazon Lex V2 is that the interpretation is the correct one, and an optional sentiment response that indicates the sentiment expressed in the utterance.

messages
Message[] | undefined

A list of messages that were last sent to the user. The messages are ordered based on the order that your returned the messages from your Lambda function or the order that messages are defined in the bot.

sessionId
string | undefined

The identifier of the returned session.

sessionState
SessionState | undefined

Represents the current state of the dialog between the user and the bot.

You can use this to determine the progress of the conversation and what the next action might be.

Throws

Name
Fault
Details
AccessDeniedException
client

InternalServerException
server

ResourceNotFoundException
client

ThrottlingException
client

ValidationException
client

LexRuntimeV2ServiceException
Base exception class for all service exceptions from LexRuntimeV2 service.