{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2024-02-28",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"bedrock-agentcore",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"Amazon Bedrock AgentCore",
    "serviceId":"Bedrock AgentCore",
    "signatureVersion":"v4",
    "signingName":"bedrock-agentcore",
    "uid":"bedrock-agentcore-2024-02-28"
  },
  "operations":{
    "BatchCreateMemoryRecords":{
      "name":"BatchCreateMemoryRecords",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/memoryRecords/batchCreate",
        "responseCode":201
      },
      "input":{"shape":"BatchCreateMemoryRecordsInput"},
      "output":{"shape":"BatchCreateMemoryRecordsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates multiple memory records in a single batch operation for the specified memory with custom content.</p>",
      "idempotent":true
    },
    "BatchDeleteMemoryRecords":{
      "name":"BatchDeleteMemoryRecords",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/memoryRecords/batchDelete",
        "responseCode":200
      },
      "input":{"shape":"BatchDeleteMemoryRecordsInput"},
      "output":{"shape":"BatchDeleteMemoryRecordsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes multiple memory records in a single batch operation from the specified memory.</p>"
    },
    "BatchUpdateMemoryRecords":{
      "name":"BatchUpdateMemoryRecords",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/memoryRecords/batchUpdate",
        "responseCode":200
      },
      "input":{"shape":"BatchUpdateMemoryRecordsInput"},
      "output":{"shape":"BatchUpdateMemoryRecordsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Updates multiple memory records with custom content in a single batch operation within the specified memory.</p>"
    },
    "CompleteResourceTokenAuth":{
      "name":"CompleteResourceTokenAuth",
      "http":{
        "method":"POST",
        "requestUri":"/identities/CompleteResourceTokenAuth",
        "responseCode":200
      },
      "input":{"shape":"CompleteResourceTokenAuthRequest"},
      "output":{"shape":"CompleteResourceTokenAuthResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Confirms the user authentication session for obtaining OAuth2.0 tokens for a resource.</p>"
    },
    "CreateEvent":{
      "name":"CreateEvent",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/events",
        "responseCode":201
      },
      "input":{"shape":"CreateEventInput"},
      "output":{"shape":"CreateEventOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"RetryableConflictException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates an event in an AgentCore Memory resource. Events represent interactions or activities that occur within a session and are associated with specific actors.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:CreateEvent</code> permission.</p> <p>This operation is subject to request rate limiting.</p>",
      "idempotent":true
    },
    "DeleteEvent":{
      "name":"DeleteEvent",
      "http":{
        "method":"DELETE",
        "requestUri":"/memories/{memoryId}/actor/{actorId}/sessions/{sessionId}/events/{eventId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteEventInput"},
      "output":{"shape":"DeleteEventOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes an event from an AgentCore Memory resource. When you delete an event, it is permanently removed.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:DeleteEvent</code> permission.</p>"
    },
    "DeleteMemoryRecord":{
      "name":"DeleteMemoryRecord",
      "http":{
        "method":"DELETE",
        "requestUri":"/memories/{memoryId}/memoryRecords/{memoryRecordId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteMemoryRecordInput"},
      "output":{"shape":"DeleteMemoryRecordOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes a memory record from an AgentCore Memory resource. When you delete a memory record, it is permanently removed.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:DeleteMemoryRecord</code> permission.</p>"
    },
    "Evaluate":{
      "name":"Evaluate",
      "http":{
        "method":"POST",
        "requestUri":"/evaluations/evaluate/{evaluatorId}",
        "responseCode":200
      },
      "input":{"shape":"EvaluateRequest"},
      "output":{"shape":"EvaluateResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"DuplicateIdException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p> Performs on-demand evaluation of agent traces using a specified evaluator. This synchronous API accepts traces in OpenTelemetry format and returns immediate scoring results with detailed explanations.</p>"
    },
    "GetAgentCard":{
      "name":"GetAgentCard",
      "http":{
        "method":"GET",
        "requestUri":"/runtimes/{agentRuntimeArn}/invocations/.well-known/agent-card.json",
        "responseCode":200
      },
      "input":{"shape":"GetAgentCardRequest"},
      "output":{"shape":"GetAgentCardResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"RuntimeClientError"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves the A2A agent card associated with an AgentCore Runtime agent.</p>"
    },
    "GetBrowserSession":{
      "name":"GetBrowserSession",
      "http":{
        "method":"GET",
        "requestUri":"/browsers/{browserIdentifier}/sessions/get",
        "responseCode":200
      },
      "input":{"shape":"GetBrowserSessionRequest"},
      "output":{"shape":"GetBrowserSessionResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific browser session in Amazon Bedrock AgentCore. This operation returns the session's configuration, current status, associated streams, and metadata.</p> <p>To get a browser session, you must specify both the browser identifier and the session ID. The response includes information about the session's viewport configuration, timeout settings, and stream endpoints.</p> <p>The following operations are related to <code>GetBrowserSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartBrowserSession.html\">StartBrowserSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_ListBrowserSessions.html\">ListBrowserSessions</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StopBrowserSession.html\">StopBrowserSession</a> </p> </li> </ul>",
      "readonly":true
    },
    "GetCodeInterpreterSession":{
      "name":"GetCodeInterpreterSession",
      "http":{
        "method":"GET",
        "requestUri":"/code-interpreters/{codeInterpreterIdentifier}/sessions/get",
        "responseCode":200
      },
      "input":{"shape":"GetCodeInterpreterSessionRequest"},
      "output":{"shape":"GetCodeInterpreterSessionResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves detailed information about a specific code interpreter session in Amazon Bedrock AgentCore. This operation returns the session's configuration, current status, and metadata.</p> <p>To get a code interpreter session, you must specify both the code interpreter identifier and the session ID. The response includes information about the session's timeout settings and current status.</p> <p>The following operations are related to <code>GetCodeInterpreterSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartCodeInterpreterSession.html\">StartCodeInterpreterSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_ListCodeInterpreterSessions.html\">ListCodeInterpreterSessions</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StopCodeInterpreterSession.html\">StopCodeInterpreterSession</a> </p> </li> </ul>",
      "readonly":true
    },
    "GetEvent":{
      "name":"GetEvent",
      "http":{
        "method":"GET",
        "requestUri":"/memories/{memoryId}/actor/{actorId}/sessions/{sessionId}/events/{eventId}",
        "responseCode":200
      },
      "input":{"shape":"GetEventInput"},
      "output":{"shape":"GetEventOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information about a specific event in an AgentCore Memory resource.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:GetEvent</code> permission.</p>",
      "readonly":true
    },
    "GetMemoryRecord":{
      "name":"GetMemoryRecord",
      "http":{
        "method":"GET",
        "requestUri":"/memories/{memoryId}/memoryRecord/{memoryRecordId}",
        "responseCode":200
      },
      "input":{"shape":"GetMemoryRecordInput"},
      "output":{"shape":"GetMemoryRecordOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves a specific memory record from an AgentCore Memory resource.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:GetMemoryRecord</code> permission.</p>",
      "readonly":true
    },
    "GetResourceApiKey":{
      "name":"GetResourceApiKey",
      "http":{
        "method":"POST",
        "requestUri":"/identities/api-key",
        "responseCode":200
      },
      "input":{"shape":"GetResourceApiKeyRequest"},
      "output":{"shape":"GetResourceApiKeyResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves the API key associated with an API key credential provider.</p>",
      "readonly":true
    },
    "GetResourceOauth2Token":{
      "name":"GetResourceOauth2Token",
      "http":{
        "method":"POST",
        "requestUri":"/identities/oauth2/token",
        "responseCode":200
      },
      "input":{"shape":"GetResourceOauth2TokenRequest"},
      "output":{"shape":"GetResourceOauth2TokenResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Returns the OAuth 2.0 token of the provided resource.</p>",
      "readonly":true
    },
    "GetWorkloadAccessToken":{
      "name":"GetWorkloadAccessToken",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetWorkloadAccessToken",
        "responseCode":200
      },
      "input":{"shape":"GetWorkloadAccessTokenRequest"},
      "output":{"shape":"GetWorkloadAccessTokenResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Obtains a workload access token for agentic workloads not acting on behalf of a user.</p>"
    },
    "GetWorkloadAccessTokenForJWT":{
      "name":"GetWorkloadAccessTokenForJWT",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetWorkloadAccessTokenForJWT",
        "responseCode":200
      },
      "input":{"shape":"GetWorkloadAccessTokenForJWTRequest"},
      "output":{"shape":"GetWorkloadAccessTokenForJWTResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Obtains a workload access token for agentic workloads acting on behalf of a user, using a JWT token.</p>"
    },
    "GetWorkloadAccessTokenForUserId":{
      "name":"GetWorkloadAccessTokenForUserId",
      "http":{
        "method":"POST",
        "requestUri":"/identities/GetWorkloadAccessTokenForUserId",
        "responseCode":200
      },
      "input":{"shape":"GetWorkloadAccessTokenForUserIdRequest"},
      "output":{"shape":"GetWorkloadAccessTokenForUserIdResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Obtains a workload access token for agentic workloads acting on behalf of a user, using the user's ID.</p>"
    },
    "InvokeAgentRuntime":{
      "name":"InvokeAgentRuntime",
      "http":{
        "method":"POST",
        "requestUri":"/runtimes/{agentRuntimeArn}/invocations",
        "responseCode":200
      },
      "input":{"shape":"InvokeAgentRuntimeRequest"},
      "output":{"shape":"InvokeAgentRuntimeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"RuntimeClientError"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Sends a request to an agent or tool hosted in an Amazon Bedrock AgentCore Runtime and receives responses in real-time. </p> <p>To invoke an agent you must specify the AgentCore Runtime ARN and provide a payload containing your request. You can optionally specify a qualifier to target a specific version or endpoint of the agent.</p> <p>This operation supports streaming responses, allowing you to receive partial responses as they become available. We recommend using pagination to ensure that the operation returns quickly and successfully when processing large responses.</p> <p>For example code, see <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-invoke-agent.html\">Invoke an AgentCore Runtime agent</a>. </p> <p>If you're integrating your agent with OAuth, you can't use the Amazon Web Services SDK to call <code>InvokeAgentRuntime</code>. Instead, make a HTTPS request to <code>InvokeAgentRuntime</code>. For an example, see <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-oauth.html\">Authenticate and authorize with Inbound Auth and Outbound Auth</a>.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:InvokeAgentRuntime</code> permission. If you are making a call to <code>InvokeAgentRuntime</code> on behalf of a user ID with the <code>X-Amzn-Bedrock-AgentCore-Runtime-User-Id</code> header, You require permissions to both actions (<code>bedrock-agentcore:InvokeAgentRuntime</code> and <code>bedrock-agentcore:InvokeAgentRuntimeForUser</code>). </p>"
    },
    "InvokeCodeInterpreter":{
      "name":"InvokeCodeInterpreter",
      "http":{
        "method":"POST",
        "requestUri":"/code-interpreters/{codeInterpreterIdentifier}/tools/invoke",
        "responseCode":200
      },
      "input":{"shape":"InvokeCodeInterpreterRequest"},
      "output":{"shape":"InvokeCodeInterpreterResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Executes code within an active code interpreter session in Amazon Bedrock AgentCore. This operation processes the provided code, runs it in a secure environment, and returns the execution results including output, errors, and generated visualizations.</p> <p>To execute code, you must specify the code interpreter identifier, session ID, and the code to run in the arguments parameter. The operation returns a stream containing the execution results, which can include text output, error messages, and data visualizations.</p> <p>This operation is subject to request rate limiting based on your account's service quotas.</p> <p>The following operations are related to <code>InvokeCodeInterpreter</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartCodeInterpreterSession.html\">StartCodeInterpreterSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetCodeInterpreterSession.html\">GetCodeInterpreterSession</a> </p> </li> </ul>"
    },
    "ListActors":{
      "name":"ListActors",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/actors",
        "responseCode":200
      },
      "input":{"shape":"ListActorsInput"},
      "output":{"shape":"ListActorsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists all actors in an AgentCore Memory resource. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:ListActors</code> permission.</p>",
      "readonly":true
    },
    "ListBrowserSessions":{
      "name":"ListBrowserSessions",
      "http":{
        "method":"POST",
        "requestUri":"/browsers/{browserIdentifier}/sessions/list",
        "responseCode":200
      },
      "input":{"shape":"ListBrowserSessionsRequest"},
      "output":{"shape":"ListBrowserSessionsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of browser sessions in Amazon Bedrock AgentCore that match the specified criteria. This operation returns summary information about each session, including identifiers, status, and timestamps.</p> <p>You can filter the results by browser identifier and session status. The operation supports pagination to handle large result sets efficiently.</p> <p>We recommend using pagination to ensure that the operation returns quickly and successfully when retrieving large numbers of sessions.</p> <p>The following operations are related to <code>ListBrowserSessions</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartBrowserSession.html\">StartBrowserSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetBrowserSession.html\">GetBrowserSession</a> </p> </li> </ul>",
      "readonly":true
    },
    "ListCodeInterpreterSessions":{
      "name":"ListCodeInterpreterSessions",
      "http":{
        "method":"POST",
        "requestUri":"/code-interpreters/{codeInterpreterIdentifier}/sessions/list",
        "responseCode":200
      },
      "input":{"shape":"ListCodeInterpreterSessionsRequest"},
      "output":{"shape":"ListCodeInterpreterSessionsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Retrieves a list of code interpreter sessions in Amazon Bedrock AgentCore that match the specified criteria. This operation returns summary information about each session, including identifiers, status, and timestamps.</p> <p>You can filter the results by code interpreter identifier and session status. The operation supports pagination to handle large result sets efficiently.</p> <p>We recommend using pagination to ensure that the operation returns quickly and successfully when retrieving large numbers of sessions.</p> <p>The following operations are related to <code>ListCodeInterpreterSessions</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartCodeInterpreterSession.html\">StartCodeInterpreterSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetCodeInterpreterSession.html\">GetCodeInterpreterSession</a> </p> </li> </ul>",
      "readonly":true
    },
    "ListEvents":{
      "name":"ListEvents",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/actor/{actorId}/sessions/{sessionId}",
        "responseCode":200
      },
      "input":{"shape":"ListEventsInput"},
      "output":{"shape":"ListEventsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists events in an AgentCore Memory resource based on specified criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:ListEvents</code> permission.</p>",
      "readonly":true
    },
    "ListMemoryExtractionJobs":{
      "name":"ListMemoryExtractionJobs",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/extractionJobs",
        "responseCode":200
      },
      "input":{"shape":"ListMemoryExtractionJobsInput"},
      "output":{"shape":"ListMemoryExtractionJobsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists all long-term memory extraction jobs that are eligible to be started with optional filtering.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:ListMemoryExtractionJobs</code> permission.</p>"
    },
    "ListMemoryRecords":{
      "name":"ListMemoryRecords",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/memoryRecords",
        "responseCode":200
      },
      "input":{"shape":"ListMemoryRecordsInput"},
      "output":{"shape":"ListMemoryRecordsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists memory records in an AgentCore Memory resource based on specified criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:ListMemoryRecords</code> permission.</p>",
      "readonly":true
    },
    "ListSessions":{
      "name":"ListSessions",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/actor/{actorId}/sessions",
        "responseCode":200
      },
      "input":{"shape":"ListSessionsInput"},
      "output":{"shape":"ListSessionsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists sessions in an AgentCore Memory resource based on specified criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:ListSessions</code> permission.</p>",
      "readonly":true
    },
    "RetrieveMemoryRecords":{
      "name":"RetrieveMemoryRecords",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/retrieve",
        "responseCode":200
      },
      "input":{"shape":"RetrieveMemoryRecordsInput"},
      "output":{"shape":"RetrieveMemoryRecordsOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InvalidInputException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Searches for and retrieves memory records from an AgentCore Memory resource based on specified search criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:RetrieveMemoryRecords</code> permission.</p>"
    },
    "SaveBrowserSessionProfile":{
      "name":"SaveBrowserSessionProfile",
      "http":{
        "method":"PUT",
        "requestUri":"/browser-profiles/{profileIdentifier}/save",
        "responseCode":200
      },
      "input":{"shape":"SaveBrowserSessionProfileRequest"},
      "output":{"shape":"SaveBrowserSessionProfileResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Saves the current state of a browser session as a reusable profile in Amazon Bedrock AgentCore. A browser profile captures persistent browser data such as cookies and local storage from an active session, enabling you to reuse this data in future browser sessions.</p> <p>To save a browser session profile, you must specify the profile identifier, browser identifier, and session ID. The session must be active when saving the profile. Once saved, the profile can be used with the <code>StartBrowserSession</code> operation to initialize new sessions with the stored browser state.</p> <p>Browser profiles are useful for scenarios that require persistent authentication, maintaining user preferences across sessions, or continuing tasks that depend on previously stored browser data.</p> <p>The following operations are related to <code>SaveBrowserSessionProfile</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartBrowserSession.html\">StartBrowserSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetBrowserSession.html\">GetBrowserSession</a> </p> </li> </ul>",
      "idempotent":true
    },
    "StartBrowserSession":{
      "name":"StartBrowserSession",
      "http":{
        "method":"PUT",
        "requestUri":"/browsers/{browserIdentifier}/sessions/start",
        "responseCode":200
      },
      "input":{"shape":"StartBrowserSessionRequest"},
      "output":{"shape":"StartBrowserSessionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates and initializes a browser session in Amazon Bedrock AgentCore. The session enables agents to navigate and interact with web content, extract information from websites, and perform web-based tasks as part of their response generation.</p> <p>To create a session, you must specify a browser identifier and a name. You can also configure the viewport dimensions to control the visible area of web content. The session remains active until it times out or you explicitly stop it using the <code>StopBrowserSession</code> operation.</p> <p>The following operations are related to <code>StartBrowserSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetBrowserSession.html\">GetBrowserSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_UpdateBrowserStream.html\">UpdateBrowserStream</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_SaveBrowserSessionProfile.html\">SaveBrowserSessionProfile</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StopBrowserSession.html\">StopBrowserSession</a> </p> </li> </ul>",
      "idempotent":true
    },
    "StartCodeInterpreterSession":{
      "name":"StartCodeInterpreterSession",
      "http":{
        "method":"PUT",
        "requestUri":"/code-interpreters/{codeInterpreterIdentifier}/sessions/start",
        "responseCode":200
      },
      "input":{"shape":"StartCodeInterpreterSessionRequest"},
      "output":{"shape":"StartCodeInterpreterSessionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Creates and initializes a code interpreter session in Amazon Bedrock AgentCore. The session enables agents to execute code as part of their response generation, supporting programming languages such as Python for data analysis, visualization, and computation tasks.</p> <p>To create a session, you must specify a code interpreter identifier and a name. The session remains active until it times out or you explicitly stop it using the <code>StopCodeInterpreterSession</code> operation.</p> <p>The following operations are related to <code>StartCodeInterpreterSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_InvokeCodeInterpreter.html\">InvokeCodeInterpreter</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetCodeInterpreterSession.html\">GetCodeInterpreterSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StopCodeInterpreterSession.html\">StopCodeInterpreterSession</a> </p> </li> </ul>",
      "idempotent":true
    },
    "StartMemoryExtractionJob":{
      "name":"StartMemoryExtractionJob",
      "http":{
        "method":"POST",
        "requestUri":"/memories/{memoryId}/extractionJobs/start",
        "responseCode":200
      },
      "input":{"shape":"StartMemoryExtractionJobInput"},
      "output":{"shape":"StartMemoryExtractionJobOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottledException"},
        {"shape":"ServiceException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p> Starts a memory extraction job that processes events that failed extraction previously in an AgentCore Memory resource and produces structured memory records. When earlier extraction attempts have left events unprocessed, this job will pick up and extract those as well. </p> <p>To use this operation, you must have the <code>bedrock-agentcore:StartMemoryExtractionJob</code> permission.</p>",
      "idempotent":true
    },
    "StopBrowserSession":{
      "name":"StopBrowserSession",
      "http":{
        "method":"PUT",
        "requestUri":"/browsers/{browserIdentifier}/sessions/stop",
        "responseCode":200
      },
      "input":{"shape":"StopBrowserSessionRequest"},
      "output":{"shape":"StopBrowserSessionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Terminates an active browser session in Amazon Bedrock AgentCore. This operation stops the session, releases associated resources, and makes the session unavailable for further use.</p> <p>To stop a browser session, you must specify both the browser identifier and the session ID. Once stopped, a session cannot be restarted; you must create a new session using <code>StartBrowserSession</code>.</p> <p>The following operations are related to <code>StopBrowserSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartBrowserSession.html\">StartBrowserSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetBrowserSession.html\">GetBrowserSession</a> </p> </li> </ul>",
      "idempotent":true
    },
    "StopCodeInterpreterSession":{
      "name":"StopCodeInterpreterSession",
      "http":{
        "method":"PUT",
        "requestUri":"/code-interpreters/{codeInterpreterIdentifier}/sessions/stop",
        "responseCode":200
      },
      "input":{"shape":"StopCodeInterpreterSessionRequest"},
      "output":{"shape":"StopCodeInterpreterSessionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Terminates an active code interpreter session in Amazon Bedrock AgentCore. This operation stops the session, releases associated resources, and makes the session unavailable for further use.</p> <p>To stop a code interpreter session, you must specify both the code interpreter identifier and the session ID. Once stopped, a session cannot be restarted; you must create a new session using <code>StartCodeInterpreterSession</code>.</p> <p>The following operations are related to <code>StopCodeInterpreterSession</code>:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_StartCodeInterpreterSession.html\">StartCodeInterpreterSession</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_GetCodeInterpreterSession.html\">GetCodeInterpreterSession</a> </p> </li> </ul>",
      "idempotent":true
    },
    "StopRuntimeSession":{
      "name":"StopRuntimeSession",
      "http":{
        "method":"POST",
        "requestUri":"/runtimes/{agentRuntimeArn}/stopruntimesession",
        "responseCode":200
      },
      "input":{"shape":"StopRuntimeSessionRequest"},
      "output":{"shape":"StopRuntimeSessionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"RuntimeClientError"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Stops a session that is running in an running AgentCore Runtime agent.</p>",
      "idempotent":true
    },
    "UpdateBrowserStream":{
      "name":"UpdateBrowserStream",
      "http":{
        "method":"PUT",
        "requestUri":"/browsers/{browserIdentifier}/sessions/streams/update",
        "responseCode":200
      },
      "input":{"shape":"UpdateBrowserStreamRequest"},
      "output":{"shape":"UpdateBrowserStreamResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerException"}
      ],
      "documentation":"<p>Updates a browser stream. To use this operation, you must have permissions to perform the bedrock:UpdateBrowserStream action.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when you do not have sufficient permissions to perform an action. Verify that your IAM policy includes the necessary permissions for the operation you are trying to perform.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccessTokenType":{
      "type":"string",
      "max":131072,
      "min":1,
      "sensitive":true
    },
    "ActorId":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9-_/]*(?::[a-zA-Z0-9-_/]+)*[a-zA-Z0-9-_/]*"
    },
    "ActorSummary":{
      "type":"structure",
      "required":["actorId"],
      "members":{
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The unique identifier of the actor.</p>"
        }
      },
      "documentation":"<p>Contains summary information about an actor in an AgentCore Memory resource.</p>"
    },
    "ActorSummaryList":{
      "type":"list",
      "member":{"shape":"ActorSummary"}
    },
    "AgentCard":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "ApiKeyType":{
      "type":"string",
      "max":65536,
      "min":1,
      "sensitive":true
    },
    "AuthorizationUrlType":{
      "type":"string",
      "min":1,
      "sensitive":true
    },
    "AutomationStream":{
      "type":"structure",
      "required":[
        "streamEndpoint",
        "streamStatus"
      ],
      "members":{
        "streamEndpoint":{
          "shape":"BrowserStreamEndpoint",
          "documentation":"<p>The endpoint URL for the automation stream. This URL is used to establish a WebSocket connection to the stream for sending commands and receiving responses.</p>"
        },
        "streamStatus":{
          "shape":"AutomationStreamStatus",
          "documentation":"<p>The current status of the automation stream. This indicates whether the stream is available for use. Possible values include ACTIVE, CONNECTING, and DISCONNECTED.</p>"
        }
      },
      "documentation":"<p>The configuration for a stream that enables programmatic control of a browser session in Amazon Bedrock AgentCore. This stream provides a bidirectional communication channel for sending commands to the browser and receiving responses, allowing agents to automate web interactions such as navigation, form filling, and element clicking.</p>"
    },
    "AutomationStreamStatus":{
      "type":"string",
      "enum":[
        "ENABLED",
        "DISABLED"
      ]
    },
    "AutomationStreamUpdate":{
      "type":"structure",
      "members":{
        "streamStatus":{
          "shape":"AutomationStreamStatus",
          "documentation":"<p>The status of the automation stream.</p>"
        }
      },
      "documentation":"<p>Contains information about an update to an automation stream.</p>"
    },
    "BasicAuth":{
      "type":"structure",
      "required":["secretArn"],
      "members":{
        "secretArn":{
          "shape":"SecretArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret containing proxy credentials. The secret must be a JSON object with <code>username</code> and <code>password</code> string fields that meet validation requirements. The caller must have <code>secretsmanager:GetSecretValue</code> permission for this ARN. Example secret format: <code>{\"username\": \"proxy_user\", \"password\": \"secure_password\"}</code> </p>"
        }
      },
      "documentation":"<p>Configuration for HTTP Basic Authentication using credentials stored in Amazon Web Services Secrets Manager. The secret must contain a JSON object with <code>username</code> and <code>password</code> string fields. Username allows alphanumeric characters and <code>@._+=-</code> symbols (pattern: <code>^[a-zA-Z0-9@._+=\\-]+$</code>). Password allows alphanumeric characters and <code>@._+=-!#$%&amp;*</code> symbols (pattern: <code>^[a-zA-Z0-9@._+=\\-!#$%&amp;*]+$</code>). Both fields have a maximum length of 256 characters.</p>"
    },
    "BatchCreateMemoryRecordsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "records"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique ID of the memory resource where records will be created.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "records":{
          "shape":"MemoryRecordsCreateInputList",
          "documentation":"<p>A list of memory record creation inputs to be processed in the batch operation.</p>"
        },
        "clientToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotent processing of the batch request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "BatchCreateMemoryRecordsOutput":{
      "type":"structure",
      "required":[
        "successfulRecords",
        "failedRecords"
      ],
      "members":{
        "successfulRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that were successfully created during the batch operation.</p>"
        },
        "failedRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that failed to be created, including error details for each failure.</p>"
        }
      }
    },
    "BatchDeleteMemoryRecordsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "records"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique ID of the memory resource where records will be deleted.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "records":{
          "shape":"MemoryRecordsDeleteInputList",
          "documentation":"<p>A list of memory record deletion inputs to be processed in the batch operation.</p>"
        }
      }
    },
    "BatchDeleteMemoryRecordsOutput":{
      "type":"structure",
      "required":[
        "successfulRecords",
        "failedRecords"
      ],
      "members":{
        "successfulRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that were successfully deleted during the batch operation.</p>"
        },
        "failedRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that failed to be deleted, including error details for each failure.</p>"
        }
      }
    },
    "BatchUpdateMemoryRecordsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "records"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique ID of the memory resource where records will be updated.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "records":{
          "shape":"MemoryRecordsUpdateInputList",
          "documentation":"<p>A list of memory record update inputs to be processed in the batch operation.</p>"
        }
      }
    },
    "BatchUpdateMemoryRecordsOutput":{
      "type":"structure",
      "required":[
        "successfulRecords",
        "failedRecords"
      ],
      "members":{
        "successfulRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that were successfully updated during the batch operation.</p>"
        },
        "failedRecords":{
          "shape":"MemoryRecordsOutputList",
          "documentation":"<p>A list of memory records that failed to be updated, including error details for each failure.</p>"
        }
      }
    },
    "Blob":{"type":"blob"},
    "Body":{
      "type":"blob",
      "max":100000000,
      "min":0,
      "sensitive":true
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "Branch":{
      "type":"structure",
      "required":["name"],
      "members":{
        "rootEventId":{
          "shape":"EventId",
          "documentation":"<p>The identifier of the root event for this branch.</p>"
        },
        "name":{
          "shape":"BranchName",
          "documentation":"<p>The name of the branch.</p>"
        }
      },
      "documentation":"<p>Contains information about a branch in an AgentCore Memory resource. Branches allow for organizing events into different conversation threads or paths.</p>"
    },
    "BranchFilter":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"BranchName",
          "documentation":"<p>The name of the branch to filter by.</p>"
        },
        "includeParentBranches":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether to include parent branches in the results. Set to true to include parent branches, or false to exclude them.</p>"
        }
      },
      "documentation":"<p>Contains filter criteria for branches when listing events.</p>"
    },
    "BranchName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9-_]*"
    },
    "BrowserExtension":{
      "type":"structure",
      "required":["location"],
      "members":{
        "location":{
          "shape":"ResourceLocation",
          "documentation":"<p>The location where the browser extension files are stored. This specifies the source from which the extension will be loaded and installed.</p>"
        }
      },
      "documentation":"<p>Browser extension configuration.</p>"
    },
    "BrowserExtensions":{
      "type":"list",
      "member":{"shape":"BrowserExtension"},
      "max":10,
      "min":1
    },
    "BrowserProfileConfiguration":{
      "type":"structure",
      "required":["profileIdentifier"],
      "members":{
        "profileIdentifier":{
          "shape":"BrowserProfileId",
          "documentation":"<p>The unique identifier of the browser profile. This identifier is used to reference the profile when starting new browser sessions or saving session data to the profile.</p>"
        }
      },
      "documentation":"<p>The configuration for a browser profile in Amazon Bedrock AgentCore. A browser profile contains persistent browser data such as cookies and local storage that can be saved from one browser session and reused in subsequent sessions. Browser profiles enable continuity for tasks that require authentication, maintain user preferences, or depend on previously stored browser state.</p>"
    },
    "BrowserProfileId":{
      "type":"string",
      "pattern":"[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10}"
    },
    "BrowserSessionId":{
      "type":"string",
      "pattern":"[0-9a-zA-Z]{1,40}"
    },
    "BrowserSessionStatus":{
      "type":"string",
      "enum":[
        "READY",
        "TERMINATED"
      ]
    },
    "BrowserSessionStream":{
      "type":"structure",
      "required":["automationStream"],
      "members":{
        "automationStream":{
          "shape":"AutomationStream",
          "documentation":"<p>The stream that enables programmatic control of the browser. This stream allows agents to perform actions such as navigating to URLs, clicking elements, and filling forms.</p>"
        },
        "liveViewStream":{
          "shape":"LiveViewStream",
          "documentation":"<p>The stream that provides a visual representation of the browser content. This stream allows agents to observe the current state of the browser, including rendered web pages and visual elements.</p>"
        }
      },
      "documentation":"<p>The collection of streams associated with a browser session in Amazon Bedrock AgentCore. These streams provide different ways to interact with and observe the browser session, including programmatic control and visual representation of the browser content.</p>"
    },
    "BrowserSessionSummaries":{
      "type":"list",
      "member":{"shape":"BrowserSessionSummary"}
    },
    "BrowserSessionSummary":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "status",
        "createdAt"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser associated with the session. This identifier specifies which browser environment is used for the session.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the browser session. This identifier is used in operations that interact with the session.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the browser session. This name helps identify and manage the session.</p>"
        },
        "status":{
          "shape":"BrowserSessionStatus",
          "documentation":"<p>The current status of the browser session. Possible values include ACTIVE, STOPPING, and STOPPED.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser session was created. This value is in ISO 8601 format.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser session was last updated. This value is in ISO 8601 format.</p>"
        }
      },
      "documentation":"<p>A condensed representation of a browser session in Amazon Bedrock AgentCore. This structure contains key information about a browser session, including identifiers, status, and timestamps, without the full details of the session configuration and streams.</p>"
    },
    "BrowserSessionTimeout":{
      "type":"integer",
      "box":true,
      "max":28800,
      "min":1
    },
    "BrowserStreamEndpoint":{
      "type":"string",
      "max":512,
      "min":10
    },
    "ClientToken":{
      "type":"string",
      "max":256,
      "min":33,
      "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}"
    },
    "CodeInterpreterResult":{
      "type":"structure",
      "required":["content"],
      "members":{
        "content":{
          "shape":"ContentBlockList",
          "documentation":"<p>The textual content of the execution result. This includes standard output from the code execution, such as print statements, console output, and text representations of results.</p>"
        },
        "structuredContent":{
          "shape":"ToolResultStructuredContent",
          "documentation":"<p>The structured content of the execution result. This includes additional metadata about the execution, such as execution time, memory usage, and structured representations of output data. The format depends on the specific code interpreter and execution context.</p>"
        },
        "isError":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether the result represents an error. If true, the content contains error messages or exception information. If false, the content contains successful execution results.</p>"
        }
      },
      "documentation":"<p>The output produced by executing code in a code interpreter session in Amazon Bedrock AgentCore. This structure contains the results of code execution, including textual output, structured data, and error information. Agents use these results to generate responses that incorporate computation, data analysis, and visualization.</p>",
      "event":true
    },
    "CodeInterpreterSessionId":{
      "type":"string",
      "pattern":"[0-9a-zA-Z]{1,40}"
    },
    "CodeInterpreterSessionStatus":{
      "type":"string",
      "enum":[
        "READY",
        "TERMINATED"
      ]
    },
    "CodeInterpreterSessionSummaries":{
      "type":"list",
      "member":{"shape":"CodeInterpreterSessionSummary"}
    },
    "CodeInterpreterSessionSummary":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId",
        "status",
        "createdAt"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter associated with the session. This identifier specifies which code interpreter environment is used for the session.</p>"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The unique identifier of the code interpreter session. This identifier is used in operations that interact with the session.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the code interpreter session. This name helps identify and manage the session.</p>"
        },
        "status":{
          "shape":"CodeInterpreterSessionStatus",
          "documentation":"<p>The current status of the code interpreter session. Possible values include ACTIVE, STOPPING, and STOPPED.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter session was created. This value is in ISO 8601 format.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter session was last updated. This value is in ISO 8601 format.</p>"
        }
      },
      "documentation":"<p>A condensed representation of a code interpreter session in Amazon Bedrock AgentCore. This structure contains key information about a code interpreter session, including identifiers, status, and timestamps, without the full details of the session configuration.</p>"
    },
    "CodeInterpreterSessionTimeout":{
      "type":"integer",
      "box":true,
      "max":28800,
      "min":1
    },
    "CodeInterpreterStreamOutput":{
      "type":"structure",
      "members":{
        "result":{"shape":"CodeInterpreterResult"},
        "accessDeniedException":{"shape":"AccessDeniedException"},
        "conflictException":{"shape":"ConflictException"},
        "internalServerException":{"shape":"InternalServerException"},
        "resourceNotFoundException":{"shape":"ResourceNotFoundException"},
        "serviceQuotaExceededException":{"shape":"ServiceQuotaExceededException"},
        "throttlingException":{"shape":"ThrottlingException"},
        "validationException":{"shape":"ValidationException"}
      },
      "documentation":"<p>Contains output from a code interpreter stream.</p>",
      "eventstream":true
    },
    "CompleteResourceTokenAuthRequest":{
      "type":"structure",
      "required":[
        "userIdentifier",
        "sessionUri"
      ],
      "members":{
        "userIdentifier":{
          "shape":"UserIdentifier",
          "documentation":"<p>The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens.</p>"
        },
        "sessionUri":{
          "shape":"RequestUri",
          "documentation":"<p>Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process.</p>"
        }
      }
    },
    "CompleteResourceTokenAuthResponse":{
      "type":"structure",
      "members":{}
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when the request conflicts with the current state of the resource. This can happen when trying to modify a resource that is currently being modified by another request, or when trying to create a resource that already exists.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "Content":{
      "type":"structure",
      "members":{
        "text":{
          "shape":"ContentTextString",
          "documentation":"<p>The text content of the memory item.</p>"
        }
      },
      "documentation":"<p>Contains the content of a memory item.</p>",
      "union":true
    },
    "ContentBlock":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"ContentBlockType",
          "documentation":"<p>The type of content in the block.</p>"
        },
        "text":{
          "shape":"String",
          "documentation":"<p>The text content of the block.</p>"
        },
        "data":{
          "shape":"Blob",
          "documentation":"<p>The binary data content of the block.</p>"
        },
        "mimeType":{
          "shape":"String",
          "documentation":"<p>The MIME type of the content.</p>"
        },
        "uri":{
          "shape":"String",
          "documentation":"<p>The URI of the content.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the content block.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the content block.</p>"
        },
        "size":{
          "shape":"Long",
          "documentation":"<p>The size of the content in bytes.</p>"
        },
        "resource":{
          "shape":"ResourceContent",
          "documentation":"<p>The resource associated with the content block.</p>"
        }
      },
      "documentation":"<p>A block of content in a response.</p>"
    },
    "ContentBlockList":{
      "type":"list",
      "member":{"shape":"ContentBlock"}
    },
    "ContentBlockType":{
      "type":"string",
      "enum":[
        "text",
        "image",
        "resource",
        "resource_link"
      ]
    },
    "ContentTextString":{
      "type":"string",
      "max":100000,
      "min":1,
      "sensitive":true
    },
    "Context":{
      "type":"structure",
      "members":{
        "spanContext":{
          "shape":"SpanContext",
          "documentation":"<p> The span context information that uniquely identifies the trace and span being evaluated, including session ID, trace ID, and span ID for precise targeting within the agent's execution flow. </p>"
        }
      },
      "documentation":"<p> The contextual information associated with an evaluation, including span context details that identify the specific traces and sessions being evaluated within the agent's execution flow. </p>",
      "union":true
    },
    "Conversational":{
      "type":"structure",
      "required":[
        "content",
        "role"
      ],
      "members":{
        "content":{
          "shape":"Content",
          "documentation":"<p>The content of the conversation message.</p>"
        },
        "role":{
          "shape":"Role",
          "documentation":"<p>The role of the participant in the conversation (for example, \"user\" or \"assistant\").</p>"
        }
      },
      "documentation":"<p>Contains conversational content for an event payload.</p>"
    },
    "CreateEventInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "actorId",
        "eventTimestamp",
        "payload"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource in which to create the event.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor associated with this event. An actor represents an entity that participates in sessions and generates events.</p>"
        },
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the session in which this event occurs. A session represents a sequence of related events.</p>"
        },
        "eventTimestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the event occurred. If not specified, the current time is used.</p>"
        },
        "payload":{
          "shape":"PayloadTypeList",
          "documentation":"<p>The content payload of the event. This can include conversational data or binary content.</p>"
        },
        "branch":{
          "shape":"Branch",
          "documentation":"<p>The branch information for this event. Branches allow for organizing events into different conversation threads or paths.</p>"
        },
        "clientToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, AgentCore ignores the request, but does not return an error.</p>",
          "idempotencyToken":true
        },
        "metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>The key-value metadata to attach to the event.</p>"
        }
      }
    },
    "CreateEventOutput":{
      "type":"structure",
      "required":["event"],
      "members":{
        "event":{
          "shape":"Event",
          "documentation":"<p>The event that was created.</p>"
        }
      }
    },
    "CredentialProviderName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_]+"
    },
    "CustomRequestKeyType":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-_\\.]+"
    },
    "CustomRequestParametersType":{
      "type":"map",
      "key":{"shape":"CustomRequestKeyType"},
      "value":{"shape":"CustomRequestValueType"}
    },
    "CustomRequestValueType":{
      "type":"string",
      "max":2048,
      "min":1,
      "sensitive":true
    },
    "DateTimestamp":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "DeleteEventInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "sessionId",
        "eventId",
        "actorId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource from which to delete the event.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the session containing the event to delete.</p>",
          "location":"uri",
          "locationName":"sessionId"
        },
        "eventId":{
          "shape":"EventId",
          "documentation":"<p>The identifier of the event to delete.</p>",
          "location":"uri",
          "locationName":"eventId"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor associated with the event to delete.</p>",
          "location":"uri",
          "locationName":"actorId"
        }
      }
    },
    "DeleteEventOutput":{
      "type":"structure",
      "required":["eventId"],
      "members":{
        "eventId":{
          "shape":"EventId",
          "documentation":"<p>The identifier of the event that was deleted.</p>"
        }
      }
    },
    "DeleteMemoryRecordInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "memoryRecordId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource from which to delete the memory record.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The identifier of the memory record to delete.</p>",
          "location":"uri",
          "locationName":"memoryRecordId"
        }
      }
    },
    "DeleteMemoryRecordOutput":{
      "type":"structure",
      "required":["memoryRecordId"],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The identifier of the memory record that was deleted.</p>"
        }
      }
    },
    "Document":{
      "type":"structure",
      "members":{},
      "document":true,
      "sensitive":true
    },
    "DomainPattern":{
      "type":"string",
      "max":253,
      "min":1,
      "pattern":"(\\.)?[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*"
    },
    "DomainPatterns":{
      "type":"list",
      "member":{"shape":"DomainPattern"},
      "max":100,
      "min":1
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "DuplicateIdException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p> An exception thrown when attempting to create a resource with an identifier that already exists.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "EvaluateRequest":{
      "type":"structure",
      "required":[
        "evaluatorId",
        "evaluationInput"
      ],
      "members":{
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator ARN created through the control plane API. </p>",
          "location":"uri",
          "locationName":"evaluatorId"
        },
        "evaluationInput":{
          "shape":"EvaluationInput",
          "documentation":"<p> The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation. </p>"
        },
        "evaluationTarget":{
          "shape":"EvaluationTarget",
          "documentation":"<p> The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions. </p>"
        }
      }
    },
    "EvaluateResponse":{
      "type":"structure",
      "required":["evaluationResults"],
      "members":{
        "evaluationResults":{
          "shape":"EvaluationResults",
          "documentation":"<p> The detailed evaluation results containing scores, explanations, and metadata. Includes the evaluator information, numerical or categorical ratings based on the evaluator's rating scale, and token usage statistics for the evaluation process. </p>"
        }
      }
    },
    "EvaluationErrorCode":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "EvaluationErrorMessage":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "EvaluationExplanation":{
      "type":"string",
      "max":2048,
      "min":0,
      "sensitive":true
    },
    "EvaluationInput":{
      "type":"structure",
      "members":{
        "sessionSpans":{
          "shape":"Spans",
          "documentation":"<p> The collection of spans representing agent execution traces within a session. Each span contains detailed information about tool calls, model interactions, and other agent activities that can be evaluated for quality and performance. </p>"
        }
      },
      "documentation":"<p> The input data structure containing agent session spans in OpenTelemetry format. Supports traces from frameworks like Strands (AgentCore Runtime) and LangGraph with OpenInference instrumentation for comprehensive evaluation. </p>",
      "union":true
    },
    "EvaluationResultContent":{
      "type":"structure",
      "required":[
        "evaluatorArn",
        "evaluatorId",
        "evaluatorName",
        "context"
      ],
      "members":{
        "evaluatorArn":{
          "shape":"EvaluatorArn",
          "documentation":"<p> The Amazon Resource Name (ARN) of the evaluator used to generate this result. For custom evaluators, this is the full ARN; for built-in evaluators, this follows the pattern <code>Builtin.{EvaluatorName}</code>. </p>"
        },
        "evaluatorId":{
          "shape":"EvaluatorId",
          "documentation":"<p> The unique identifier of the evaluator that produced this result. This matches the <code>evaluatorId</code> provided in the evaluation request and can be used to identify which evaluator generated specific results. </p>"
        },
        "evaluatorName":{
          "shape":"EvaluatorName",
          "documentation":"<p> The human-readable name of the evaluator used for this evaluation. For built-in evaluators, this is the descriptive name (e.g., \"Helpfulness\", \"Correctness\"); for custom evaluators, this is the user-defined name. </p>"
        },
        "explanation":{
          "shape":"EvaluationExplanation",
          "documentation":"<p> The detailed explanation provided by the evaluator describing the reasoning behind the assigned score. This qualitative feedback helps understand why specific ratings were given and provides actionable insights for improvement. </p>"
        },
        "context":{
          "shape":"Context",
          "documentation":"<p> The contextual information associated with this evaluation result, including span context details that identify the specific traces and sessions that were evaluated. </p>"
        },
        "value":{
          "shape":"Double",
          "documentation":"<p> The numerical score assigned by the evaluator according to its configured rating scale. For numerical scales, this is a decimal value within the defined range. This field is not allowed for categorical scales. </p>"
        },
        "label":{
          "shape":"String",
          "documentation":"<p> The categorical label assigned by the evaluator when using a categorical rating scale. This provides a human-readable description of the evaluation result (e.g., \"Excellent\", \"Good\", \"Poor\") corresponding to the numerical value. For numerical scales, this field is optional and provides a natural language explanation of what the value means (e.g., value 0.5 = \"Somewhat Helpful\"). </p>"
        },
        "tokenUsage":{
          "shape":"TokenUsage",
          "documentation":"<p> The token consumption statistics for this evaluation, including input tokens, output tokens, and total tokens used by the underlying language model during the evaluation process. </p>"
        },
        "errorMessage":{
          "shape":"EvaluationErrorMessage",
          "documentation":"<p> The error message describing what went wrong if the evaluation failed. Provides detailed information about evaluation failures to help diagnose and resolve issues with evaluator configuration or input data. </p>"
        },
        "errorCode":{
          "shape":"EvaluationErrorCode",
          "documentation":"<p> The error code indicating the type of failure that occurred during evaluation. Used to programmatically identify and handle different categories of evaluation errors. </p>"
        }
      },
      "documentation":"<p> The comprehensive result of an evaluation containing the score, explanation, evaluator metadata, and execution details. Provides both quantitative ratings and qualitative insights about agent performance. </p>"
    },
    "EvaluationResults":{
      "type":"list",
      "member":{"shape":"EvaluationResultContent"}
    },
    "EvaluationTarget":{
      "type":"structure",
      "members":{
        "spanIds":{
          "shape":"SpanIds",
          "documentation":"<p> The list of specific span IDs to evaluate within the provided traces. Used to target evaluation at individual tool calls or specific operations within the agent's execution flow. </p>"
        },
        "traceIds":{
          "shape":"TraceIds",
          "documentation":"<p> The list of trace IDs to evaluate, representing complete request-response interactions. Used to evaluate entire conversation turns or specific agent interactions within a session. </p>"
        }
      },
      "documentation":"<p> The specification of which trace or span IDs to evaluate within the provided input data. Allows precise targeting of evaluation at different levels: tool calls, traces, or sessions. </p>",
      "union":true
    },
    "EvaluatorArn":{
      "type":"string",
      "pattern":"arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:evaluator\\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$|^arn:aws:bedrock-agentcore:::evaluator/Builtin.[a-zA-Z0-9_-]+"
    },
    "EvaluatorId":{
      "type":"string",
      "pattern":"(Builtin.[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10})"
    },
    "EvaluatorName":{
      "type":"string",
      "pattern":"(Builtin.[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_]{0,47})"
    },
    "Event":{
      "type":"structure",
      "required":[
        "memoryId",
        "actorId",
        "sessionId",
        "eventId",
        "eventTimestamp",
        "payload"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource containing the event.</p>"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor associated with the event.</p>"
        },
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the session containing the event.</p>"
        },
        "eventId":{
          "shape":"EventId",
          "documentation":"<p>The unique identifier of the event.</p>"
        },
        "eventTimestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the event occurred.</p>"
        },
        "payload":{
          "shape":"PayloadTypeList",
          "documentation":"<p>The content payload of the event.</p>"
        },
        "branch":{
          "shape":"Branch",
          "documentation":"<p>The branch information for the event.</p>"
        },
        "metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>Metadata associated with an event.</p>"
        }
      },
      "documentation":"<p>Contains information about an event in an AgentCore Memory resource.</p>"
    },
    "EventId":{
      "type":"string",
      "pattern":"[0-9]+#[a-fA-F0-9]+"
    },
    "EventList":{
      "type":"list",
      "member":{"shape":"Event"}
    },
    "EventMetadataFilterExpression":{
      "type":"structure",
      "required":[
        "left",
        "operator"
      ],
      "members":{
        "left":{
          "shape":"LeftExpression",
          "documentation":"<p>Left operand of the event metadata filter expression.</p>"
        },
        "operator":{
          "shape":"OperatorType",
          "documentation":"<p>Operator applied to the event metadata filter expression.</p>"
        },
        "right":{
          "shape":"RightExpression",
          "documentation":"<p>Right operand of the event metadata filter expression.</p>"
        }
      },
      "documentation":"<p>Filter expression for retrieving events based on metadata associated with an event.</p>"
    },
    "EventMetadataFilterList":{
      "type":"list",
      "member":{"shape":"EventMetadataFilterExpression"},
      "max":5,
      "min":1
    },
    "ExternalProxy":{
      "type":"structure",
      "required":[
        "server",
        "port"
      ],
      "members":{
        "server":{
          "shape":"HostName",
          "documentation":"<p>The hostname of the proxy server. Must be a valid DNS hostname (maximum 253 characters).</p>"
        },
        "port":{
          "shape":"ExternalProxyPortInteger",
          "documentation":"<p>The port number of the proxy server. Valid range: 1-65535.</p>"
        },
        "domainPatterns":{
          "shape":"DomainPatterns",
          "documentation":"<p>Optional array of domain patterns that should route through this specific proxy. Supports <code>.example.com</code> for subdomain matching (matches any subdomain of example.com) or <code>example.com</code> for exact domain matching. If omitted, this proxy acts as a catch-all for domains not matched by other proxies. Maximum 100 patterns per proxy, each up to 253 characters.</p>"
        },
        "credentials":{
          "shape":"ProxyCredentials",
          "documentation":"<p>Optional authentication credentials for the proxy server. If omitted, the proxy is accessed without authentication (useful for IP-allowlisted proxies).</p>"
        }
      },
      "documentation":"<p>Configuration for a customer-managed external proxy server. Includes server location, optional domain-based routing patterns, and authentication credentials.</p>"
    },
    "ExternalProxyPortInteger":{
      "type":"integer",
      "box":true,
      "max":65535,
      "min":1
    },
    "ExtractionJob":{
      "type":"structure",
      "required":["jobId"],
      "members":{
        "jobId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the extraction job.</p>"
        }
      },
      "documentation":"<p>Represents the metadata of a memory extraction job such as the message identifiers that compose this job.</p>"
    },
    "ExtractionJobFilterInput":{
      "type":"structure",
      "members":{
        "strategyId":{
          "shape":"String",
          "documentation":"<p>The memory strategy identifier to filter extraction jobs by. If specified, only extraction jobs with this strategy ID are returned.</p>"
        },
        "sessionId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the session. If specified, only extraction jobs with this session ID are returned.</p>"
        },
        "actorId":{
          "shape":"String",
          "documentation":"<p>The identifier of the actor. If specified, only extraction jobs with this actor ID are returned.</p>"
        },
        "status":{
          "shape":"ExtractionJobStatus",
          "documentation":"<p>The status of the extraction job. If specified, only extraction jobs with this status are returned.</p>"
        }
      },
      "documentation":"<p>Filters for querying memory extraction jobs based on various criteria.</p>"
    },
    "ExtractionJobMessages":{
      "type":"structure",
      "members":{
        "messagesList":{
          "shape":"MessagesList",
          "documentation":"<p>The list of messages that compose this extraction job.</p>"
        }
      },
      "documentation":"<p>The list of messages that compose this extraction job.</p>",
      "union":true
    },
    "ExtractionJobMetadata":{
      "type":"structure",
      "required":[
        "jobID",
        "messages"
      ],
      "members":{
        "jobID":{
          "shape":"String",
          "documentation":"<p>The unique identifier for the extraction job.</p>"
        },
        "messages":{
          "shape":"ExtractionJobMessages",
          "documentation":"<p>The messages associated with the extraction job.</p>"
        },
        "status":{
          "shape":"ExtractionJobStatus",
          "documentation":"<p>The current status of the extraction job.</p>"
        },
        "failureReason":{
          "shape":"String",
          "documentation":"<p>The cause of failure, if the job did not complete successfully.</p>"
        },
        "strategyId":{
          "shape":"String",
          "documentation":"<p>The identifier of the memory strategy for this extraction job.</p>"
        },
        "sessionId":{
          "shape":"String",
          "documentation":"<p>The identifier of the session for this extraction job.</p>"
        },
        "actorId":{
          "shape":"String",
          "documentation":"<p>The identifier of the actor for this extraction job.</p>"
        }
      },
      "documentation":"<p>Metadata information associated with this extraction job.</p>"
    },
    "ExtractionJobMetadataList":{
      "type":"list",
      "member":{"shape":"ExtractionJobMetadata"}
    },
    "ExtractionJobStatus":{
      "type":"string",
      "enum":["FAILED"]
    },
    "FilterInput":{
      "type":"structure",
      "members":{
        "branch":{
          "shape":"BranchFilter",
          "documentation":"<p>The branch filter criteria to apply when listing events.</p>"
        },
        "eventMetadata":{
          "shape":"EventMetadataFilterList",
          "documentation":"<p>Event metadata filter criteria to apply when retrieving events.</p>"
        }
      },
      "documentation":"<p>Contains filter criteria for listing events.</p>"
    },
    "GetAgentCardRequest":{
      "type":"structure",
      "required":["agentRuntimeArn"],
      "members":{
        "runtimeSessionId":{
          "shape":"SessionType",
          "documentation":"<p>The session ID that the AgentCore Runtime agent is using. </p>",
          "idempotencyToken":true,
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "agentRuntimeArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the AgentCore Runtime agent for which you want to get the A2A agent card.</p>",
          "location":"uri",
          "locationName":"agentRuntimeArn"
        },
        "qualifier":{
          "shape":"String",
          "documentation":"<p>Optional qualifier to specify an agent alias, such as <code>prod</code>code&gt; or <code>dev</code>. If you don't provide a value, the DEFAULT alias is used. </p>",
          "location":"querystring",
          "locationName":"qualifier"
        }
      }
    },
    "GetAgentCardResponse":{
      "type":"structure",
      "required":["agentCard"],
      "members":{
        "runtimeSessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session associated with the AgentCore Runtime agent.</p>",
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "agentCard":{
          "shape":"AgentCard",
          "documentation":"<p>An agent card document that contains metadata and capabilities for an AgentCore Runtime agent.</p>"
        },
        "statusCode":{
          "shape":"HttpResponseCode",
          "documentation":"<p>The status code of the request.</p>",
          "location":"statusCode"
        }
      },
      "payload":"agentCard"
    },
    "GetBrowserSessionRequest":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser associated with the session.</p>",
          "location":"uri",
          "locationName":"browserIdentifier"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the browser session to retrieve.</p>",
          "location":"querystring",
          "locationName":"sessionId"
        }
      }
    },
    "GetBrowserSessionResponse":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "createdAt"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the browser.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The identifier of the browser session.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the browser session.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the browser session was created.</p>"
        },
        "viewPort":{"shape":"ViewPort"},
        "extensions":{
          "shape":"BrowserExtensions",
          "documentation":"<p>The list of browser extensions that are configured in the browser session.</p>"
        },
        "profileConfiguration":{
          "shape":"BrowserProfileConfiguration",
          "documentation":"<p>The browser profile configuration associated with this session. Contains the profile identifier that links to persistent browser data such as cookies and local storage.</p>"
        },
        "sessionTimeoutSeconds":{
          "shape":"BrowserSessionTimeout",
          "documentation":"<p>The timeout period for the browser session in seconds.</p>"
        },
        "status":{
          "shape":"BrowserSessionStatus",
          "documentation":"<p>The current status of the browser session. Possible values include ACTIVE, STOPPING, and STOPPED.</p>"
        },
        "streams":{
          "shape":"BrowserSessionStream",
          "documentation":"<p>The streams associated with this browser session. These include the automation stream and live view stream.</p>"
        },
        "proxyConfiguration":{
          "shape":"ProxyConfiguration",
          "documentation":"<p>The active proxy configuration for this browser session. This field is only present if proxy configuration was provided when the session was started using <code>StartBrowserSession</code>. The configuration includes proxy servers, domain bypass rules and the proxy authentication credentials.</p>"
        },
        "sessionReplayArtifact":{
          "shape":"String",
          "documentation":"<p>The artifact containing the session replay information.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the browser session was last updated.</p>"
        }
      }
    },
    "GetCodeInterpreterSessionRequest":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter associated with the session.</p>",
          "location":"uri",
          "locationName":"codeInterpreterIdentifier"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The unique identifier of the code interpreter session to retrieve.</p>",
          "location":"querystring",
          "locationName":"sessionId"
        }
      }
    },
    "GetCodeInterpreterSessionResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId",
        "createdAt"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the code interpreter.</p>"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The identifier of the code interpreter session.</p>"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the code interpreter session.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the code interpreter session was created.</p>"
        },
        "sessionTimeoutSeconds":{
          "shape":"CodeInterpreterSessionTimeout",
          "documentation":"<p>The timeout period for the code interpreter session in seconds.</p>"
        },
        "status":{
          "shape":"CodeInterpreterSessionStatus",
          "documentation":"<p>The current status of the code interpreter session. Possible values include ACTIVE, STOPPING, and STOPPED.</p>"
        }
      }
    },
    "GetEventInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "sessionId",
        "actorId",
        "eventId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource containing the event.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the session containing the event.</p>",
          "location":"uri",
          "locationName":"sessionId"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor associated with the event.</p>",
          "location":"uri",
          "locationName":"actorId"
        },
        "eventId":{
          "shape":"EventId",
          "documentation":"<p>The identifier of the event to retrieve.</p>",
          "location":"uri",
          "locationName":"eventId"
        }
      }
    },
    "GetEventOutput":{
      "type":"structure",
      "required":["event"],
      "members":{
        "event":{
          "shape":"Event",
          "documentation":"<p>The requested event information.</p>"
        }
      }
    },
    "GetMemoryRecordInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "memoryRecordId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource containing the memory record.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The identifier of the memory record to retrieve.</p>",
          "location":"uri",
          "locationName":"memoryRecordId"
        }
      }
    },
    "GetMemoryRecordOutput":{
      "type":"structure",
      "required":["memoryRecord"],
      "members":{
        "memoryRecord":{
          "shape":"MemoryRecord",
          "documentation":"<p>The requested memory record.</p>"
        }
      }
    },
    "GetResourceApiKeyRequest":{
      "type":"structure",
      "required":[
        "workloadIdentityToken",
        "resourceCredentialProviderName"
      ],
      "members":{
        "workloadIdentityToken":{
          "shape":"WorkloadIdentityTokenType",
          "documentation":"<p>The identity token of the workload from which you want to retrieve the API key.</p>"
        },
        "resourceCredentialProviderName":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The credential provider name for the resource from which you are retrieving the API key.</p>"
        }
      }
    },
    "GetResourceApiKeyResponse":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"ApiKeyType",
          "documentation":"<p>The API key associated with the resource requested.</p>"
        }
      }
    },
    "GetResourceOauth2TokenRequest":{
      "type":"structure",
      "required":[
        "workloadIdentityToken",
        "resourceCredentialProviderName",
        "scopes",
        "oauth2Flow"
      ],
      "members":{
        "workloadIdentityToken":{
          "shape":"WorkloadIdentityTokenType",
          "documentation":"<p>The identity token of the workload from which you want to retrieve the OAuth2 token.</p>"
        },
        "resourceCredentialProviderName":{
          "shape":"CredentialProviderName",
          "documentation":"<p>The name of the resource's credential provider.</p>"
        },
        "scopes":{
          "shape":"ScopesListType",
          "documentation":"<p>The OAuth scopes being requested.</p>"
        },
        "oauth2Flow":{
          "shape":"Oauth2FlowType",
          "documentation":"<p>The type of flow to be performed.</p>"
        },
        "sessionUri":{
          "shape":"RequestUri",
          "documentation":"<p>Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process.</p>"
        },
        "resourceOauth2ReturnUrl":{
          "shape":"ResourceOauth2ReturnUrlType",
          "documentation":"<p>The callback URL to redirect to after the OAuth 2.0 token retrieval is complete. This URL must be one of the provided URLs configured for the workload identity.</p>"
        },
        "forceAuthentication":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether to always initiate a new three-legged OAuth (3LO) flow, regardless of any existing session.</p>"
        },
        "customParameters":{
          "shape":"CustomRequestParametersType",
          "documentation":"<p>A map of custom parameters to include in the authorization request to the resource credential provider. These parameters are in addition to the standard OAuth 2.0 flow parameters, and will not override them.</p>"
        },
        "customState":{
          "shape":"State",
          "documentation":"<p>An opaque string that will be sent back to the callback URL provided in resourceOauth2ReturnUrl. This state should be used to protect the callback URL of your application against CSRF attacks by ensuring the response corresponds to the original request.</p>"
        }
      }
    },
    "GetResourceOauth2TokenResponse":{
      "type":"structure",
      "members":{
        "authorizationUrl":{
          "shape":"AuthorizationUrlType",
          "documentation":"<p>The URL to initiate the authorization process, provided when the access token requires user authorization.</p>"
        },
        "accessToken":{
          "shape":"AccessTokenType",
          "documentation":"<p>The OAuth 2.0 access token to use.</p>"
        },
        "sessionUri":{
          "shape":"RequestUri",
          "documentation":"<p>Unique identifier for the user's authorization session for retrieving OAuth2 tokens. This matches the sessionId from the request and can be used to track the session state.</p>"
        },
        "sessionStatus":{
          "shape":"SessionStatus",
          "documentation":"<p>Status indicating whether the user's authorization session is in progress or has failed. This helps determine the next steps in the OAuth2 authentication flow.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenForJWTRequest":{
      "type":"structure",
      "required":[
        "workloadName",
        "userToken"
      ],
      "members":{
        "workloadName":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The unique identifier for the registered workload.</p>"
        },
        "userToken":{
          "shape":"UserTokenType",
          "documentation":"<p>The OAuth 2.0 token issued by the user's identity provider.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenForJWTResponse":{
      "type":"structure",
      "required":["workloadAccessToken"],
      "members":{
        "workloadAccessToken":{
          "shape":"WorkloadIdentityTokenType",
          "documentation":"<p>An opaque token representing the identity of both the workload and the user.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenForUserIdRequest":{
      "type":"structure",
      "required":[
        "workloadName",
        "userId"
      ],
      "members":{
        "workloadName":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The name of the workload from which you want to retrieve the access token.</p>"
        },
        "userId":{
          "shape":"UserIdType",
          "documentation":"<p>The ID of the user for whom you are retrieving the access token.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenForUserIdResponse":{
      "type":"structure",
      "required":["workloadAccessToken"],
      "members":{
        "workloadAccessToken":{
          "shape":"WorkloadIdentityTokenType",
          "documentation":"<p>The access token for the specified workload.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenRequest":{
      "type":"structure",
      "required":["workloadName"],
      "members":{
        "workloadName":{
          "shape":"WorkloadIdentityNameType",
          "documentation":"<p>The unique identifier for the registered workload.</p>"
        }
      }
    },
    "GetWorkloadAccessTokenResponse":{
      "type":"structure",
      "required":["workloadAccessToken"],
      "members":{
        "workloadAccessToken":{
          "shape":"WorkloadIdentityTokenType",
          "documentation":"<p>An opaque token representing the identity of both the workload and the user.</p>"
        }
      }
    },
    "HostName":{
      "type":"string",
      "max":253,
      "min":1,
      "pattern":"[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*"
    },
    "HttpResponseCode":{
      "type":"integer",
      "box":true
    },
    "InputContentBlock":{
      "type":"structure",
      "required":["path"],
      "members":{
        "path":{
          "shape":"MaxLenString",
          "documentation":"<p>The path to the input content.</p>"
        },
        "text":{
          "shape":"MaxLenString",
          "documentation":"<p>The text input content.</p>"
        },
        "blob":{
          "shape":"Body",
          "documentation":"<p>The binary input content.</p>"
        }
      },
      "documentation":"<p>A block of input content.</p>"
    },
    "InputContentBlockList":{
      "type":"list",
      "member":{"shape":"InputContentBlock"}
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when the service encounters an unexpected internal error. This is a temporary condition that will resolve itself with retries. We recommend implementing exponential backoff retry logic in your application.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InvalidInputException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The input fails to satisfy the constraints specified by AgentCore. Check your input values and try again.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "InvokeAgentRuntimeRequest":{
      "type":"structure",
      "required":[
        "agentRuntimeArn",
        "payload"
      ],
      "members":{
        "contentType":{
          "shape":"MimeType",
          "documentation":"<p>The MIME type of the input data in the payload. This tells the agent runtime how to interpret the payload data. Common values include application/json for JSON data.</p>",
          "location":"header",
          "locationName":"Content-Type"
        },
        "accept":{
          "shape":"MimeType",
          "documentation":"<p>The desired MIME type for the response from the agent runtime. This tells the agent runtime what format to use for the response data. Common values include application/json for JSON data.</p>",
          "location":"header",
          "locationName":"Accept"
        },
        "mcpSessionId":{
          "shape":"StringType",
          "documentation":"<p>The identifier of the MCP session.</p>",
          "location":"header",
          "locationName":"Mcp-Session-Id"
        },
        "runtimeSessionId":{
          "shape":"SessionType",
          "documentation":"<p>The identifier of the runtime session.</p>",
          "idempotencyToken":true,
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "mcpProtocolVersion":{
          "shape":"StringType",
          "documentation":"<p>The version of the MCP protocol being used.</p>",
          "location":"header",
          "locationName":"Mcp-Protocol-Version"
        },
        "runtimeUserId":{
          "shape":"StringType",
          "documentation":"<p>The identifier of the runtime user.</p>",
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-User-Id"
        },
        "traceId":{
          "shape":"InvokeAgentRuntimeRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"InvokeAgentRuntimeRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "traceState":{
          "shape":"InvokeAgentRuntimeRequestTraceStateString",
          "documentation":"<p>The trace state information for distributed tracing.</p>",
          "location":"header",
          "locationName":"tracestate"
        },
        "baggage":{
          "shape":"InvokeAgentRuntimeRequestBaggageString",
          "documentation":"<p>Additional context information for distributed tracing.</p>",
          "location":"header",
          "locationName":"baggage"
        },
        "agentRuntimeArn":{
          "shape":"String",
          "documentation":"<p>The Amazon Web Services Resource Name (ARN) of the agent runtime to invoke. The ARN uniquely identifies the agent runtime resource in Amazon Bedrock AgentCore.</p>",
          "location":"uri",
          "locationName":"agentRuntimeArn"
        },
        "qualifier":{
          "shape":"String",
          "documentation":"<p>The qualifier to use for the agent runtime. This can be a version number or an endpoint name that points to a specific version. If not specified, Amazon Bedrock AgentCore uses the default version of the agent runtime.</p>",
          "location":"querystring",
          "locationName":"qualifier"
        },
        "accountId":{
          "shape":"InvokeAgentRuntimeRequestAccountIdString",
          "documentation":"<p>The identifier of the Amazon Web Services account for the agent runtime resource.</p>",
          "location":"querystring",
          "locationName":"accountId"
        },
        "payload":{
          "shape":"Body",
          "documentation":"<p>The input data to send to the agent runtime. The format of this data depends on the specific agent configuration and must match the specified content type. For most agents, this is a JSON object containing the user's request.</p>"
        }
      },
      "payload":"payload"
    },
    "InvokeAgentRuntimeRequestAccountIdString":{
      "type":"string",
      "pattern":"[0-9]{12}"
    },
    "InvokeAgentRuntimeRequestBaggageString":{
      "type":"string",
      "max":8192,
      "min":0
    },
    "InvokeAgentRuntimeRequestTraceIdString":{
      "type":"string",
      "max":128,
      "min":0
    },
    "InvokeAgentRuntimeRequestTraceParentString":{
      "type":"string",
      "max":128,
      "min":0
    },
    "InvokeAgentRuntimeRequestTraceStateString":{
      "type":"string",
      "max":512,
      "min":0
    },
    "InvokeAgentRuntimeResponse":{
      "type":"structure",
      "required":["contentType"],
      "members":{
        "runtimeSessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the runtime session.</p>",
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "mcpSessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the MCP session.</p>",
          "location":"header",
          "locationName":"Mcp-Session-Id"
        },
        "mcpProtocolVersion":{
          "shape":"String",
          "documentation":"<p>The version of the MCP protocol being used.</p>",
          "location":"header",
          "locationName":"Mcp-Protocol-Version"
        },
        "traceId":{
          "shape":"String",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"String",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "traceState":{
          "shape":"String",
          "documentation":"<p>The trace state information for distributed tracing.</p>",
          "location":"header",
          "locationName":"tracestate"
        },
        "baggage":{
          "shape":"String",
          "documentation":"<p>Additional context information for distributed tracing.</p>",
          "location":"header",
          "locationName":"baggage"
        },
        "contentType":{
          "shape":"String",
          "documentation":"<p>The MIME type of the response data. This indicates how to interpret the response data. Common values include application/json for JSON data.</p>",
          "location":"header",
          "locationName":"Content-Type"
        },
        "response":{
          "shape":"ResponseStream",
          "documentation":"<p>The response data from the agent runtime. The format of this data depends on the specific agent configuration and the requested accept type. For most agents, this is a JSON object containing the agent's response to the user's request.</p>"
        },
        "statusCode":{
          "shape":"HttpResponseCode",
          "documentation":"<p>The HTTP status code of the response. A status code of 200 indicates a successful operation. Other status codes indicate various error conditions.</p>",
          "location":"statusCode"
        }
      },
      "payload":"response"
    },
    "InvokeCodeInterpreterRequest":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "name"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter associated with the session. This must match the identifier used when creating the session with <code>StartCodeInterpreterSession</code>.</p>",
          "location":"uri",
          "locationName":"codeInterpreterIdentifier"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The unique identifier of the code interpreter session to use. This must be an active session created with <code>StartCodeInterpreterSession</code>. If the session has expired or been stopped, the request will fail.</p>",
          "location":"header",
          "locationName":"x-amzn-code-interpreter-session-id"
        },
        "traceId":{
          "shape":"InvokeCodeInterpreterRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"InvokeCodeInterpreterRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "name":{
          "shape":"ToolName",
          "documentation":"<p>The name of the code interpreter to invoke.</p>"
        },
        "arguments":{
          "shape":"ToolArguments",
          "documentation":"<p>The arguments for the code interpreter. This includes the code to execute and any additional parameters such as the programming language, whether to clear the execution context, and other execution options. The structure of this parameter depends on the specific code interpreter being used.</p>"
        }
      }
    },
    "InvokeCodeInterpreterRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "InvokeCodeInterpreterRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "InvokeCodeInterpreterResponse":{
      "type":"structure",
      "required":["stream"],
      "members":{
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The identifier of the code interpreter session.</p>",
          "location":"header",
          "locationName":"x-amzn-code-interpreter-session-id"
        },
        "stream":{
          "shape":"CodeInterpreterStreamOutput",
          "documentation":"<p>The stream containing the results of the code execution. This includes output, errors, and execution status.</p>"
        }
      },
      "payload":"stream"
    },
    "LeftExpression":{
      "type":"structure",
      "members":{
        "metadataKey":{
          "shape":"MetadataKey",
          "documentation":"<p>Key associated with the metadata in an event.</p>"
        }
      },
      "documentation":"<p>Left expression of the event metadata filter.</p>",
      "union":true
    },
    "ListActorsInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource for which to list actors.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        }
      }
    },
    "ListActorsOutput":{
      "type":"structure",
      "required":["actorSummaries"],
      "members":{
        "actorSummaries":{
          "shape":"ActorSummaryList",
          "documentation":"<p>The list of actor summaries.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>"
        }
      }
    },
    "ListBrowserSessionsRequest":{
      "type":"structure",
      "required":["browserIdentifier"],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser to list sessions for. If specified, only sessions for this browser are returned. If not specified, sessions for all browsers are returned.</p>",
          "location":"uri",
          "locationName":"browserIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. Valid values range from 1 to 100. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</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. If not specified, Amazon Bedrock AgentCore returns the first page of results.</p>"
        },
        "status":{
          "shape":"BrowserSessionStatus",
          "documentation":"<p>The status of the browser sessions to list. Valid values include ACTIVE, STOPPING, and STOPPED. If not specified, sessions with any status are returned.</p>"
        }
      }
    },
    "ListBrowserSessionsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"BrowserSessionSummaries",
          "documentation":"<p>The list of browser sessions that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use in a subsequent <code>ListBrowserSessions</code> request to get the next set of results.</p>"
        }
      }
    },
    "ListCodeInterpreterSessionsRequest":{
      "type":"structure",
      "required":["codeInterpreterIdentifier"],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter to list sessions for. If specified, only sessions for this code interpreter are returned. If not specified, sessions for all code interpreters are returned.</p>",
          "location":"uri",
          "locationName":"codeInterpreterIdentifier"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 10. Valid values range from 1 to 100. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</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. If not specified, Amazon Bedrock AgentCore returns the first page of results.</p>"
        },
        "status":{
          "shape":"CodeInterpreterSessionStatus",
          "documentation":"<p>The status of the code interpreter sessions to list. Valid values include ACTIVE, STOPPING, and STOPPED. If not specified, sessions with any status are returned.</p>"
        }
      }
    },
    "ListCodeInterpreterSessionsResponse":{
      "type":"structure",
      "required":["items"],
      "members":{
        "items":{
          "shape":"CodeInterpreterSessionSummaries",
          "documentation":"<p>The list of code interpreter sessions that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to use in a subsequent <code>ListCodeInterpreterSessions</code> request to get the next set of results.</p>"
        }
      }
    },
    "ListEventsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "sessionId",
        "actorId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource for which to list events.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The identifier of the session for which to list events.</p>",
          "location":"uri",
          "locationName":"sessionId"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor for which to list events.</p>",
          "location":"uri",
          "locationName":"actorId"
        },
        "includePayloads":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether to include event payloads in the response. Set to true to include payloads, or false to exclude them.</p>"
        },
        "filter":{
          "shape":"FilterInput",
          "documentation":"<p>Filter criteria to apply when listing events.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        }
      }
    },
    "ListEventsOutput":{
      "type":"structure",
      "required":["events"],
      "members":{
        "events":{
          "shape":"EventList",
          "documentation":"<p>The list of events that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>"
        }
      }
    },
    "ListMemoryExtractionJobsInput":{
      "type":"structure",
      "required":["memoryId"],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory to list extraction jobs for.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "maxResults":{
          "shape":"ListMemoryExtractionJobsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        },
        "filter":{
          "shape":"ExtractionJobFilterInput",
          "documentation":"<p>Filter criteria to apply when listing extraction jobs.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        }
      }
    },
    "ListMemoryExtractionJobsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":50,
      "min":1
    },
    "ListMemoryExtractionJobsOutput":{
      "type":"structure",
      "required":["jobs"],
      "members":{
        "jobs":{
          "shape":"ExtractionJobMetadataList",
          "documentation":"<p>List of extraction job metadata matching the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>Token to retrieve the next page of results, if available.</p>"
        }
      }
    },
    "ListMemoryRecordsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "namespace"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource for which to list memory records.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "namespace":{
          "shape":"Namespace",
          "documentation":"<p>The namespace prefix to filter memory records by. Returns all memory records in namespaces that start with the provided prefix.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The memory strategy identifier to filter memory records by. If specified, only memory records with this strategy ID are returned.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        }
      }
    },
    "ListMemoryRecordsOutput":{
      "type":"structure",
      "required":["memoryRecordSummaries"],
      "members":{
        "memoryRecordSummaries":{
          "shape":"MemoryRecordSummaryList",
          "documentation":"<p>The list of memory record summaries that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>"
        }
      }
    },
    "ListSessionsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "actorId"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource for which to list sessions.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor for which to list sessions. </p>",
          "location":"uri",
          "locationName":"actorId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        }
      }
    },
    "ListSessionsOutput":{
      "type":"structure",
      "required":["sessionSummaries"],
      "members":{
        "sessionSummaries":{
          "shape":"SessionSummaryList",
          "documentation":"<p>The list of session summaries that match the specified criteria.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>"
        }
      }
    },
    "LiveViewStream":{
      "type":"structure",
      "members":{
        "streamEndpoint":{
          "shape":"BrowserStreamEndpoint",
          "documentation":"<p>The endpoint URL for the live view stream. This URL is used to establish a connection to receive visual updates from the browser session.</p>"
        }
      },
      "documentation":"<p>The configuration for a stream that provides a visual representation of a browser session in Amazon Bedrock AgentCore. This stream enables agents to observe the current state of the browser, including rendered web pages, visual elements, and the results of interactions.</p>"
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "MaxLenString":{
      "type":"string",
      "max":100000000,
      "min":0
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "MemoryContent":{
      "type":"structure",
      "members":{
        "text":{
          "shape":"MemoryContentTextString",
          "documentation":"<p>The text content of the memory record.</p>"
        }
      },
      "documentation":"<p>Contains the content of a memory record.</p>",
      "union":true
    },
    "MemoryContentTextString":{
      "type":"string",
      "max":16000,
      "min":1,
      "sensitive":true
    },
    "MemoryId":{
      "type":"string",
      "min":12,
      "pattern":"[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}"
    },
    "MemoryMetadataFilterExpression":{
      "type":"structure",
      "required":[
        "left",
        "operator"
      ],
      "members":{
        "left":{"shape":"LeftExpression"},
        "operator":{
          "shape":"OperatorType",
          "documentation":"<p>The relationship between the metadata key and value to match when applying the metadata filter.</p>"
        },
        "right":{"shape":"RightExpression"}
      },
      "documentation":"<p>Filters to apply to metadata associated with a memory. Specify the metadata key and value in the <code>left</code> and <code>right</code> fields and use the <code>operator</code> field to define the relationship to match.</p>"
    },
    "MemoryMetadataFilterList":{
      "type":"list",
      "member":{"shape":"MemoryMetadataFilterExpression"},
      "max":1,
      "min":1
    },
    "MemoryRecord":{
      "type":"structure",
      "required":[
        "memoryRecordId",
        "content",
        "memoryStrategyId",
        "namespaces",
        "createdAt"
      ],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The unique identifier of the memory record.</p>"
        },
        "content":{
          "shape":"MemoryContent",
          "documentation":"<p>The content of the memory record.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The identifier of the memory strategy associated with this record.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with this memory record. Namespaces help organize and categorize memory records.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory record was created.</p>"
        },
        "metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>A map of metadata key-value pairs associated with a memory record.</p>"
        }
      },
      "documentation":"<p>Contains information about a memory record in an AgentCore Memory resource.</p>"
    },
    "MemoryRecordCreateInput":{
      "type":"structure",
      "required":[
        "requestIdentifier",
        "namespaces",
        "content",
        "timestamp"
      ],
      "members":{
        "requestIdentifier":{
          "shape":"RequestIdentifier",
          "documentation":"<p>A client-provided identifier for tracking this specific record creation request.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>A list of namespace identifiers that categorize or group the memory record.</p>"
        },
        "content":{
          "shape":"MemoryContent",
          "documentation":"<p>The content to be stored within the memory record.</p>"
        },
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>Time at which the memory record was created.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The ID of the memory strategy that defines how this memory record is grouped.</p>"
        }
      },
      "documentation":"<p>Input structure to create a new memory record.</p>"
    },
    "MemoryRecordDeleteInput":{
      "type":"structure",
      "required":["memoryRecordId"],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The unique ID of the memory record to be deleted.</p>"
        }
      },
      "documentation":"<p>Input structure to delete an existing memory record.</p>"
    },
    "MemoryRecordId":{
      "type":"string",
      "max":50,
      "min":40,
      "pattern":"mem-[a-zA-Z0-9-_]*"
    },
    "MemoryRecordOutput":{
      "type":"structure",
      "required":[
        "memoryRecordId",
        "status"
      ],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The unique ID associated to the memory record.</p>"
        },
        "status":{
          "shape":"MemoryRecordStatus",
          "documentation":"<p>The status of the memory record operation (e.g., SUCCEEDED, FAILED).</p>"
        },
        "requestIdentifier":{
          "shape":"RequestIdentifier",
          "documentation":"<p>The client-provided identifier that was used to track this record operation.</p>"
        },
        "errorCode":{
          "shape":"Integer",
          "documentation":"<p>The error code returned when the memory record operation fails.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>A human-readable error message describing why the memory record operation failed.</p>"
        }
      },
      "documentation":"<p>Output information returned after processing a memory record operation.</p>"
    },
    "MemoryRecordStatus":{
      "type":"string",
      "enum":[
        "SUCCEEDED",
        "FAILED"
      ]
    },
    "MemoryRecordSummary":{
      "type":"structure",
      "required":[
        "memoryRecordId",
        "content",
        "memoryStrategyId",
        "namespaces",
        "createdAt"
      ],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The unique identifier of the memory record.</p>"
        },
        "content":{
          "shape":"MemoryContent",
          "documentation":"<p>The content of the memory record.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The identifier of the memory strategy associated with this record.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The namespaces associated with this memory record.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the memory record was created.</p>"
        },
        "score":{
          "shape":"Double",
          "documentation":"<p>The relevance score of the memory record when returned as part of a search result. Higher values indicate greater relevance to the search query.</p>"
        },
        "metadata":{
          "shape":"MetadataMap",
          "documentation":"<p>A map of metadata key-value pairs associated with a memory record.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a memory record.</p>"
    },
    "MemoryRecordSummaryList":{
      "type":"list",
      "member":{"shape":"MemoryRecordSummary"}
    },
    "MemoryRecordUpdateInput":{
      "type":"structure",
      "required":[
        "memoryRecordId",
        "timestamp"
      ],
      "members":{
        "memoryRecordId":{
          "shape":"MemoryRecordId",
          "documentation":"<p>The unique ID of the memory record to be updated.</p>"
        },
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>Time at which the memory record was updated</p>"
        },
        "content":{
          "shape":"MemoryContent",
          "documentation":"<p>The content to be stored within the memory record.</p>"
        },
        "namespaces":{
          "shape":"NamespacesList",
          "documentation":"<p>The updated list of namespace identifiers for categorizing the memory record.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The updated ID of the memory strategy that defines how this memory record is grouped.</p>"
        }
      },
      "documentation":"<p>Input structure to update an existing memory record.</p>"
    },
    "MemoryRecordsCreateInputList":{
      "type":"list",
      "member":{"shape":"MemoryRecordCreateInput"},
      "max":100,
      "min":0
    },
    "MemoryRecordsDeleteInputList":{
      "type":"list",
      "member":{"shape":"MemoryRecordDeleteInput"},
      "max":100,
      "min":0
    },
    "MemoryRecordsOutputList":{
      "type":"list",
      "member":{"shape":"MemoryRecordOutput"}
    },
    "MemoryRecordsUpdateInputList":{
      "type":"list",
      "member":{"shape":"MemoryRecordUpdateInput"},
      "max":100,
      "min":0
    },
    "MemoryStrategyId":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9-_]*"
    },
    "MessageMetadata":{
      "type":"structure",
      "required":[
        "eventId",
        "messageIndex"
      ],
      "members":{
        "eventId":{
          "shape":"String",
          "documentation":"<p>The identifier of the event associated with this message.</p>"
        },
        "messageIndex":{
          "shape":"Integer",
          "documentation":"<p>The position of this message within that event’s ordered list of messages.</p>"
        }
      },
      "documentation":"<p>Metadata information associated with this message.</p>"
    },
    "MessagesList":{
      "type":"list",
      "member":{"shape":"MessageMetadata"}
    },
    "MetadataKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9\\s._:/=+@-]*"
    },
    "MetadataMap":{
      "type":"map",
      "key":{"shape":"MetadataKey"},
      "value":{"shape":"MetadataValue"},
      "max":15,
      "min":0
    },
    "MetadataValue":{
      "type":"structure",
      "members":{
        "stringValue":{
          "shape":"MetadataValueStringValueString",
          "documentation":"<p>Value associated with the <code>eventMetadata</code> key.</p>"
        }
      },
      "documentation":"<p>Value associated with the <code>eventMetadata</code> key.</p>",
      "union":true
    },
    "MetadataValueStringValueString":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[a-zA-Z0-9\\s._:/=+@-]*"
    },
    "MimeType":{
      "type":"string",
      "max":256,
      "min":1
    },
    "Name":{
      "type":"string",
      "max":100,
      "min":1
    },
    "Namespace":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"[a-zA-Z0-9/*][a-zA-Z0-9-_/*]*(?::[a-zA-Z0-9-_/*]+)*[a-zA-Z0-9-_/*]*"
    },
    "NamespacesList":{
      "type":"list",
      "member":{"shape":"Namespace"},
      "max":1,
      "min":0
    },
    "NextToken":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\S*"
    },
    "NonBlankString":{
      "type":"string",
      "pattern":"[\\s\\S]+"
    },
    "Oauth2FlowType":{
      "type":"string",
      "enum":[
        "USER_FEDERATION",
        "M2M"
      ]
    },
    "OperatorType":{
      "type":"string",
      "enum":[
        "EQUALS_TO",
        "EXISTS",
        "NOT_EXISTS"
      ]
    },
    "PaginationToken":{"type":"string"},
    "PayloadType":{
      "type":"structure",
      "members":{
        "conversational":{
          "shape":"Conversational",
          "documentation":"<p>The conversational content of the payload.</p>"
        },
        "blob":{
          "shape":"Document",
          "documentation":"<p>The binary content of the payload.</p>"
        }
      },
      "documentation":"<p>Contains the payload content for an event.</p>",
      "union":true
    },
    "PayloadTypeList":{
      "type":"list",
      "member":{"shape":"PayloadType"},
      "max":100,
      "min":0
    },
    "ProgrammingLanguage":{
      "type":"string",
      "enum":[
        "python",
        "javascript",
        "typescript"
      ]
    },
    "Proxy":{
      "type":"structure",
      "members":{
        "externalProxy":{
          "shape":"ExternalProxy",
          "documentation":"<p>Configuration for an external customer-managed proxy server.</p>"
        }
      },
      "documentation":"<p>Union type representing different proxy configurations. Currently supports external customer-managed proxies.</p>",
      "union":true
    },
    "ProxyBypass":{
      "type":"structure",
      "members":{
        "domainPatterns":{
          "shape":"DomainPatterns",
          "documentation":"<p>Array of domain patterns that should bypass the proxy. Supports <code>.amazonaws.com</code> for subdomain matching or <code>amazonaws.com</code> for exact domain matching. Requests to these domains connect directly without using any proxy. Maximum 253 characters per pattern.</p>"
        }
      },
      "documentation":"<p>Configuration for domains that should bypass all proxies and connect directly to the internet. These bypass rules take precedence over all proxy routing rules.</p>"
    },
    "ProxyConfiguration":{
      "type":"structure",
      "required":["proxies"],
      "members":{
        "proxies":{
          "shape":"ProxyConfigurationProxiesList",
          "documentation":"<p>An array of 1-5 proxy server configurations for domain-based routing. Each proxy can specify which domains it handles via <code>domainPatterns</code>, enabling flexible routing of different traffic through different proxies based on destination domain.</p>"
        },
        "bypass":{
          "shape":"ProxyBypass",
          "documentation":"<p>Optional configuration for domains that should bypass all proxies and connect directly to their destination, like the internet. Takes precedence over all proxy routing rules.</p>"
        }
      },
      "documentation":"<p>Configuration for routing browser traffic through customer-managed proxy servers. Supports 1-5 proxy servers for domain-based routing and proxy bypass rules.</p>"
    },
    "ProxyConfigurationProxiesList":{
      "type":"list",
      "member":{"shape":"Proxy"},
      "max":5,
      "min":1
    },
    "ProxyCredentials":{
      "type":"structure",
      "members":{
        "basicAuth":{
          "shape":"BasicAuth",
          "documentation":"<p>HTTP Basic Authentication credentials (username and password) stored in Amazon Web Services Secrets Manager.</p>"
        }
      },
      "documentation":"<p>Union type representing different proxy authentication methods. Currently supports HTTP Basic Authentication (username and password).</p>",
      "union":true
    },
    "RequestIdentifier":{
      "type":"string",
      "max":80,
      "min":1,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "RequestUri":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"urn:ietf:params:oauth:request_uri:[a-zA-Z0-9-._~]+"
    },
    "ResourceContent":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"ResourceContentType",
          "documentation":"<p>The type of resource content.</p>"
        },
        "uri":{
          "shape":"String",
          "documentation":"<p>The URI of the resource content.</p>"
        },
        "mimeType":{
          "shape":"String",
          "documentation":"<p>The MIME type of the resource content.</p>"
        },
        "text":{
          "shape":"String",
          "documentation":"<p>The text resource content.</p>"
        },
        "blob":{
          "shape":"Blob",
          "documentation":"<p>The binary resource content.</p>"
        }
      },
      "documentation":"<p>Contains information about resource content.</p>"
    },
    "ResourceContentType":{
      "type":"string",
      "enum":[
        "text",
        "blob"
      ]
    },
    "ResourceLocation":{
      "type":"structure",
      "members":{
        "s3":{
          "shape":"S3Location",
          "documentation":"<p>The Amazon S3 location of the resource. Use this when the resource is stored in an Amazon S3 bucket.</p>"
        }
      },
      "documentation":"<p>The location of the browser extension.</p>",
      "union":true
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when the specified resource does not exist. This can happen when using an invalid identifier or when trying to access a resource that has been deleted.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "ResourceOauth2ReturnUrlType":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"\\w+:(\\/?\\/?)[^\\s]+"
    },
    "ResponseStream":{
      "type":"blob",
      "sensitive":true,
      "streaming":true
    },
    "RetrieveMemoryRecordsInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "namespace",
        "searchCriteria"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The identifier of the AgentCore Memory resource from which to retrieve memory records.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "namespace":{
          "shape":"Namespace",
          "documentation":"<p>The namespace prefix to filter memory records by. Searches for memory records in namespaces that start with the provided prefix.</p>"
        },
        "searchCriteria":{
          "shape":"SearchCriteria",
          "documentation":"<p>The search criteria to use for finding relevant memory records. This includes the search query, memory strategy ID, and other search parameters.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "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>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return in a single call. The default value is 20.</p>"
        }
      }
    },
    "RetrieveMemoryRecordsOutput":{
      "type":"structure",
      "required":["memoryRecordSummaries"],
      "members":{
        "memoryRecordSummaries":{
          "shape":"MemoryRecordSummaryList",
          "documentation":"<p>The list of memory record summaries that match the search criteria, ordered by relevance.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>"
        }
      }
    },
    "RetryableConflictException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The exception that occurs when there is a retryable conflict performing an operation. This is a temporary condition that may resolve itself with retries. We recommend implementing exponential backoff retry logic in your application.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "RightExpression":{
      "type":"structure",
      "members":{
        "metadataValue":{
          "shape":"MetadataValue",
          "documentation":"<p>Value associated with the key in <code>eventMetadata</code>.</p>"
        }
      },
      "documentation":"<p>Right expression of the <code>eventMetadata</code>filter.</p>",
      "union":true
    },
    "Role":{
      "type":"string",
      "enum":[
        "ASSISTANT",
        "USER",
        "TOOL",
        "OTHER"
      ]
    },
    "RuntimeClientError":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when there is an error in the runtime client. This can happen due to network issues, invalid configuration, or other client-side problems. Check the error message for specific details about the error.</p>",
      "error":{
        "httpStatusCode":424,
        "senderFault":true
      },
      "exception":true
    },
    "S3Location":{
      "type":"structure",
      "required":[
        "bucket",
        "prefix"
      ],
      "members":{
        "bucket":{
          "shape":"S3LocationBucketString",
          "documentation":"<p>The name of the Amazon S3 bucket where the resource is stored.</p>"
        },
        "prefix":{
          "shape":"S3LocationPrefixString",
          "documentation":"<p>The name of the Amazon S3 prefix/key where the resource is stored.</p>"
        },
        "versionId":{
          "shape":"S3LocationVersionIdString",
          "documentation":"<p>The name of the Amazon S3 version ID where the resource is stored (Optional).</p>"
        }
      },
      "documentation":"<p>The Amazon S3 location configuration of a resource.</p>"
    },
    "S3LocationBucketString":{
      "type":"string",
      "max":63,
      "min":3,
      "pattern":"[a-z0-9][a-z0-9.-]*[a-z0-9]"
    },
    "S3LocationPrefixString":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "S3LocationVersionIdString":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "SaveBrowserSessionProfileRequest":{
      "type":"structure",
      "required":[
        "profileIdentifier",
        "browserIdentifier",
        "sessionId"
      ],
      "members":{
        "traceId":{
          "shape":"SaveBrowserSessionProfileRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"SaveBrowserSessionProfileRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "profileIdentifier":{
          "shape":"BrowserProfileId",
          "documentation":"<p>The unique identifier for the browser profile. This identifier is used to reference the profile when starting new browser sessions. The identifier must follow the pattern of an alphanumeric name (up to 48 characters) followed by a hyphen and a 10-character alphanumeric suffix.</p>",
          "location":"uri",
          "locationName":"profileIdentifier"
        },
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser associated with the session from which to save the profile.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the browser session from which to save the profile. The session must be active when saving the profile.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request, but does not return an error.</p>",
          "idempotencyToken":true
        }
      }
    },
    "SaveBrowserSessionProfileRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "SaveBrowserSessionProfileRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "SaveBrowserSessionProfileResponse":{
      "type":"structure",
      "required":[
        "profileIdentifier",
        "browserIdentifier",
        "sessionId",
        "lastUpdatedAt"
      ],
      "members":{
        "profileIdentifier":{
          "shape":"BrowserProfileId",
          "documentation":"<p>The unique identifier of the saved browser profile.</p>"
        },
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser associated with the session from which the profile was saved.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the browser session from which the profile was saved.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser profile was last updated. This value is in ISO 8601 format.</p>"
        }
      }
    },
    "ScopeType":{
      "type":"string",
      "max":128,
      "min":1
    },
    "ScopesListType":{
      "type":"list",
      "member":{"shape":"ScopeType"}
    },
    "SearchCriteria":{
      "type":"structure",
      "required":["searchQuery"],
      "members":{
        "searchQuery":{
          "shape":"SearchCriteriaSearchQueryString",
          "documentation":"<p>The search query to use for finding relevant memory records.</p>"
        },
        "memoryStrategyId":{
          "shape":"MemoryStrategyId",
          "documentation":"<p>The memory strategy identifier to filter memory records by.</p>"
        },
        "topK":{
          "shape":"SearchCriteriaTopKInteger",
          "documentation":"<p>The maximum number of top-scoring memory records to return. This value is used for semantic search ranking.</p>"
        },
        "metadataFilters":{
          "shape":"MemoryMetadataFilterList",
          "documentation":"<p>Filters to apply to metadata associated with a memory.</p>"
        }
      },
      "documentation":"<p>Contains search criteria for retrieving memory records.</p>"
    },
    "SearchCriteriaSearchQueryString":{
      "type":"string",
      "max":10000,
      "min":1,
      "sensitive":true
    },
    "SearchCriteriaTopKInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "SecretArn":{
      "type":"string",
      "pattern":"arn:aws:secretsmanager:[a-z0-9-]+:[0-9]{12}:secret:[a-zA-Z0-9/_+=.@-]+"
    },
    "ServiceException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The service encountered an internal error. Try your request again later.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when the request would cause a service quota to be exceeded. Review your service quotas and either reduce your request rate or request a quota increase.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SessionId":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[a-zA-Z0-9][a-zA-Z0-9-_]*"
    },
    "SessionStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "FAILED"
      ]
    },
    "SessionSummary":{
      "type":"structure",
      "required":[
        "sessionId",
        "actorId",
        "createdAt"
      ],
      "members":{
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The unique identifier of the session.</p>"
        },
        "actorId":{
          "shape":"ActorId",
          "documentation":"<p>The identifier of the actor associated with the session.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the session was created.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a session in an AgentCore Memory resource.</p>"
    },
    "SessionSummaryList":{
      "type":"list",
      "member":{"shape":"SessionSummary"}
    },
    "SessionType":{
      "type":"string",
      "max":256,
      "min":33
    },
    "Span":{
      "type":"structure",
      "members":{},
      "document":true
    },
    "SpanContext":{
      "type":"structure",
      "required":["sessionId"],
      "members":{
        "sessionId":{
          "shape":"String",
          "documentation":"<p> The unique identifier of the session containing this span. Sessions represent complete conversation flows and are detected using configurable <code>SessionTimeoutMinutes</code> (default 15 minutes). </p>"
        },
        "traceId":{
          "shape":"String",
          "documentation":"<p> The unique identifier of the trace containing this span. Traces represent individual request-response interactions within a session and group related spans together. </p>"
        },
        "spanId":{
          "shape":"String",
          "documentation":"<p> The unique identifier of the specific span being referenced. Spans represent individual operations like tool calls, model invocations, or other discrete actions within the agent's execution. </p>"
        }
      },
      "documentation":"<p> The contextual information that uniquely identifies a span within the distributed tracing system. Contains session, trace, and span identifiers used to correlate evaluation results with specific agent execution points. </p>"
    },
    "SpanId":{
      "type":"string",
      "max":16,
      "min":16
    },
    "SpanIds":{
      "type":"list",
      "member":{"shape":"SpanId"},
      "max":10,
      "min":1
    },
    "Spans":{
      "type":"list",
      "member":{"shape":"Span"},
      "max":1000,
      "min":1,
      "sensitive":true
    },
    "StartBrowserSessionRequest":{
      "type":"structure",
      "required":["browserIdentifier"],
      "members":{
        "traceId":{
          "shape":"StartBrowserSessionRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"StartBrowserSessionRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser to use for this session. This identifier specifies which browser environment to initialize for the session.</p>",
          "location":"uri",
          "locationName":"browserIdentifier"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the browser session. This name helps you identify and manage the session. The name does not need to be unique.</p>"
        },
        "sessionTimeoutSeconds":{
          "shape":"BrowserSessionTimeout",
          "documentation":"<p>The time in seconds after which the session automatically terminates if there is no activity. The default value is 3600 seconds (1 hour). The minimum allowed value is 60 seconds, and the maximum allowed value is 28800 seconds (8 hours).</p>"
        },
        "viewPort":{
          "shape":"ViewPort",
          "documentation":"<p>The dimensions of the browser viewport for this session. This determines the visible area of the web content and affects how web pages are rendered. If not specified, Amazon Bedrock AgentCore uses a default viewport size.</p>"
        },
        "extensions":{
          "shape":"BrowserExtensions",
          "documentation":"<p>A list of browser extensions to load into the browser session.</p>"
        },
        "profileConfiguration":{
          "shape":"BrowserProfileConfiguration",
          "documentation":"<p>The browser profile configuration to use for this session. A browser profile contains persistent data such as cookies and local storage that can be reused across multiple browser sessions. If specified, the session initializes with the profile's stored data, enabling continuity for tasks that require authentication or personalized settings.</p>"
        },
        "proxyConfiguration":{
          "shape":"ProxyConfiguration",
          "documentation":"<p>Optional proxy configuration for routing browser traffic through customer-specified proxy servers. When provided, enables HTTP Basic authentication via Amazon Web Services Secrets Manager and domain-based routing rules. Requires <code>secretsmanager:GetSecretValue</code> IAM permission for the specified secret ARNs.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request, but does not return an error. This parameter helps prevent the creation of duplicate sessions if there are temporary network issues.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StartBrowserSessionRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StartBrowserSessionRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StartBrowserSessionResponse":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "createdAt"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the browser.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the created browser session.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the browser session was created.</p>"
        },
        "streams":{
          "shape":"BrowserSessionStream",
          "documentation":"<p>The streams associated with this browser session. These include the automation stream and live view stream.</p>"
        }
      }
    },
    "StartCodeInterpreterSessionRequest":{
      "type":"structure",
      "required":["codeInterpreterIdentifier"],
      "members":{
        "traceId":{
          "shape":"StartCodeInterpreterSessionRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"StartCodeInterpreterSessionRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter to use for this session. This identifier specifies which code interpreter environment to initialize for the session.</p>",
          "location":"uri",
          "locationName":"codeInterpreterIdentifier"
        },
        "name":{
          "shape":"Name",
          "documentation":"<p>The name of the code interpreter session. This name helps you identify and manage the session. The name does not need to be unique.</p>"
        },
        "sessionTimeoutSeconds":{
          "shape":"CodeInterpreterSessionTimeout",
          "documentation":"<p>The time in seconds after which the session automatically terminates if there is no activity. The default value is 900 seconds (15 minutes). The minimum allowed value is 60 seconds, and the maximum allowed value is 28800 seconds (8 hours).</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request, but does not return an error. This parameter helps prevent the creation of duplicate sessions if there are temporary network issues.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StartCodeInterpreterSessionRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StartCodeInterpreterSessionRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StartCodeInterpreterSessionResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId",
        "createdAt"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the code interpreter.</p>"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The unique identifier of the created code interpreter session.</p>"
        },
        "createdAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the code interpreter session was created.</p>"
        }
      }
    },
    "StartMemoryExtractionJobInput":{
      "type":"structure",
      "required":[
        "memoryId",
        "extractionJob"
      ],
      "members":{
        "memoryId":{
          "shape":"MemoryId",
          "documentation":"<p>The unique identifier of the memory for which to start extraction jobs.</p>",
          "location":"uri",
          "locationName":"memoryId"
        },
        "extractionJob":{
          "shape":"ExtractionJob",
          "documentation":"<p>Extraction job to start in this operation.</p>"
        },
        "clientToken":{
          "shape":"String",
          "documentation":"<p>A unique, case-sensitive identifier to ensure idempotent processing of the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StartMemoryExtractionJobOutput":{
      "type":"structure",
      "required":["jobId"],
      "members":{
        "jobId":{
          "shape":"String",
          "documentation":"<p>Extraction Job ID that was attempted to start.</p>"
        }
      }
    },
    "State":{
      "type":"string",
      "max":4096,
      "min":1,
      "sensitive":true
    },
    "StopBrowserSessionRequest":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId"
      ],
      "members":{
        "traceId":{
          "shape":"StopBrowserSessionRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"StopBrowserSessionRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the browser associated with the session.</p>",
          "location":"uri",
          "locationName":"browserIdentifier"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The unique identifier of the browser session to stop.</p>",
          "location":"querystring",
          "locationName":"sessionId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request, but does not return an error.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StopBrowserSessionRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StopBrowserSessionRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StopBrowserSessionResponse":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "lastUpdatedAt"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the browser.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The identifier of the browser session.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the browser session was last updated.</p>"
        }
      }
    },
    "StopCodeInterpreterSessionRequest":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId"
      ],
      "members":{
        "traceId":{
          "shape":"StopCodeInterpreterSessionRequestTraceIdString",
          "documentation":"<p>The trace identifier for request tracking.</p>",
          "location":"header",
          "locationName":"X-Amzn-Trace-Id"
        },
        "traceParent":{
          "shape":"StopCodeInterpreterSessionRequestTraceParentString",
          "documentation":"<p>The parent trace information for distributed tracing.</p>",
          "location":"header",
          "locationName":"traceparent"
        },
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the code interpreter associated with the session.</p>",
          "location":"uri",
          "locationName":"codeInterpreterIdentifier"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The unique identifier of the code interpreter session to stop.</p>",
          "location":"querystring",
          "locationName":"sessionId"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request, but does not return an error.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StopCodeInterpreterSessionRequestTraceIdString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StopCodeInterpreterSessionRequestTraceParentString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "StopCodeInterpreterSessionResponse":{
      "type":"structure",
      "required":[
        "codeInterpreterIdentifier",
        "sessionId",
        "lastUpdatedAt"
      ],
      "members":{
        "codeInterpreterIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the code interpreter.</p>"
        },
        "sessionId":{
          "shape":"CodeInterpreterSessionId",
          "documentation":"<p>The identifier of the code interpreter session.</p>"
        },
        "lastUpdatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The timestamp when the code interpreter session was last updated.</p>"
        }
      }
    },
    "StopRuntimeSessionRequest":{
      "type":"structure",
      "required":[
        "runtimeSessionId",
        "agentRuntimeArn"
      ],
      "members":{
        "runtimeSessionId":{
          "shape":"SessionType",
          "documentation":"<p>The ID of the session that you want to stop.</p>",
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "agentRuntimeArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the agent that contains the session that you want to stop.</p>",
          "location":"uri",
          "locationName":"agentRuntimeArn"
        },
        "qualifier":{
          "shape":"String",
          "documentation":"<p>Optional qualifier to specify an agent alias, such as <code>prod</code>code&gt; or <code>dev</code>. If you don't provide a value, the DEFAULT alias is used. </p>",
          "location":"querystring",
          "locationName":"qualifier"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>Idempotent token used to identify the request. If you use the same token with multiple requests, the same response is returned. Use ClientToken to prevent the same request from being processed more than once.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StopRuntimeSessionResponse":{
      "type":"structure",
      "members":{
        "runtimeSessionId":{
          "shape":"SessionId",
          "documentation":"<p>The ID of the session that you requested to stop.</p>",
          "location":"header",
          "locationName":"X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
        },
        "statusCode":{
          "shape":"HttpResponseCode",
          "documentation":"<p>The status code of the request to stop the session.</p>",
          "location":"statusCode"
        }
      }
    },
    "StreamUpdate":{
      "type":"structure",
      "members":{
        "automationStreamUpdate":{
          "shape":"AutomationStreamUpdate",
          "documentation":"<p>The update to an automation stream.</p>"
        }
      },
      "documentation":"<p>Contains information about an update to a stream.</p>",
      "union":true
    },
    "String":{"type":"string"},
    "StringList":{
      "type":"list",
      "member":{"shape":"MaxLenString"}
    },
    "StringType":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "TaskStatus":{
      "type":"string",
      "enum":[
        "submitted",
        "working",
        "completed",
        "canceled",
        "failed"
      ]
    },
    "ThrottledException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request was denied due to request throttling. Reduce the frequency of requests and try again.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>The exception that occurs when the request was denied due to request throttling. This happens when you exceed the allowed request rate for an operation. Reduce the frequency of requests or implement exponential backoff retry logic in your application.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "Timestamp":{"type":"timestamp"},
    "TokenUsage":{
      "type":"structure",
      "members":{
        "inputTokens":{
          "shape":"Integer",
          "documentation":"<p> The number of tokens consumed for input processing during the evaluation. Includes tokens from the evaluation prompt, agent traces, and any additional context provided to the evaluator model. </p>"
        },
        "outputTokens":{
          "shape":"Integer",
          "documentation":"<p> The number of tokens generated by the evaluator model in its response. Includes tokens for the score, explanation, and any additional output produced during the evaluation process. </p>"
        },
        "totalTokens":{
          "shape":"Integer",
          "documentation":"<p> The total number of tokens consumed during the evaluation, calculated as the sum of input and output tokens. Used for cost calculation and rate limiting within the service limits. </p>"
        }
      },
      "documentation":"<p> The token consumption statistics for language model operations during evaluation. Provides detailed breakdown of input, output, and total tokens used for cost tracking and performance monitoring. </p>"
    },
    "ToolArguments":{
      "type":"structure",
      "members":{
        "code":{
          "shape":"MaxLenString",
          "documentation":"<p>The code to execute in a code interpreter session. This is the source code in the specified programming language that will be executed by the code interpreter.</p>"
        },
        "language":{
          "shape":"ProgrammingLanguage",
          "documentation":"<p>The programming language of the code to execute. This tells the code interpreter which language runtime to use for execution. Common values include 'python', 'javascript', and 'r'.</p>"
        },
        "clearContext":{
          "shape":"Boolean",
          "documentation":"<p>Whether to clear the context for the tool.</p>"
        },
        "command":{
          "shape":"MaxLenString",
          "documentation":"<p>The command to execute with the tool.</p>"
        },
        "path":{
          "shape":"MaxLenString",
          "documentation":"<p>The path for the tool operation.</p>"
        },
        "paths":{
          "shape":"StringList",
          "documentation":"<p>The paths for the tool operation.</p>"
        },
        "content":{
          "shape":"InputContentBlockList",
          "documentation":"<p>The content for the tool operation.</p>"
        },
        "directoryPath":{
          "shape":"MaxLenString",
          "documentation":"<p>The directory path for the tool operation.</p>"
        },
        "taskId":{
          "shape":"MaxLenString",
          "documentation":"<p>The identifier of the task for the tool operation.</p>"
        }
      },
      "documentation":"<p>The collection of arguments that specify the operation to perform and its parameters when invoking a tool in Amazon Bedrock AgentCore. Different tools require different arguments, and this structure provides a flexible way to pass the appropriate arguments to each tool type.</p>"
    },
    "ToolName":{
      "type":"string",
      "enum":[
        "executeCode",
        "executeCommand",
        "readFiles",
        "listFiles",
        "removeFiles",
        "writeFiles",
        "startCommandExecution",
        "getTask",
        "stopTask"
      ]
    },
    "ToolResultStructuredContent":{
      "type":"structure",
      "members":{
        "taskId":{
          "shape":"String",
          "documentation":"<p>The identifier of the task that produced the result.</p>"
        },
        "taskStatus":{
          "shape":"TaskStatus",
          "documentation":"<p>The status of the task that produced the result.</p>"
        },
        "stdout":{
          "shape":"String",
          "documentation":"<p>The standard output from the tool execution.</p>"
        },
        "stderr":{
          "shape":"String",
          "documentation":"<p>The standard error output from the tool execution.</p>"
        },
        "exitCode":{
          "shape":"Integer",
          "documentation":"<p>The exit code from the tool execution.</p>"
        },
        "executionTime":{
          "shape":"Double",
          "documentation":"<p>The execution time of the tool operation in milliseconds.</p>"
        }
      },
      "documentation":"<p>Contains structured content from a tool result.</p>"
    },
    "TraceId":{
      "type":"string",
      "max":32,
      "min":32
    },
    "TraceIds":{
      "type":"list",
      "member":{"shape":"TraceId"},
      "max":10,
      "min":1
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"NonBlankString"}
      },
      "documentation":"<p>This exception is thrown when the JWT bearer token is invalid or not found for OAuth bearer token based access</p>",
      "error":{
        "httpStatusCode":401,
        "senderFault":true
      },
      "exception":true
    },
    "UpdateBrowserStreamRequest":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "streamUpdate"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the browser.</p>",
          "location":"uri",
          "locationName":"browserIdentifier"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The identifier of the browser session.</p>",
          "location":"querystring",
          "locationName":"sessionId"
        },
        "streamUpdate":{
          "shape":"StreamUpdate",
          "documentation":"<p>The update to apply to the browser stream.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error.</p>",
          "idempotencyToken":true
        }
      }
    },
    "UpdateBrowserStreamResponse":{
      "type":"structure",
      "required":[
        "browserIdentifier",
        "sessionId",
        "streams",
        "updatedAt"
      ],
      "members":{
        "browserIdentifier":{
          "shape":"String",
          "documentation":"<p>The identifier of the browser.</p>"
        },
        "sessionId":{
          "shape":"BrowserSessionId",
          "documentation":"<p>The identifier of the browser session.</p>"
        },
        "streams":{"shape":"BrowserSessionStream"},
        "updatedAt":{
          "shape":"DateTimestamp",
          "documentation":"<p>The time at which the browser stream was updated.</p>"
        }
      }
    },
    "UserIdType":{
      "type":"string",
      "max":128,
      "min":1
    },
    "UserIdentifier":{
      "type":"structure",
      "members":{
        "userToken":{
          "shape":"UserTokenType",
          "documentation":"<p>The OAuth2.0 token issued by the user’s identity provider</p>"
        },
        "userId":{
          "shape":"UserIdType",
          "documentation":"<p>The ID of the user for whom you have retrieved a workload access token for</p>"
        }
      },
      "documentation":"<p>The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens.</p>",
      "union":true
    },
    "UserTokenType":{
      "type":"string",
      "max":131072,
      "min":1,
      "pattern":"[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+",
      "sensitive":true
    },
    "ValidationException":{
      "type":"structure",
      "required":[
        "message",
        "reason"
      ],
      "members":{
        "message":{"shape":"String"},
        "reason":{"shape":"ValidationExceptionReason"},
        "fieldList":{"shape":"ValidationExceptionFieldList"}
      },
      "documentation":"<p>The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "name",
        "message"
      ],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the field.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>A message describing why this field failed validation.</p>"
        }
      },
      "documentation":"<p>Stores information about a field passed inside a request that resulted in an exception.</p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "CannotParse",
        "FieldValidationFailed",
        "IdempotentParameterMismatchException",
        "EventInOtherSession",
        "ResourceConflict"
      ]
    },
    "ViewPort":{
      "type":"structure",
      "required":[
        "width",
        "height"
      ],
      "members":{
        "width":{
          "shape":"ViewPortWidth",
          "documentation":"<p>The width of the viewport in pixels. This value determines the horizontal dimension of the visible area. Valid values range from 800 to 1920 pixels.</p>"
        },
        "height":{
          "shape":"ViewPortHeight",
          "documentation":"<p>The height of the viewport in pixels. This value determines the vertical dimension of the visible area. Valid values range from 600 to 1080 pixels.</p>"
        }
      },
      "documentation":"<p>The configuration that defines the dimensions of a browser viewport in a browser session. The viewport determines the visible area of web content and affects how web pages are rendered and displayed. Proper viewport configuration ensures that web content is displayed correctly for the agent's browsing tasks.</p>"
    },
    "ViewPortHeight":{
      "type":"integer",
      "box":true,
      "max":2160,
      "min":240
    },
    "ViewPortWidth":{
      "type":"integer",
      "box":true,
      "max":3840,
      "min":320
    },
    "WorkloadIdentityNameType":{
      "type":"string",
      "max":255,
      "min":3,
      "pattern":"[A-Za-z0-9_.-]+"
    },
    "WorkloadIdentityTokenType":{
      "type":"string",
      "max":131072,
      "min":1,
      "sensitive":true
    }
  },
  "documentation":"<p>Welcome to the Amazon Bedrock AgentCore Data Plane API reference. Data Plane actions process and handle data or workloads within Amazon Web Services services. </p>"
}
