Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

Cognito operations

Every Cognito operation Overcast declares — 70 of 70 implemented — with status, behaviour notes and a link to the AWS API reference for each.

All 70 listed operations are implemented. Back to Cognito.

Summary

Category✅ Supported
User Pool operations7
User Pool Client operations5
User operations10
Auth / Token operations32
Group operations9
User Pool Domain operations4
Tags3

Endpoints

User Pool operations

OperationStatusNotesAWS Docs
CreateUserPool✅ SupportedReturns Id and Arn; Id format {region}_{8-char-hex}; accepts SignInPolicy, email templates, UserAttributeUpdateSettings, AutoVerifiedAttributes (email/phone_number, rejecting any other value with InvalidParameterException), DeviceConfiguration, AliasAttributes, AccountRecoverySetting, SmsConfiguration, SmsAuthenticationMessage, SmsVerificationMessage, EmailVerificationMessage, EmailVerificationSubject, and LambdaConfig; LambdaConfig’s PreSignUp, PostConfirmation, PreTokenGeneration, PostAuthentication, and CustomMessage are invoked on the classic X-Amz-Target API (issue #1171); PreAuthentication, UserMigration, the CUSTOM_AUTH challenge triggers (#88/#94/#101), and the Smithy RPC v2 duplicate dispatch path are not; a LITE-tier UserPoolTier rejects a SignInPolicy with FeatureUnavailableInTierException, matching AWS’s Essentials-tier gate on choice-based sign-indocs
DescribeUserPool✅ SupportedReturns SignInPolicy, email templates, admin config, email configuration, UserAttributeUpdateSettings, AliasAttributes, AccountRecoverySetting, SmsConfiguration, SmsAuthenticationMessage, SmsVerificationMessage, EmailVerificationMessage, EmailVerificationSubject, and LambdaConfigdocs
DeleteUserPool✅ SupportedResourceNotFoundException if not founddocs
UpdateUserPool✅ SupportedUpdates SignInPolicy, VerificationMessageTemplate, AdminCreateUserConfig, EmailConfiguration, UserAttributeUpdateSettings, AutoVerifiedAttributes, DeviceConfiguration, AccountRecoverySetting, SmsConfiguration, SmsAuthenticationMessage, SmsVerificationMessage, EmailVerificationMessage, EmailVerificationSubject, and LambdaConfig; the CloudFormation UserPool handler treats an AliasAttributes/UsernameAttributes change as requiring replacement, matching real Cognito’s UpdateUserPoolRequest (neither is a member there); rejects an invalid UserPoolTier value, and rejects a LITE-tier pool’s SignInPolicy update with FeatureUnavailableInTierExceptiondocs
ListUserPools✅ SupportedPagination via NextTokendocs
SetUserPoolMfaConfig✅ SupportedStores and echoes MfaConfiguration, SmsMfaConfiguration, SoftwareTokenMfaConfiguration, EmailMfaConfiguration and WebAuthnConfiguration; replaces the MFA configuration as a unit, so a factor the request omits is cleared and an omitted MfaConfiguration means OFF; rejects ON/OPTIONAL with no factor enabled and OFF with a factor configured, and validates the {####} message templates and the Essentials tier for email MFA; MfaConfiguration and SmsMfaConfiguration/SoftwareTokenMfaConfiguration are enforced at sign-in (SMS_MFA, SELECT_MFA_TYPE and MFA_SETUP challenges, with SmsAuthenticationMessage expanded for the delivered code); EmailMfaConfiguration stays configuration-only and issues no challenge; passkey cryptographic validation is intentionally partialdocs
GetUserPoolMfaConfig✅ SupportedReturns the stored MfaConfiguration (OFF for a pool that has never been configured), SmsMfaConfiguration, SoftwareTokenMfaConfiguration, EmailMfaConfiguration and WebAuthnConfigurationdocs

User Pool Client operations

OperationStatusNotesAWS Docs
CreateUserPoolClient✅ SupportedReturns ClientId (26-char hex); accepts and validates ExplicitAuthFlows, AccessTokenValidity, IdTokenValidity, RefreshTokenValidity, TokenValidityUnits, PreventUserExistenceErrors, ReadAttributes, WriteAttributes; ALLOW_USER_AUTH on a LITE-tier pool returns FeatureUnavailableInTierException, matching AWS’s Essentials-tier gate on choice-based sign-indocs
DescribeUserPoolClient✅ SupportedResourceNotFoundException if not founddocs
DeleteUserPoolClient✅ SupportedResourceNotFoundException if not founddocs
UpdateUserPoolClient✅ SupportedUpdates client name, validates ExplicitAuthFlows, token validity, PreventUserExistenceErrors, ReadAttributes, WriteAttributes; ALLOW_USER_AUTH on a LITE-tier pool returns FeatureUnavailableInTierExceptiondocs
ListUserPoolClients✅ SupportedPagination via NextTokendocs

User operations

OperationStatusNotesAWS Docs
AdminCreateUser✅ SupportedBcrypt hashes password; sends email unless MessageAction=SUPPRESS; invokes PreSignUp_AdminCreateUser (its autoConfirm/autoVerify response fields are ignored, matching AWS) and CustomMessage_AdminCreateUser (issue #1171)docs
AdminDeleteUser✅ SupportedUserNotFoundException if not founddocs
AdminGetUser✅ SupportedReturns attributes + statusdocs
AdminSetUserPassword✅ SupportedPermanent=true sets status CONFIRMEDdocs
AdminConfirmSignUp✅ SupportedConfirms a UNCONFIRMED user; invokes PostConfirmation_ConfirmSignUp fire-and-forget — a trigger error is logged but does not fail the call or roll back the confirmation (issue #1171)docs
AdminUpdateUserAttributes✅ SupportedMerges attributes; honors verification-before-update settings unless *_verified=true is supplieddocs
AdminDeleteUserAttributes✅ SupportedRemoves named attributes from a userdocs
AdminDisableUser✅ SupportedSets Enabled=false; sign-in returns NotAuthorizedExceptiondocs
AdminEnableUser✅ SupportedRe-enables a disabled userdocs
ListUsers✅ SupportedPagination via PaginationTokendocs

Auth / Token operations

OperationStatusNotesAWS Docs
SignUp✅ SupportedSends confirmation email; returns UserSub; invokes PreSignUp_SignUp (autoConfirmUser/autoVerifyEmail/autoVerifyPhone honored — an auto-confirmed user also fires PostConfirmation_ConfirmSignUp within the same call, and no confirmation message is sent) and CustomMessage_SignUp; either failing fails SignUp with UserLambdaValidationException (issue #1171)docs
ConfirmSignUp✅ SupportedCodeMismatchException / ExpiredCodeException on failure; returns Session for USER_AUTH sign-in; invokes PostConfirmation_ConfirmSignUp fire-and-forget (issue #1171)docs
ResendConfirmationCode✅ SupportedGenerates and emails a new confirmation code; invokes CustomMessage_ResendCode, failing the call on a trigger error (issue #1171)docs
InitiateAuth✅ SupportedUSER_PASSWORD_AUTH + USER_SRP_AUTH + REFRESH_TOKEN_AUTH + CUSTOM_AUTH; USER_AUTH with ConfirmSignUp Session, SELECT_CHALLENGE/PASSWORD/PASSWORD_SRP/WEB_AUTHN/EMAIL_OTP/SMS_OTP, or preferred PASSWORD/WEB_AUTHN/EMAIL_OTP/SMS_OTP; returns NEW_PASSWORD_REQUIRED, DEVICE_SRP_AUTH, or an MFA challenge — SMS_MFA (code stored on the user, masked CODE_DELIVERY_DESTINATION), SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE with MFAS_CAN_CHOOSE when both are active, or MFA_SETUP with MFAS_CAN_SETUP when MfaConfiguration is ON and the user has no factor; email MFA is never challenged; a completed authentication invokes PostAuthentication_Authentication then PreTokenGeneration (TokenGeneration_Authentication/_RefreshTokens/_NewPasswordChallenge/_AuthenticateDevice as appropriate), each able to fail the call (issue #1171); USER_SRP_AUTH/PASSWORD_SRP proofs are accepted once the SRP claim fields are present and are not cryptographically verified; WebAuthn assertion signature validation is intentionally partialdocs
AdminInitiateAuth✅ SupportedUSER_PASSWORD_AUTH + USER_SRP_AUTH + REFRESH_TOKEN_AUTH + CUSTOM_AUTH with UserPoolId; USER_AUTH with ConfirmSignUp Session, SELECT_CHALLENGE/PASSWORD/PASSWORD_SRP/WEB_AUTHN/EMAIL_OTP/SMS_OTP, or preferred PASSWORD/WEB_AUTHN/EMAIL_OTP/SMS_OTP; same PostAuthentication/PreTokenGeneration trigger invocation as InitiateAuth (issue #1171); same SRP verification boundary as InitiateAuth — proofs are accepted once the claim fields are present, not cryptographically verifieddocs
RespondToAuthChallenge✅ SupportedSELECT_CHALLENGE/PASSWORD/PASSWORD_SRP/WEB_AUTHN/EMAIL_OTP/SMS_OTP, PASSWORD, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, WEB_AUTHN, EMAIL_OTP, SMS_OTP, NEW_PASSWORD_REQUIRED, SOFTWARE_TOKEN_MFA, SMS_MFA, SELECT_MFA_TYPE, and MFA_SETUP challenges; SMS_MFA takes SMS_MFA_CODE and answers a wrong code with CodeMismatchException, SELECT_MFA_TYPE takes ANSWER and rejects an inactive factor with MFAMethodNotFoundException, and MFA_SETUP completes once AssociateSoftwareToken/VerifySoftwareToken have verified a software token against the challenge Session; a challenge completion that issues tokens invokes PostAuthentication_Authentication (skipped for NEW_PASSWORD_REQUIRED) then PreTokenGeneration, each able to fail the call (issue #1171); PASSWORD_VERIFIER/DEVICE_PASSWORD_VERIFIER accept the SRP claim fields without cryptographic proof verification, and WEB_AUTHN accepts the credential response without cryptographic assertion signature verificationdocs
AdminRespondToAuthChallenge✅ SupportedSame as above with admin credentials, including the same trigger invocation (issue #1171); same SRP/WebAuthn verification boundary as RespondToAuthChallengedocs
ConfirmDevice✅ SupportedConfirms a NewDeviceMetadata device key and stores remembered-device metadata; SRP verifier validation is intentionally partialdocs
GetDevice✅ SupportedReturns a confirmed device for the signed-in userdocs
ListDevices✅ SupportedLists confirmed devices for the signed-in userdocs
UpdateDeviceStatus✅ SupportedMarks a signed-in user’s confirmed device as remembered or not_remembereddocs
ForgetDevice✅ SupportedRemoves a confirmed device for the signed-in userdocs
AdminGetDevice✅ SupportedReturns a user’s confirmed device; IAM authorization on the requested user is stored but not enforced unless OVERCAST_ENFORCE_IAM is set, the same project-wide behavior as every other operation; DeviceAttributes names (device_status, device_name, dev:device_remembered_status) are emulator choices where AWS’s list is unconstraineddocs
AdminListDevices✅ SupportedLists a user’s confirmed devices with pagination; PaginationToken is an emulator-internal integer offset rather than AWS’s opaque token, and Limit accepts 0-60 matching the model’s QueryLimitTypedocs
AdminUpdateDeviceStatus✅ SupportedMarks a user’s confirmed device as remembered or not_remembereddocs
AdminForgetDevice✅ SupportedRemoves a user’s confirmed devicedocs
ForgotPassword✅ SupportedSends password-reset code by email; invokes CustomMessage_ForgotPassword, failing the call on a trigger error (issue #1171)docs
ConfirmForgotPassword✅ SupportedValidates reset code; sets new bcrypt password; invokes PostConfirmation_ConfirmForgotPassword fire-and-forget (issue #1171)docs
ChangePassword✅ SupportedValidates AccessToken + old password before setting new onedocs
GetUser✅ SupportedValidates AccessToken; returns full user profiledocs
UpdateUserAttributes✅ SupportedSelf-service; validates AccessToken; merges attributes, creates pending email/phone updates where AttributesRequireVerificationBeforeUpdate gates them, or — for an attribute in the pool’s AutoVerifiedAttributes that is not gated — applies the new value, clears email_verified/phone_number_verified and sends a code; either way the response carries CodeDeliveryDetailsList with the destination maskeddocs
VerifyUserAttribute✅ SupportedVerifies pending email/phone updates and sets *_verified=truedocs
GetUserAttributeVerificationCode✅ SupportedSends or resends email/phone verification codes for the signed-in userdocs
DeleteUserAttributes✅ SupportedSelf-service; validates AccessToken; removes named attributesdocs
GlobalSignOut✅ SupportedRevokes access + id + refresh tokens for the userdocs
RevokeToken✅ SupportedRevokes a specific refresh tokendocs
AssociateSoftwareToken✅ SupportedIssues a TOTP secret for the user; requires valid AccessTokendocs
VerifySoftwareToken✅ SupportedVerifies a TOTP code and marks the secret verifieddocs
StartWebAuthnRegistration✅ SupportedReturns passkey CredentialCreationOptions for the signed-in user; the registration challenge expires after 5 minutes (WebAuthnChallengeNotFoundException from CompleteWebAuthnRegistration), but AWS’s exact WebAuthn error taxonomy for expired, mismatched, or replayed challenges is not reproduceddocs
CompleteWebAuthnRegistration✅ SupportedRegisters passkey credential metadata; attestation validation is intentionally partialdocs
SetUserMFAPreference✅ SupportedEnables/disables TOTP MFA (SoftwareTokenMfaSettings) and SMS MFA (SMSMfaSettings) for the calling user, records PreferredMfa, and reports both through GetUser/AdminGetUser as UserMFASettingList and PreferredMfaSetting; enabling SMS MFA for a user with no phone_number is rejected with InvalidParameterException; EmailMfaSettings is accepted by the wire shape and dropped, because no email MFA challenge is issueddocs
AdminSetUserMFAPreference✅ SupportedSame as above, admin version, identified by UserPoolId and Usernamedocs

Group operations

OperationStatusNotesAWS Docs
CreateGroup✅ SupportedGroupExistsException if duplicatedocs
GetGroup✅ SupportedResourceNotFoundException if not founddocs
DeleteGroup✅ SupportedResourceNotFoundException if not founddocs
UpdateGroup✅ SupportedUpdates Description, Precedence, RoleArndocs
ListGroups✅ SupportedReturns all groups for a pooldocs
AdminAddUserToGroup✅ SupportedIdempotentdocs
AdminRemoveUserFromGroup✅ SupportedNo error if user is not in groupdocs
AdminListGroupsForUser✅ SupportedReturns groups the user belongs todocs
ListUsersInGroup✅ SupportedReturns users belonging to the specified groupdocs

User Pool Domain operations

OperationStatusNotesAWS Docs
CreateUserPoolDomain✅ SupportedAssociates a domain with the user pool’s hosted UIdocs
DescribeUserPoolDomain✅ SupportedReturns domain details; empty DomainDescription when domain not founddocs
DeleteUserPoolDomain✅ SupportedRemoves the domain association from the pooldocs
UpdateUserPoolDomain✅ SupportedAccepted; SSL certificate updates are inert in the emulatordocs

Tags

OperationStatusNotesAWS Docs
TagResource✅ Supporteddocs
UntagResource✅ Supporteddocs
ListTagsForResource✅ Supporteddocs