Skip to content

admin_list_user_auth_events async

admin_list_user_auth_events(
    user_pool_id: UserPoolIdType,
    username: UsernameType,
    *,
    config_overrides: Optional[AsyncCognitoIdentityProviderClientConfig] = None,
    max_results: Optional[QueryLimitType] = None,
    next_token: Optional[PaginationKey] = None,
) -> AdminListUserAuthEventsResponse

Requests a history of user activity and any risks detected as part of Amazon Cognito threat protection. For more information, see Viewing user event history.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

Parameters:

  • user_pool_id (UserPoolIdType) –

    The Id of the user pool that contains the user profile with the logged events.

  • username (UsernameType) –

    The name of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

  • max_results (Optional[QueryLimitType], default: None ) –

    The maximum number of authentication events to return. Returns 60 events if you set MaxResults to 0, or if you don't include a MaxResults parameter.

  • next_token (Optional[PaginationKey], default: None ) –

    This API operation returns a limited number of results. The pagination token is an identifier that you can present in an additional API request with the same parameters. When you include the pagination token, Amazon Cognito returns the next set of items after the current list. Subsequent requests return a new pagination token. By use of this token, you can paginate through the full list of items.

Raises:

Source code in docs_src/capo_cognito_identity_provider/_services/async_cognito_identity_provider.py
async def admin_list_user_auth_events(
    self,
    user_pool_id: "capo_cognito_identity_provider.types.user_pool_id_type.UserPoolIdType",
    username: "capo_cognito_identity_provider.types.username_type.UsernameType",
    *,
    config_overrides: Optional[AsyncCognitoIdentityProviderClientConfig] = None,
    max_results: Optional[
        "capo_cognito_identity_provider.types.query_limit_type.QueryLimitType"
    ] = None,
    next_token: Optional[
        "capo_cognito_identity_provider.types.pagination_key.PaginationKey"
    ] = None,
) -> "capo_cognito_identity_provider.types.admin_list_user_auth_events_response.AdminListUserAuthEventsResponse":
    """<p>Requests a history of user activity and any risks detected as part of Amazon Cognito threat protection. For more information, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-event-user-history">Viewing user event history</a>.</p> <note> <p>Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.</p> <p class="title"> <b>Learn more</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html">Signing Amazon Web Services API Requests</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html">Using the Amazon Cognito user pools API and user pool endpoints</a> </p> </li> </ul> </note>

    Args:
        user_pool_id: <p>The Id of the user pool that contains the user profile with the logged events.</p>
        username: <p>The name of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If <code>username</code> isn't an alias attribute in your user pool, this value must be the <code>sub</code> of a local user or the username of a user from a third-party IdP.</p>
        max_results: <p>The maximum number of authentication events to return. Returns 60 events if you set <code>MaxResults</code> to 0, or if you don't include a <code>MaxResults</code> parameter.</p>
        next_token: <p>This API operation returns a limited number of results. The pagination token is an identifier that you can present in an additional API request with the same parameters. When you include the pagination token, Amazon Cognito returns the next set of items after the current list. Subsequent requests return a new pagination token. By use of this token, you can paginate through the full list of items.</p>

    Raises:
        capo_cognito_identity_provider.errors.internal_error_exception.InternalErrorException: <p>This exception is thrown when Amazon Cognito encounters an internal error.</p>
        capo_cognito_identity_provider.errors.invalid_parameter_exception.InvalidParameterException: <p>This exception is thrown when the Amazon Cognito service encounters an invalid parameter.</p>
        capo_cognito_identity_provider.errors.not_authorized_exception.NotAuthorizedException: <p>This exception is thrown when a user isn't authorized.</p>
        capo_cognito_identity_provider.errors.operation_not_enabled_exception.OperationNotEnabledException: <p>This exception is thrown when an operation is not available in the current region or for the current user pool configuration. This can occur when attempting to perform operations that are not supported in secondary replica regions.</p>
        capo_cognito_identity_provider.errors.resource_not_found_exception.ResourceNotFoundException: <p>This exception is thrown when the Amazon Cognito service can't find the requested resource.</p>
        capo_cognito_identity_provider.errors.too_many_requests_exception.TooManyRequestsException: <p>This exception is thrown when the user has made too many requests for a given operation.</p>
        capo_cognito_identity_provider.errors.user_not_found_exception.UserNotFoundException: <p>This exception is thrown when a user isn't found.</p>
        capo_cognito_identity_provider.errors.user_pool_add_on_not_enabled_exception.UserPoolAddOnNotEnabledException: <p>This exception is thrown when user pool add-ons aren't enabled.</p>
        capo_cognito_identity_provider.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_cognito_identity_provider.types.admin_list_user_auth_events_request.AdminListUserAuthEventsRequest]",
    ) -> AsyncOperationResponse[
        "capo_cognito_identity_provider.types.admin_list_user_auth_events_response.AdminListUserAuthEventsResponse"
    ]:
        import capo_cognito_identity_provider._operations.aws_cognito_identity_provider_service.admin_list_user_auth_events

        (
            output,
            http_response,
        ) = await capo_cognito_identity_provider._operations.aws_cognito_identity_provider_service.admin_list_user_auth_events.async_admin_list_user_auth_events(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_cognito_identity_provider.types.admin_list_user_auth_events_request.AdminListUserAuthEventsRequest",
    ) -> dict[str, Any]:
        import capo_cognito_identity_provider.types.admin_list_user_auth_events_request

        return capo_cognito_identity_provider.types.admin_list_user_auth_events_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("AdminListUserAuthEvents", redact_input=_redact_input),
    )
    input_: capo_cognito_identity_provider.types.admin_list_user_auth_events_request.AdminListUserAuthEventsRequest = {
        "user_pool_id": user_pool_id,
        "username": username,
    }
    if max_results is not None:
        input_["max_results"] = max_results
    if next_token is not None:
        input_["next_token"] = next_token

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output