@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Cognito Identity Provider
@version 2016-04-18
@auth AWS SigV4
@endpoints 103
@hint download_for_search
@toc root(103)

@endpoint POST /
@required {UserPoolId: str, CustomAttributes: [SchemaAttributeType]}

@endpoint POST /
@required {UserPoolId: str, Username: str, GroupName: str}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@optional {ClientMetadata: map<str,str>}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@optional {UserAttributes: [AttributeType], ValidationData: [AttributeType], TemporaryPassword: str, ForceAliasCreation: bool, MessageAction: str, DesiredDeliveryMediums: [str], ClientMetadata: map<str,str>}
@returns(200) {User: UserType?{Username: str?, Attributes: [AttributeType]?, UserCreateDate: str(timestamp)?, UserLastModifiedDate: str(timestamp)?, Enabled: bool?, UserStatus: str?, MFAOptions: [MFAOptionType]?}}

@endpoint POST /
@required {UserPoolId: str, Username: str}

@endpoint POST /
@required {UserPoolId: str, Username: str, UserAttributeNames: [str]}

@endpoint POST /
@required {UserPoolId: str, User: ProviderUserIdentifierType}

@endpoint POST /
@required {UserPoolId: str, Username: str}

@endpoint POST /
@required {UserPoolId: str, Username: str}

@endpoint POST /
@required {UserPoolId: str, Username: str, DeviceKey: str}

@endpoint POST /
@required {DeviceKey: str, UserPoolId: str, Username: str}
@returns(200) {Device: DeviceType{DeviceKey: str?, DeviceAttributes: [AttributeType]?, DeviceCreateDate: str(timestamp)?, DeviceLastModifiedDate: str(timestamp)?, DeviceLastAuthenticatedDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@returns(200) {Username: str, UserAttributes: [AttributeType]?, UserCreateDate: str(timestamp)?, UserLastModifiedDate: str(timestamp)?, Enabled: bool?, UserStatus: str?, MFAOptions: [MFAOptionType]?, PreferredMfaSetting: str?, UserMFASettingList: [str]?}

@endpoint POST /
@required {UserPoolId: str, ClientId: str, AuthFlow: str}
@optional {AuthParameters: map<str,str>, ClientMetadata: map<str,str>, AnalyticsMetadata: AnalyticsMetadataType, ContextData: ContextDataType}
@returns(200) {ChallengeName: str?, Session: str?, ChallengeParameters: map<str,str>?, AuthenticationResult: AuthenticationResultType?{AccessToken: str?, ExpiresIn: int?, TokenType: str?, RefreshToken: str?, IdToken: str?, NewDeviceMetadata: NewDeviceMetadataType?{DeviceKey: str?, DeviceGroupKey: str?}}}

@endpoint POST /
@required {UserPoolId: str, DestinationUser: ProviderUserIdentifierType, SourceUser: ProviderUserIdentifierType}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@optional {Limit: int, PaginationToken: str}
@returns(200) {Devices: [DeviceType]?, PaginationToken: str?}

@endpoint POST /
@required {Username: str, UserPoolId: str}
@optional {Limit: int, NextToken: str}
@returns(200) {Groups: [GroupType]?, NextToken: str?}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {AuthEvents: [AuthEventType]?, NextToken: str?}

@endpoint POST /
@required {UserPoolId: str, Username: str, GroupName: str}

@endpoint POST /
@required {UserPoolId: str, Username: str}
@optional {ClientMetadata: map<str,str>}

@endpoint POST /
@required {UserPoolId: str, ClientId: str, ChallengeName: str}
@optional {ChallengeResponses: map<str,str>, Session: str, AnalyticsMetadata: AnalyticsMetadataType, ContextData: ContextDataType, ClientMetadata: map<str,str>}
@returns(200) {ChallengeName: str?, Session: str?, ChallengeParameters: map<str,str>?, AuthenticationResult: AuthenticationResultType?{AccessToken: str?, ExpiresIn: int?, TokenType: str?, RefreshToken: str?, IdToken: str?, NewDeviceMetadata: NewDeviceMetadataType?{DeviceKey: str?, DeviceGroupKey: str?}}}

@endpoint POST /
@required {Username: str, UserPoolId: str}
@optional {SMSMfaSettings: SMSMfaSettingsType, SoftwareTokenMfaSettings: SoftwareTokenMfaSettingsType}

@endpoint POST /
@required {UserPoolId: str, Username: str, Password: str}
@optional {Permanent: bool}

@endpoint POST /
@required {UserPoolId: str, Username: str, MFAOptions: [MFAOptionType]}

@endpoint POST /
@required {UserPoolId: str, Username: str, EventId: str, FeedbackValue: str}

@endpoint POST /
@required {UserPoolId: str, Username: str, DeviceKey: str}
@optional {DeviceRememberedStatus: str}

@endpoint POST /
@required {UserPoolId: str, Username: str, UserAttributes: [AttributeType]}
@optional {ClientMetadata: map<str,str>}

@endpoint POST /
@required {UserPoolId: str, Username: str}

@endpoint POST /
@optional {AccessToken: str, Session: str}
@returns(200) {SecretCode: str?, Session: str?}

@endpoint POST /
@required {PreviousPassword: str, ProposedPassword: str, AccessToken: str}

@endpoint POST /
@required {AccessToken: str, DeviceKey: str}
@optional {DeviceSecretVerifierConfig: DeviceSecretVerifierConfigType, DeviceName: str}
@returns(200) {UserConfirmationNecessary: bool?}

@endpoint POST /
@required {ClientId: str, Username: str, ConfirmationCode: str, Password: str}
@optional {SecretHash: str, AnalyticsMetadata: AnalyticsMetadataType, UserContextData: UserContextDataType, ClientMetadata: map<str,str>}

@endpoint POST /
@required {ClientId: str, Username: str, ConfirmationCode: str}
@optional {SecretHash: str, ForceAliasCreation: bool, AnalyticsMetadata: AnalyticsMetadataType, UserContextData: UserContextDataType, ClientMetadata: map<str,str>}

@endpoint POST /
@required {GroupName: str, UserPoolId: str}
@optional {Description: str, RoleArn: str, Precedence: int}
@returns(200) {Group: GroupType?{GroupName: str?, UserPoolId: str?, Description: str?, RoleArn: str?, Precedence: int?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, ProviderName: str, ProviderType: str, ProviderDetails: map<str,str>}
@optional {AttributeMapping: map<str,str>, IdpIdentifiers: [str]}
@returns(200) {IdentityProvider: IdentityProviderType{UserPoolId: str?, ProviderName: str?, ProviderType: str?, ProviderDetails: map<str,str>?, AttributeMapping: map<str,str>?, IdpIdentifiers: [str]?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, Identifier: str, Name: str}
@optional {Scopes: [ResourceServerScopeType]}
@returns(200) {ResourceServer: ResourceServerType{UserPoolId: str?, Identifier: str?, Name: str?, Scopes: [ResourceServerScopeType]?}}

@endpoint POST /
@required {JobName: str, UserPoolId: str, CloudWatchLogsRoleArn: str}
@returns(200) {UserImportJob: UserImportJobType?{JobName: str?, JobId: str?, UserPoolId: str?, PreSignedUrl: str?, CreationDate: str(timestamp)?, StartDate: str(timestamp)?, CompletionDate: str(timestamp)?, Status: str?, CloudWatchLogsRoleArn: str?, ImportedUsers: int(i64)?, SkippedUsers: int(i64)?, FailedUsers: int(i64)?, CompletionMessage: str?}}

@endpoint POST /
@required {PoolName: str}
@optional {Policies: UserPoolPolicyType, DeletionProtection: str, LambdaConfig: LambdaConfigType, AutoVerifiedAttributes: [str], AliasAttributes: [str], UsernameAttributes: [str], SmsVerificationMessage: str, EmailVerificationMessage: str, EmailVerificationSubject: str, VerificationMessageTemplate: VerificationMessageTemplateType, SmsAuthenticationMessage: str, MfaConfiguration: str, UserAttributeUpdateSettings: UserAttributeUpdateSettingsType, DeviceConfiguration: DeviceConfigurationType, EmailConfiguration: EmailConfigurationType, SmsConfiguration: SmsConfigurationType, UserPoolTags: map<str,str>, AdminCreateUserConfig: AdminCreateUserConfigType, Schema: [SchemaAttributeType], UserPoolAddOns: UserPoolAddOnsType, UsernameConfiguration: UsernameConfigurationType, AccountRecoverySetting: AccountRecoverySettingType}
@returns(200) {UserPool: UserPoolType?{Id: str?, Name: str?, Policies: UserPoolPolicyType?{PasswordPolicy: PasswordPolicyType?{MinimumLength: int?, RequireUppercase: bool?, RequireLowercase: bool?, RequireNumbers: bool?, RequireSymbols: bool?, PasswordHistorySize: int?, TemporaryPasswordValidityDays: int?}}, DeletionProtection: str?, LambdaConfig: LambdaConfigType?{PreSignUp: str?, CustomMessage: str?, PostConfirmation: str?, PreAuthentication: str?, PostAuthentication: str?, DefineAuthChallenge: str?, CreateAuthChallenge: str?, VerifyAuthChallengeResponse: str?, PreTokenGeneration: str?, UserMigration: str?, PreTokenGenerationConfig: PreTokenGenerationVersionConfigType?{LambdaVersion: str, LambdaArn: str}, CustomSMSSender: CustomSMSLambdaVersionConfigType?{LambdaVersion: str, LambdaArn: str}, CustomEmailSender: CustomEmailLambdaVersionConfigType?{LambdaVersion: str, LambdaArn: str}, KMSKeyID: str?}, Status: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?, SchemaAttributes: [SchemaAttributeType]?, AutoVerifiedAttributes: [str]?, AliasAttributes: [str]?, UsernameAttributes: [str]?, SmsVerificationMessage: str?, EmailVerificationMessage: str?, EmailVerificationSubject: str?, VerificationMessageTemplate: VerificationMessageTemplateType?{SmsMessage: str?, EmailMessage: str?, EmailSubject: str?, EmailMessageByLink: str?, EmailSubjectByLink: str?, DefaultEmailOption: str?}, SmsAuthenticationMessage: str?, UserAttributeUpdateSettings: UserAttributeUpdateSettingsType?{AttributesRequireVerificationBeforeUpdate: [str]?}, MfaConfiguration: str?, DeviceConfiguration: DeviceConfigurationType?{ChallengeRequiredOnNewDevice: bool?, DeviceOnlyRememberedOnUserPrompt: bool?}, EstimatedNumberOfUsers: int?, EmailConfiguration: EmailConfigurationType?{SourceArn: str?, ReplyToEmailAddress: str?, EmailSendingAccount: str?, From: str?, ConfigurationSet: str?}, SmsConfiguration: SmsConfigurationType?{SnsCallerArn: str, ExternalId: str?, SnsRegion: str?}, UserPoolTags: map<str,str>?, SmsConfigurationFailure: str?, EmailConfigurationFailure: str?, Domain: str?, CustomDomain: str?, AdminCreateUserConfig: AdminCreateUserConfigType?{AllowAdminCreateUserOnly: bool?, UnusedAccountValidityDays: int?, InviteMessageTemplate: MessageTemplateType?{SMSMessage: str?, EmailMessage: str?, EmailSubject: str?}}, UserPoolAddOns: UserPoolAddOnsType?{AdvancedSecurityMode: str, AdvancedSecurityAdditionalFlows: AdvancedSecurityAdditionalFlowsType?{CustomAuthMode: str?}}, UsernameConfiguration: UsernameConfigurationType?{CaseSensitive: bool}, Arn: str?, AccountRecoverySetting: AccountRecoverySettingType?{RecoveryMechanisms: [RecoveryOptionType]?}}}

@endpoint POST /
@required {UserPoolId: str, ClientName: str}
@optional {GenerateSecret: bool, RefreshTokenValidity: int, AccessTokenValidity: int, IdTokenValidity: int, TokenValidityUnits: TokenValidityUnitsType, ReadAttributes: [str], WriteAttributes: [str], ExplicitAuthFlows: [str], SupportedIdentityProviders: [str], CallbackURLs: [str], LogoutURLs: [str], DefaultRedirectURI: str, AllowedOAuthFlows: [str], AllowedOAuthScopes: [str], AllowedOAuthFlowsUserPoolClient: bool, AnalyticsConfiguration: AnalyticsConfigurationType, PreventUserExistenceErrors: str, EnableTokenRevocation: bool, EnablePropagateAdditionalUserContextData: bool, AuthSessionValidity: int}
@returns(200) {UserPoolClient: UserPoolClientType?{UserPoolId: str?, ClientName: str?, ClientId: str?, ClientSecret: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?, RefreshTokenValidity: int?, AccessTokenValidity: int?, IdTokenValidity: int?, TokenValidityUnits: TokenValidityUnitsType?{AccessToken: str?, IdToken: str?, RefreshToken: str?}, ReadAttributes: [str]?, WriteAttributes: [str]?, ExplicitAuthFlows: [str]?, SupportedIdentityProviders: [str]?, CallbackURLs: [str]?, LogoutURLs: [str]?, DefaultRedirectURI: str?, AllowedOAuthFlows: [str]?, AllowedOAuthScopes: [str]?, AllowedOAuthFlowsUserPoolClient: bool?, AnalyticsConfiguration: AnalyticsConfigurationType?{ApplicationId: str?, ApplicationArn: str?, RoleArn: str?, ExternalId: str?, UserDataShared: bool?}, PreventUserExistenceErrors: str?, EnableTokenRevocation: bool?, EnablePropagateAdditionalUserContextData: bool?, AuthSessionValidity: int?}}

@endpoint POST /
@required {Domain: str, UserPoolId: str}
@optional {CustomDomainConfig: CustomDomainConfigType}
@returns(200) {CloudFrontDomain: str?}

@endpoint POST /
@required {GroupName: str, UserPoolId: str}

@endpoint POST /
@required {UserPoolId: str, ProviderName: str}

@endpoint POST /
@required {UserPoolId: str, Identifier: str}

@endpoint POST /
@required {AccessToken: str}

@endpoint POST /
@required {UserAttributeNames: [str], AccessToken: str}

@endpoint POST /
@required {UserPoolId: str}

@endpoint POST /
@required {UserPoolId: str, ClientId: str}

@endpoint POST /
@required {Domain: str, UserPoolId: str}

@endpoint POST /
@required {UserPoolId: str, ProviderName: str}
@returns(200) {IdentityProvider: IdentityProviderType{UserPoolId: str?, ProviderName: str?, ProviderType: str?, ProviderDetails: map<str,str>?, AttributeMapping: map<str,str>?, IdpIdentifiers: [str]?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, Identifier: str}
@returns(200) {ResourceServer: ResourceServerType{UserPoolId: str?, Identifier: str?, Name: str?, Scopes: [ResourceServerScopeType]?}}

@endpoint POST /
@required {UserPoolId: str}
@optional {ClientId: str}
@returns(200) {RiskConfiguration: RiskConfigurationType{UserPoolId: str?, ClientId: str?, CompromisedCredentialsRiskConfiguration: CompromisedCredentialsRiskConfigurationType?{EventFilter: [str]?, Actions: CompromisedCredentialsActionsType{EventAction: str}}, AccountTakeoverRiskConfiguration: AccountTakeoverRiskConfigurationType?{NotifyConfiguration: NotifyConfigurationType?{From: str?, ReplyTo: str?, SourceArn: str, BlockEmail: NotifyEmailType?, NoActionEmail: NotifyEmailType?, MfaEmail: NotifyEmailType?}, Actions: AccountTakeoverActionsType{LowAction: AccountTakeoverActionType?, MediumAction: AccountTakeoverActionType?, HighAction: AccountTakeoverActionType?}}, RiskExceptionConfiguration: RiskExceptionConfigurationType?{BlockedIPRangeList: [str]?, SkippedIPRangeList: [str]?}, LastModifiedDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, JobId: str}
@returns(200) {UserImportJob: UserImportJobType?{JobName: str?, JobId: str?, UserPoolId: str?, PreSignedUrl: str?, CreationDate: str(timestamp)?, StartDate: str(timestamp)?, CompletionDate: str(timestamp)?, Status: str?, CloudWatchLogsRoleArn: str?, ImportedUsers: int(i64)?, SkippedUsers: int(i64)?, FailedUsers: int(i64)?, CompletionMessage: str?}}

@endpoint POST /
@required {UserPoolId: str}
@returns(200) {UserPool: UserPoolType?{Id: str?, Name: str?, Policies: UserPoolPolicyType?{PasswordPolicy: PasswordPolicyType?{MinimumLength: int?, RequireUppercase: bool?, RequireLowercase: bool?, RequireNumbers: bool?, RequireSymbols: bool?, PasswordHistorySize: int?, TemporaryPasswordValidityDays: int?}}, DeletionProtection: str?, LambdaConfig: LambdaConfigType?{PreSignUp: str?, CustomMessage: str?, PostConfirmation: str?, PreAuthentication: str?, PostAuthentication: str?, DefineAuthChallenge: str?, CreateAuthChallenge: str?, VerifyAuthChallengeResponse: str?, PreTokenGeneration: str?, UserMigration: str?, PreTokenGenerationConfig: PreTokenGenerationVersionConfigType?{LambdaVersion: str, LambdaArn: str}, CustomSMSSender: CustomSMSLambdaVersionConfigType?{LambdaVersion: str, LambdaArn: str}, CustomEmailSender: CustomEmailLambdaVersionConfigType?{LambdaVersion: str, LambdaArn: str}, KMSKeyID: str?}, Status: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?, SchemaAttributes: [SchemaAttributeType]?, AutoVerifiedAttributes: [str]?, AliasAttributes: [str]?, UsernameAttributes: [str]?, SmsVerificationMessage: str?, EmailVerificationMessage: str?, EmailVerificationSubject: str?, VerificationMessageTemplate: VerificationMessageTemplateType?{SmsMessage: str?, EmailMessage: str?, EmailSubject: str?, EmailMessageByLink: str?, EmailSubjectByLink: str?, DefaultEmailOption: str?}, SmsAuthenticationMessage: str?, UserAttributeUpdateSettings: UserAttributeUpdateSettingsType?{AttributesRequireVerificationBeforeUpdate: [str]?}, MfaConfiguration: str?, DeviceConfiguration: DeviceConfigurationType?{ChallengeRequiredOnNewDevice: bool?, DeviceOnlyRememberedOnUserPrompt: bool?}, EstimatedNumberOfUsers: int?, EmailConfiguration: EmailConfigurationType?{SourceArn: str?, ReplyToEmailAddress: str?, EmailSendingAccount: str?, From: str?, ConfigurationSet: str?}, SmsConfiguration: SmsConfigurationType?{SnsCallerArn: str, ExternalId: str?, SnsRegion: str?}, UserPoolTags: map<str,str>?, SmsConfigurationFailure: str?, EmailConfigurationFailure: str?, Domain: str?, CustomDomain: str?, AdminCreateUserConfig: AdminCreateUserConfigType?{AllowAdminCreateUserOnly: bool?, UnusedAccountValidityDays: int?, InviteMessageTemplate: MessageTemplateType?{SMSMessage: str?, EmailMessage: str?, EmailSubject: str?}}, UserPoolAddOns: UserPoolAddOnsType?{AdvancedSecurityMode: str, AdvancedSecurityAdditionalFlows: AdvancedSecurityAdditionalFlowsType?{CustomAuthMode: str?}}, UsernameConfiguration: UsernameConfigurationType?{CaseSensitive: bool}, Arn: str?, AccountRecoverySetting: AccountRecoverySettingType?{RecoveryMechanisms: [RecoveryOptionType]?}}}

@endpoint POST /
@required {UserPoolId: str, ClientId: str}
@returns(200) {UserPoolClient: UserPoolClientType?{UserPoolId: str?, ClientName: str?, ClientId: str?, ClientSecret: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?, RefreshTokenValidity: int?, AccessTokenValidity: int?, IdTokenValidity: int?, TokenValidityUnits: TokenValidityUnitsType?{AccessToken: str?, IdToken: str?, RefreshToken: str?}, ReadAttributes: [str]?, WriteAttributes: [str]?, ExplicitAuthFlows: [str]?, SupportedIdentityProviders: [str]?, CallbackURLs: [str]?, LogoutURLs: [str]?, DefaultRedirectURI: str?, AllowedOAuthFlows: [str]?, AllowedOAuthScopes: [str]?, AllowedOAuthFlowsUserPoolClient: bool?, AnalyticsConfiguration: AnalyticsConfigurationType?{ApplicationId: str?, ApplicationArn: str?, RoleArn: str?, ExternalId: str?, UserDataShared: bool?}, PreventUserExistenceErrors: str?, EnableTokenRevocation: bool?, EnablePropagateAdditionalUserContextData: bool?, AuthSessionValidity: int?}}

@endpoint POST /
@required {Domain: str}
@returns(200) {DomainDescription: DomainDescriptionType?{UserPoolId: str?, AWSAccountId: str?, Domain: str?, S3Bucket: str?, CloudFrontDistribution: str?, Version: str?, Status: str?, CustomDomainConfig: CustomDomainConfigType?{CertificateArn: str}}}

@endpoint POST /
@required {DeviceKey: str}
@optional {AccessToken: str}

@endpoint POST /
@required {ClientId: str, Username: str}
@optional {SecretHash: str, UserContextData: UserContextDataType, AnalyticsMetadata: AnalyticsMetadataType, ClientMetadata: map<str,str>}
@returns(200) {CodeDeliveryDetails: CodeDeliveryDetailsType?{Destination: str?, DeliveryMedium: str?, AttributeName: str?}}

@endpoint POST /
@required {UserPoolId: str}
@returns(200) {UserPoolId: str?, CSVHeader: [str]?}

@endpoint POST /
@required {DeviceKey: str}
@optional {AccessToken: str}
@returns(200) {Device: DeviceType{DeviceKey: str?, DeviceAttributes: [AttributeType]?, DeviceCreateDate: str(timestamp)?, DeviceLastModifiedDate: str(timestamp)?, DeviceLastAuthenticatedDate: str(timestamp)?}}

@endpoint POST /
@required {GroupName: str, UserPoolId: str}
@returns(200) {Group: GroupType?{GroupName: str?, UserPoolId: str?, Description: str?, RoleArn: str?, Precedence: int?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, IdpIdentifier: str}
@returns(200) {IdentityProvider: IdentityProviderType{UserPoolId: str?, ProviderName: str?, ProviderType: str?, ProviderDetails: map<str,str>?, AttributeMapping: map<str,str>?, IdpIdentifiers: [str]?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str}
@returns(200) {LogDeliveryConfiguration: LogDeliveryConfigurationType?{UserPoolId: str, LogConfigurations: [LogConfigurationType]}}

@endpoint POST /
@required {UserPoolId: str}
@returns(200) {Certificate: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {ClientId: str}
@returns(200) {UICustomization: UICustomizationType{UserPoolId: str?, ClientId: str?, ImageUrl: str?, CSS: str?, CSSVersion: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {AccessToken: str}
@returns(200) {Username: str, UserAttributes: [AttributeType], MFAOptions: [MFAOptionType]?, PreferredMfaSetting: str?, UserMFASettingList: [str]?}

@endpoint POST /
@required {AccessToken: str, AttributeName: str}
@optional {ClientMetadata: map<str,str>}
@returns(200) {CodeDeliveryDetails: CodeDeliveryDetailsType?{Destination: str?, DeliveryMedium: str?, AttributeName: str?}}

@endpoint POST /
@required {UserPoolId: str}
@returns(200) {SmsMfaConfiguration: SmsMfaConfigType?{SmsAuthenticationMessage: str?, SmsConfiguration: SmsConfigurationType?{SnsCallerArn: str, ExternalId: str?, SnsRegion: str?}}, SoftwareTokenMfaConfiguration: SoftwareTokenMfaConfigType?{Enabled: bool?}, MfaConfiguration: str?}

@endpoint POST /
@required {AccessToken: str}

@endpoint POST /
@required {AuthFlow: str, ClientId: str}
@optional {AuthParameters: map<str,str>, ClientMetadata: map<str,str>, AnalyticsMetadata: AnalyticsMetadataType, UserContextData: UserContextDataType}
@returns(200) {ChallengeName: str?, Session: str?, ChallengeParameters: map<str,str>?, AuthenticationResult: AuthenticationResultType?{AccessToken: str?, ExpiresIn: int?, TokenType: str?, RefreshToken: str?, IdToken: str?, NewDeviceMetadata: NewDeviceMetadataType?{DeviceKey: str?, DeviceGroupKey: str?}}}

@endpoint POST /
@required {AccessToken: str}
@optional {Limit: int, PaginationToken: str}
@returns(200) {Devices: [DeviceType]?, PaginationToken: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {Limit: int, NextToken: str}
@returns(200) {Groups: [GroupType]?, NextToken: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {Providers: [ProviderDescription], NextToken: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {ResourceServers: [ResourceServerType], NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Tags: map<str,str>?}

@endpoint POST /
@required {UserPoolId: str, MaxResults: int}
@optional {PaginationToken: str}
@returns(200) {UserImportJobs: [UserImportJobType]?, PaginationToken: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {UserPoolClients: [UserPoolClientDescription]?, NextToken: str?}

@endpoint POST /
@required {MaxResults: int}
@optional {NextToken: str}
@returns(200) {UserPools: [UserPoolDescriptionType]?, NextToken: str?}

@endpoint POST /
@required {UserPoolId: str}
@optional {AttributesToGet: [str], Limit: int, PaginationToken: str, Filter: str}
@returns(200) {Users: [UserType]?, PaginationToken: str?}

@endpoint POST /
@required {UserPoolId: str, GroupName: str}
@optional {Limit: int, NextToken: str}
@returns(200) {Users: [UserType]?, NextToken: str?}

@endpoint POST /
@required {ClientId: str, Username: str}
@optional {SecretHash: str, UserContextData: UserContextDataType, AnalyticsMetadata: AnalyticsMetadataType, ClientMetadata: map<str,str>}
@returns(200) {CodeDeliveryDetails: CodeDeliveryDetailsType?{Destination: str?, DeliveryMedium: str?, AttributeName: str?}}

@endpoint POST /
@required {ClientId: str, ChallengeName: str}
@optional {Session: str, ChallengeResponses: map<str,str>, AnalyticsMetadata: AnalyticsMetadataType, UserContextData: UserContextDataType, ClientMetadata: map<str,str>}
@returns(200) {ChallengeName: str?, Session: str?, ChallengeParameters: map<str,str>?, AuthenticationResult: AuthenticationResultType?{AccessToken: str?, ExpiresIn: int?, TokenType: str?, RefreshToken: str?, IdToken: str?, NewDeviceMetadata: NewDeviceMetadataType?{DeviceKey: str?, DeviceGroupKey: str?}}}

@endpoint POST /
@required {Token: str, ClientId: str}
@optional {ClientSecret: str}

@endpoint POST /
@required {UserPoolId: str, LogConfigurations: [LogConfigurationType]}
@returns(200) {LogDeliveryConfiguration: LogDeliveryConfigurationType?{UserPoolId: str, LogConfigurations: [LogConfigurationType]}}

@endpoint POST /
@required {UserPoolId: str}
@optional {ClientId: str, CompromisedCredentialsRiskConfiguration: CompromisedCredentialsRiskConfigurationType, AccountTakeoverRiskConfiguration: AccountTakeoverRiskConfigurationType, RiskExceptionConfiguration: RiskExceptionConfigurationType}
@returns(200) {RiskConfiguration: RiskConfigurationType{UserPoolId: str?, ClientId: str?, CompromisedCredentialsRiskConfiguration: CompromisedCredentialsRiskConfigurationType?{EventFilter: [str]?, Actions: CompromisedCredentialsActionsType{EventAction: str}}, AccountTakeoverRiskConfiguration: AccountTakeoverRiskConfigurationType?{NotifyConfiguration: NotifyConfigurationType?{From: str?, ReplyTo: str?, SourceArn: str, BlockEmail: NotifyEmailType?, NoActionEmail: NotifyEmailType?, MfaEmail: NotifyEmailType?}, Actions: AccountTakeoverActionsType{LowAction: AccountTakeoverActionType?, MediumAction: AccountTakeoverActionType?, HighAction: AccountTakeoverActionType?}}, RiskExceptionConfiguration: RiskExceptionConfigurationType?{BlockedIPRangeList: [str]?, SkippedIPRangeList: [str]?}, LastModifiedDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str}
@optional {ClientId: str, CSS: str, ImageFile: bytes}
@returns(200) {UICustomization: UICustomizationType{UserPoolId: str?, ClientId: str?, ImageUrl: str?, CSS: str?, CSSVersion: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {AccessToken: str}
@optional {SMSMfaSettings: SMSMfaSettingsType, SoftwareTokenMfaSettings: SoftwareTokenMfaSettingsType}

@endpoint POST /
@required {UserPoolId: str}
@optional {SmsMfaConfiguration: SmsMfaConfigType, SoftwareTokenMfaConfiguration: SoftwareTokenMfaConfigType, MfaConfiguration: str}
@returns(200) {SmsMfaConfiguration: SmsMfaConfigType?{SmsAuthenticationMessage: str?, SmsConfiguration: SmsConfigurationType?{SnsCallerArn: str, ExternalId: str?, SnsRegion: str?}}, SoftwareTokenMfaConfiguration: SoftwareTokenMfaConfigType?{Enabled: bool?}, MfaConfiguration: str?}

@endpoint POST /
@required {AccessToken: str, MFAOptions: [MFAOptionType]}

@endpoint POST /
@required {ClientId: str, Username: str, Password: str}
@optional {SecretHash: str, UserAttributes: [AttributeType], ValidationData: [AttributeType], AnalyticsMetadata: AnalyticsMetadataType, UserContextData: UserContextDataType, ClientMetadata: map<str,str>}
@returns(200) {UserConfirmed: bool, CodeDeliveryDetails: CodeDeliveryDetailsType?{Destination: str?, DeliveryMedium: str?, AttributeName: str?}, UserSub: str}

@endpoint POST /
@required {UserPoolId: str, JobId: str}
@returns(200) {UserImportJob: UserImportJobType?{JobName: str?, JobId: str?, UserPoolId: str?, PreSignedUrl: str?, CreationDate: str(timestamp)?, StartDate: str(timestamp)?, CompletionDate: str(timestamp)?, Status: str?, CloudWatchLogsRoleArn: str?, ImportedUsers: int(i64)?, SkippedUsers: int(i64)?, FailedUsers: int(i64)?, CompletionMessage: str?}}

@endpoint POST /
@required {UserPoolId: str, JobId: str}
@returns(200) {UserImportJob: UserImportJobType?{JobName: str?, JobId: str?, UserPoolId: str?, PreSignedUrl: str?, CreationDate: str(timestamp)?, StartDate: str(timestamp)?, CompletionDate: str(timestamp)?, Status: str?, CloudWatchLogsRoleArn: str?, ImportedUsers: int(i64)?, SkippedUsers: int(i64)?, FailedUsers: int(i64)?, CompletionMessage: str?}}

@endpoint POST /
@required {ResourceArn: str, Tags: map<str,str>}

@endpoint POST /
@required {ResourceArn: str, TagKeys: [str]}

@endpoint POST /
@required {UserPoolId: str, Username: str, EventId: str, FeedbackToken: str, FeedbackValue: str}

@endpoint POST /
@required {AccessToken: str, DeviceKey: str}
@optional {DeviceRememberedStatus: str}

@endpoint POST /
@required {GroupName: str, UserPoolId: str}
@optional {Description: str, RoleArn: str, Precedence: int}
@returns(200) {Group: GroupType?{GroupName: str?, UserPoolId: str?, Description: str?, RoleArn: str?, Precedence: int?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, ProviderName: str}
@optional {ProviderDetails: map<str,str>, AttributeMapping: map<str,str>, IdpIdentifiers: [str]}
@returns(200) {IdentityProvider: IdentityProviderType{UserPoolId: str?, ProviderName: str?, ProviderType: str?, ProviderDetails: map<str,str>?, AttributeMapping: map<str,str>?, IdpIdentifiers: [str]?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?}}

@endpoint POST /
@required {UserPoolId: str, Identifier: str, Name: str}
@optional {Scopes: [ResourceServerScopeType]}
@returns(200) {ResourceServer: ResourceServerType{UserPoolId: str?, Identifier: str?, Name: str?, Scopes: [ResourceServerScopeType]?}}

@endpoint POST /
@required {UserAttributes: [AttributeType], AccessToken: str}
@optional {ClientMetadata: map<str,str>}
@returns(200) {CodeDeliveryDetailsList: [CodeDeliveryDetailsType]?}

@endpoint POST /
@required {UserPoolId: str}
@optional {Policies: UserPoolPolicyType, DeletionProtection: str, LambdaConfig: LambdaConfigType, AutoVerifiedAttributes: [str], SmsVerificationMessage: str, EmailVerificationMessage: str, EmailVerificationSubject: str, VerificationMessageTemplate: VerificationMessageTemplateType, SmsAuthenticationMessage: str, UserAttributeUpdateSettings: UserAttributeUpdateSettingsType, MfaConfiguration: str, DeviceConfiguration: DeviceConfigurationType, EmailConfiguration: EmailConfigurationType, SmsConfiguration: SmsConfigurationType, UserPoolTags: map<str,str>, AdminCreateUserConfig: AdminCreateUserConfigType, UserPoolAddOns: UserPoolAddOnsType, AccountRecoverySetting: AccountRecoverySettingType}

@endpoint POST /
@required {UserPoolId: str, ClientId: str}
@optional {ClientName: str, RefreshTokenValidity: int, AccessTokenValidity: int, IdTokenValidity: int, TokenValidityUnits: TokenValidityUnitsType, ReadAttributes: [str], WriteAttributes: [str], ExplicitAuthFlows: [str], SupportedIdentityProviders: [str], CallbackURLs: [str], LogoutURLs: [str], DefaultRedirectURI: str, AllowedOAuthFlows: [str], AllowedOAuthScopes: [str], AllowedOAuthFlowsUserPoolClient: bool, AnalyticsConfiguration: AnalyticsConfigurationType, PreventUserExistenceErrors: str, EnableTokenRevocation: bool, EnablePropagateAdditionalUserContextData: bool, AuthSessionValidity: int}
@returns(200) {UserPoolClient: UserPoolClientType?{UserPoolId: str?, ClientName: str?, ClientId: str?, ClientSecret: str?, LastModifiedDate: str(timestamp)?, CreationDate: str(timestamp)?, RefreshTokenValidity: int?, AccessTokenValidity: int?, IdTokenValidity: int?, TokenValidityUnits: TokenValidityUnitsType?{AccessToken: str?, IdToken: str?, RefreshToken: str?}, ReadAttributes: [str]?, WriteAttributes: [str]?, ExplicitAuthFlows: [str]?, SupportedIdentityProviders: [str]?, CallbackURLs: [str]?, LogoutURLs: [str]?, DefaultRedirectURI: str?, AllowedOAuthFlows: [str]?, AllowedOAuthScopes: [str]?, AllowedOAuthFlowsUserPoolClient: bool?, AnalyticsConfiguration: AnalyticsConfigurationType?{ApplicationId: str?, ApplicationArn: str?, RoleArn: str?, ExternalId: str?, UserDataShared: bool?}, PreventUserExistenceErrors: str?, EnableTokenRevocation: bool?, EnablePropagateAdditionalUserContextData: bool?, AuthSessionValidity: int?}}

@endpoint POST /
@required {Domain: str, UserPoolId: str, CustomDomainConfig: CustomDomainConfigType}
@returns(200) {CloudFrontDomain: str?}

@endpoint POST /
@required {UserCode: str}
@optional {AccessToken: str, Session: str, FriendlyDeviceName: str}
@returns(200) {Status: str?, Session: str?}

@endpoint POST /
@required {AccessToken: str, AttributeName: str, Code: str}

@end
