packages feed

ory-kratos 0.0.5.10 → 0.0.6.0

raw patch · 11 files changed

+746/−479 lines, 11 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- OryKratos.API: [$sel:completeSelfServiceBrowserSettingsOIDCSettingsFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:completeSelfServiceLoginFlowWithPasswordMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> CompleteSelfServiceLoginFlowWithPasswordMethod -> m LoginViaApiResponse
- OryKratos.API: [$sel:completeSelfServiceRecoveryFlowWithLinkMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Maybe Text -> CompleteSelfServiceRecoveryFlowWithLinkMethod -> m ()
- OryKratos.API: [$sel:completeSelfServiceRegistrationFlowWithPasswordMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m RegistrationViaApiResponse
- OryKratos.API: [$sel:completeSelfServiceSettingsFlowWithPasswordMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> CompleteSelfServiceSettingsFlowWithPasswordMethod -> m SettingsViaApiResponse
- OryKratos.API: [$sel:completeSelfServiceSettingsFlowWithProfileMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m SettingsFlow
- OryKratos.API: [$sel:completeSelfServiceVerificationFlowWithLinkMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Maybe Text -> CompleteSelfServiceVerificationFlowWithLinkMethod -> m ()
- OryKratos.API: [$sel:initializeSelfServiceLoginViaAPIFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Bool -> m LoginFlow
- OryKratos.API: [$sel:initializeSelfServiceLoginViaBrowserFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:initializeSelfServiceRecoveryViaAPIFlow:OryKratosBackend] :: OryKratosBackend m -> m RecoveryFlow
- OryKratos.API: [$sel:initializeSelfServiceRecoveryViaBrowserFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:initializeSelfServiceRegistrationViaAPIFlow:OryKratosBackend] :: OryKratosBackend m -> m RegistrationFlow
- OryKratos.API: [$sel:initializeSelfServiceRegistrationViaBrowserFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:initializeSelfServiceSettingsViaAPIFlow:OryKratosBackend] :: OryKratosBackend m -> m SettingsFlow
- OryKratos.API: [$sel:initializeSelfServiceSettingsViaBrowserFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:initializeSelfServiceVerificationViaAPIFlow:OryKratosBackend] :: OryKratosBackend m -> m VerificationFlow
- OryKratos.API: [$sel:initializeSelfServiceVerificationViaBrowserFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
- OryKratos.API: [$sel:whoami:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Maybe Text -> m Session
- OryKratos.Types: CompleteSelfServiceLoginFlowWithPasswordMethod :: Maybe Text -> Maybe Text -> Maybe Text -> CompleteSelfServiceLoginFlowWithPasswordMethod
- OryKratos.Types: CompleteSelfServiceRecoveryFlowWithLinkMethod :: Maybe Text -> Maybe Text -> CompleteSelfServiceRecoveryFlowWithLinkMethod
- OryKratos.Types: CompleteSelfServiceSettingsFlowWithPasswordMethod :: Maybe Text -> Text -> CompleteSelfServiceSettingsFlowWithPasswordMethod
- OryKratos.Types: CompleteSelfServiceVerificationFlowWithLinkMethod :: Maybe Text -> Maybe Text -> CompleteSelfServiceVerificationFlowWithLinkMethod
- OryKratos.Types: CreateRecoveryLink :: Maybe Text -> UUID -> CreateRecoveryLink
- OryKratos.Types: GenericErrorPayload :: Maybe Integer -> Maybe Text -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> GenericErrorPayload
- OryKratos.Types: LoginFlowMethod :: LoginFlowMethodConfig -> Text -> LoginFlowMethod
- OryKratos.Types: LoginFlowMethodConfig :: Text -> [FormField] -> Maybe [Message] -> Text -> Maybe [FormField] -> LoginFlowMethodConfig
- OryKratos.Types: LoginFlowMethods :: Maybe LoginFlowMethod -> Maybe LoginFlowMethod -> LoginFlowMethods
- OryKratos.Types: RecoveryFlowMethod :: RecoveryFlowMethodConfig -> Text -> RecoveryFlowMethod
- OryKratos.Types: RecoveryFlowMethodConfig :: Text -> [FormField] -> Maybe [Message] -> Text -> RecoveryFlowMethodConfig
- OryKratos.Types: RecoveryFlowMethods :: Maybe RecoveryFlowMethod -> RecoveryFlowMethods
- OryKratos.Types: RegistrationFlowMethod :: RegistrationFlowMethodConfig -> Text -> RegistrationFlowMethod
- OryKratos.Types: RegistrationFlowMethodConfig :: Text -> [FormField] -> Maybe [Message] -> Text -> Maybe [FormField] -> RegistrationFlowMethodConfig
- OryKratos.Types: RegistrationFlowMethods :: Maybe RegistrationFlowMethod -> Maybe RegistrationFlowMethod -> RegistrationFlowMethods
- OryKratos.Types: SettingsFlowMethod :: SettingsFlowMethodConfig -> Text -> SettingsFlowMethod
- OryKratos.Types: SettingsFlowMethodConfig :: Text -> [FormField] -> Maybe [Message] -> Text -> SettingsFlowMethodConfig
- OryKratos.Types: SettingsFlowMethods :: Maybe SettingsFlowMethod -> Maybe SettingsFlowMethod -> Maybe SettingsFlowMethod -> SettingsFlowMethods
- OryKratos.Types: VerifiableAddress :: UUID -> Text -> Text -> Bool -> Maybe UTCTime -> Text -> VerifiableAddress
- OryKratos.Types: VerificationFlowMethod :: VerificationFlowMethodConfig -> Text -> VerificationFlowMethod
- OryKratos.Types: VerificationFlowMethodConfig :: Text -> [FormField] -> Maybe [Message] -> Text -> VerificationFlowMethodConfig
- OryKratos.Types: VerificationFlowMethods :: Maybe VerificationFlowMethod -> VerificationFlowMethods
- OryKratos.Types: [$sel:action:LoginFlowMethodConfig] :: LoginFlowMethodConfig -> Text
- OryKratos.Types: [$sel:action:RecoveryFlowMethodConfig] :: RecoveryFlowMethodConfig -> Text
- OryKratos.Types: [$sel:action:RegistrationFlowMethodConfig] :: RegistrationFlowMethodConfig -> Text
- OryKratos.Types: [$sel:action:SettingsFlowMethodConfig] :: SettingsFlowMethodConfig -> Text
- OryKratos.Types: [$sel:action:VerificationFlowMethodConfig] :: VerificationFlowMethodConfig -> Text
- OryKratos.Types: [$sel:code:GenericErrorPayload] :: GenericErrorPayload -> Maybe Integer
- OryKratos.Types: [$sel:config:LoginFlowMethod] :: LoginFlowMethod -> LoginFlowMethodConfig
- OryKratos.Types: [$sel:config:RecoveryFlowMethod] :: RecoveryFlowMethod -> RecoveryFlowMethodConfig
- OryKratos.Types: [$sel:config:RegistrationFlowMethod] :: RegistrationFlowMethod -> RegistrationFlowMethodConfig
- OryKratos.Types: [$sel:config:SettingsFlowMethod] :: SettingsFlowMethod -> SettingsFlowMethodConfig
- OryKratos.Types: [$sel:config:VerificationFlowMethod] :: VerificationFlowMethod -> VerificationFlowMethodConfig
- OryKratos.Types: [$sel:csrf_token:CompleteSelfServiceLoginFlowWithPasswordMethod] :: CompleteSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
- OryKratos.Types: [$sel:csrf_token:CompleteSelfServiceRecoveryFlowWithLinkMethod] :: CompleteSelfServiceRecoveryFlowWithLinkMethod -> Maybe Text
- OryKratos.Types: [$sel:csrf_token:CompleteSelfServiceSettingsFlowWithPasswordMethod] :: CompleteSelfServiceSettingsFlowWithPasswordMethod -> Maybe Text
- OryKratos.Types: [$sel:csrf_token:CompleteSelfServiceVerificationFlowWithLinkMethod] :: CompleteSelfServiceVerificationFlowWithLinkMethod -> Maybe Text
- OryKratos.Types: [$sel:debug:GenericErrorPayload] :: GenericErrorPayload -> Maybe Text
- OryKratos.Types: [$sel:details:GenericErrorPayload] :: GenericErrorPayload -> Maybe Value
- OryKratos.Types: [$sel:email:CompleteSelfServiceRecoveryFlowWithLinkMethod] :: CompleteSelfServiceRecoveryFlowWithLinkMethod -> Maybe Text
- OryKratos.Types: [$sel:email:CompleteSelfServiceVerificationFlowWithLinkMethod] :: CompleteSelfServiceVerificationFlowWithLinkMethod -> Maybe Text
- OryKratos.Types: [$sel:error:GenericError] :: GenericError -> Maybe GenericErrorPayload
- OryKratos.Types: [$sel:expires_in:CreateRecoveryLink] :: CreateRecoveryLink -> Maybe Text
- OryKratos.Types: [$sel:fields:LoginFlowMethodConfig] :: LoginFlowMethodConfig -> [FormField]
- OryKratos.Types: [$sel:fields:RecoveryFlowMethodConfig] :: RecoveryFlowMethodConfig -> [FormField]
- OryKratos.Types: [$sel:fields:RegistrationFlowMethodConfig] :: RegistrationFlowMethodConfig -> [FormField]
- OryKratos.Types: [$sel:fields:SettingsFlowMethodConfig] :: SettingsFlowMethodConfig -> [FormField]
- OryKratos.Types: [$sel:fields:VerificationFlowMethodConfig] :: VerificationFlowMethodConfig -> [FormField]
- OryKratos.Types: [$sel:id:VerifiableAddress] :: VerifiableAddress -> UUID
- OryKratos.Types: [$sel:identifier:CompleteSelfServiceLoginFlowWithPasswordMethod] :: CompleteSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
- OryKratos.Types: [$sel:identity_id:CreateRecoveryLink] :: CreateRecoveryLink -> UUID
- OryKratos.Types: [$sel:link:RecoveryFlowMethods] :: RecoveryFlowMethods -> Maybe RecoveryFlowMethod
- OryKratos.Types: [$sel:link:VerificationFlowMethods] :: VerificationFlowMethods -> Maybe VerificationFlowMethod
- OryKratos.Types: [$sel:message:GenericErrorPayload] :: GenericErrorPayload -> Maybe Text
- OryKratos.Types: [$sel:messages:LoginFlowMethodConfig] :: LoginFlowMethodConfig -> Maybe [Message]
- OryKratos.Types: [$sel:messages:LoginFlow] :: LoginFlow -> Maybe [Message]
- OryKratos.Types: [$sel:messages:RecoveryFlowMethodConfig] :: RecoveryFlowMethodConfig -> Maybe [Message]
- OryKratos.Types: [$sel:messages:RecoveryFlow] :: RecoveryFlow -> Maybe [Message]
- OryKratos.Types: [$sel:messages:RegistrationFlowMethodConfig] :: RegistrationFlowMethodConfig -> Maybe [Message]
- OryKratos.Types: [$sel:messages:RegistrationFlow] :: RegistrationFlow -> Maybe [Message]
- OryKratos.Types: [$sel:messages:SettingsFlowMethodConfig] :: SettingsFlowMethodConfig -> Maybe [Message]
- OryKratos.Types: [$sel:messages:SettingsFlow] :: SettingsFlow -> Maybe [Message]
- OryKratos.Types: [$sel:messages:VerificationFlowMethodConfig] :: VerificationFlowMethodConfig -> Maybe [Message]
- OryKratos.Types: [$sel:messages:VerificationFlow] :: VerificationFlow -> Maybe [Message]
- OryKratos.Types: [$sel:method:LoginFlowMethodConfig] :: LoginFlowMethodConfig -> Text
- OryKratos.Types: [$sel:method:LoginFlowMethod] :: LoginFlowMethod -> Text
- OryKratos.Types: [$sel:method:RecoveryFlowMethodConfig] :: RecoveryFlowMethodConfig -> Text
- OryKratos.Types: [$sel:method:RecoveryFlowMethod] :: RecoveryFlowMethod -> Text
- OryKratos.Types: [$sel:method:RegistrationFlowMethodConfig] :: RegistrationFlowMethodConfig -> Text
- OryKratos.Types: [$sel:method:RegistrationFlowMethod] :: RegistrationFlowMethod -> Text
- OryKratos.Types: [$sel:method:SettingsFlowMethodConfig] :: SettingsFlowMethodConfig -> Text
- OryKratos.Types: [$sel:method:SettingsFlowMethod] :: SettingsFlowMethod -> Text
- OryKratos.Types: [$sel:method:VerificationFlowMethodConfig] :: VerificationFlowMethodConfig -> Text
- OryKratos.Types: [$sel:method:VerificationFlowMethod] :: VerificationFlowMethod -> Text
- OryKratos.Types: [$sel:methods:LoginFlow] :: LoginFlow -> LoginFlowMethods
- OryKratos.Types: [$sel:methods:RecoveryFlow] :: RecoveryFlow -> RecoveryFlowMethods
- OryKratos.Types: [$sel:methods:RegistrationFlow] :: RegistrationFlow -> RegistrationFlowMethods
- OryKratos.Types: [$sel:methods:SettingsFlow] :: SettingsFlow -> SettingsFlowMethods
- OryKratos.Types: [$sel:methods:VerificationFlow] :: VerificationFlow -> Map String VerificationFlowMethod
- OryKratos.Types: [$sel:oidc:LoginFlowMethods] :: LoginFlowMethods -> Maybe LoginFlowMethod
- OryKratos.Types: [$sel:oidc:RegistrationFlowMethods] :: RegistrationFlowMethods -> Maybe RegistrationFlowMethod
- OryKratos.Types: [$sel:oidc:SettingsFlowMethods] :: SettingsFlowMethods -> Maybe SettingsFlowMethod
- OryKratos.Types: [$sel:password:CompleteSelfServiceLoginFlowWithPasswordMethod] :: CompleteSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
- OryKratos.Types: [$sel:password:CompleteSelfServiceSettingsFlowWithPasswordMethod] :: CompleteSelfServiceSettingsFlowWithPasswordMethod -> Text
- OryKratos.Types: [$sel:password:LoginFlowMethods] :: LoginFlowMethods -> Maybe LoginFlowMethod
- OryKratos.Types: [$sel:password:RegistrationFlowMethods] :: RegistrationFlowMethods -> Maybe RegistrationFlowMethod
- OryKratos.Types: [$sel:password:SettingsFlowMethods] :: SettingsFlowMethods -> Maybe SettingsFlowMethod
- OryKratos.Types: [$sel:profile:SettingsFlowMethods] :: SettingsFlowMethods -> Maybe SettingsFlowMethod
- OryKratos.Types: [$sel:providers:LoginFlowMethodConfig] :: LoginFlowMethodConfig -> Maybe [FormField]
- OryKratos.Types: [$sel:providers:RegistrationFlowMethodConfig] :: RegistrationFlowMethodConfig -> Maybe [FormField]
- OryKratos.Types: [$sel:reason:GenericErrorPayload] :: GenericErrorPayload -> Maybe Text
- OryKratos.Types: [$sel:request:GenericErrorPayload] :: GenericErrorPayload -> Maybe Text
- OryKratos.Types: [$sel:status:GenericErrorPayload] :: GenericErrorPayload -> Maybe Text
- OryKratos.Types: [$sel:status:VerifiableAddress] :: VerifiableAddress -> Text
- OryKratos.Types: [$sel:value:VerifiableAddress] :: VerifiableAddress -> Text
- OryKratos.Types: [$sel:verified:VerifiableAddress] :: VerifiableAddress -> Bool
- OryKratos.Types: [$sel:verified_at:VerifiableAddress] :: VerifiableAddress -> Maybe UTCTime
- OryKratos.Types: [$sel:via:VerifiableAddress] :: VerifiableAddress -> Text
- OryKratos.Types: data CompleteSelfServiceLoginFlowWithPasswordMethod
- OryKratos.Types: data CompleteSelfServiceRecoveryFlowWithLinkMethod
- OryKratos.Types: data CompleteSelfServiceSettingsFlowWithPasswordMethod
- OryKratos.Types: data CompleteSelfServiceVerificationFlowWithLinkMethod
- OryKratos.Types: data GenericErrorPayload
- OryKratos.Types: data LoginFlowMethod
- OryKratos.Types: data LoginFlowMethodConfig
- OryKratos.Types: data LoginFlowMethods
- OryKratos.Types: data RecoveryFlowMethod
- OryKratos.Types: data RecoveryFlowMethodConfig
- OryKratos.Types: data RecoveryFlowMethods
- OryKratos.Types: data RegistrationFlowMethod
- OryKratos.Types: data RegistrationFlowMethodConfig
- OryKratos.Types: data RegistrationFlowMethods
- OryKratos.Types: data SettingsFlowMethod
- OryKratos.Types: data SettingsFlowMethodConfig
- OryKratos.Types: data SettingsFlowMethods
- OryKratos.Types: data VerifiableAddress
- OryKratos.Types: data VerificationFlowMethod
- OryKratos.Types: data VerificationFlowMethodConfig
- OryKratos.Types: data VerificationFlowMethods
+ OryKratos.API: [$sel:initializeSelfServiceLoginForBrowsers:OryKratosBackend] :: OryKratosBackend m -> Maybe Bool -> m NoContent
+ OryKratos.API: [$sel:initializeSelfServiceLoginForNativeApps:OryKratosBackend] :: OryKratosBackend m -> Maybe Bool -> m LoginFlow
+ OryKratos.API: [$sel:initializeSelfServiceRecoveryForBrowsers:OryKratosBackend] :: OryKratosBackend m -> m NoContent
+ OryKratos.API: [$sel:initializeSelfServiceRecoveryForNativeApps:OryKratosBackend] :: OryKratosBackend m -> m RecoveryFlow
+ OryKratos.API: [$sel:initializeSelfServiceRegistrationForBrowsers:OryKratosBackend] :: OryKratosBackend m -> m NoContent
+ OryKratos.API: [$sel:initializeSelfServiceRegistrationForNativeApps:OryKratosBackend] :: OryKratosBackend m -> m RegistrationFlow
+ OryKratos.API: [$sel:initializeSelfServiceSettingsForBrowsers:OryKratosBackend] :: OryKratosBackend m -> m NoContent
+ OryKratos.API: [$sel:initializeSelfServiceSettingsForNativeApps:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> m SettingsFlow
+ OryKratos.API: [$sel:initializeSelfServiceVerificationForBrowsers:OryKratosBackend] :: OryKratosBackend m -> m NoContent
+ OryKratos.API: [$sel:initializeSelfServiceVerificationForNativeApps:OryKratosBackend] :: OryKratosBackend m -> m VerificationFlow
+ OryKratos.API: [$sel:submitSelfServiceLoginFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m LoginViaApiResponse
+ OryKratos.API: [$sel:submitSelfServiceRecoveryFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m NoContent
+ OryKratos.API: [$sel:submitSelfServiceRecoveryFlowWithLinkMethod:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Maybe Text -> SubmitSelfServiceRecoveryFlowWithLinkMethod -> m NoContent
+ OryKratos.API: [$sel:submitSelfServiceRegistrationFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m RegistrationViaApiResponse
+ OryKratos.API: [$sel:submitSelfServiceSettingsFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> Maybe Text -> m SettingsViaApiResponse
+ OryKratos.API: [$sel:submitSelfServiceVerificationFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Value -> m NoContent
+ OryKratos.API: [$sel:toSession:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> m Session
+ OryKratos.Types: AdminCreateSelfServiceRecoveryLinkBody :: Maybe Text -> UUID -> CreateRecoveryLink
+ OryKratos.Types: AuthenticateOKBody :: Text -> Text -> AuthenticateOKBody
+ OryKratos.Types: ContainerChangeResponseItem :: Int -> Text -> ContainerChangeResponseItem
+ OryKratos.Types: ContainerCreateCreatedBody :: Text -> [Text] -> ContainerCreateCreatedBody
+ OryKratos.Types: ContainerTopOKBody :: [[Text]] -> [Text] -> ContainerTopOKBody
+ OryKratos.Types: ContainerUpdateOKBody :: [Text] -> ContainerUpdateOKBody
+ OryKratos.Types: ContainerWaitOKBody :: ContainerWaitOKBodyError -> Integer -> ContainerWaitOKBody
+ OryKratos.Types: ContainerWaitOKBodyError :: Maybe Text -> ContainerWaitOKBodyError
+ OryKratos.Types: ErrorResponse :: Text -> ErrorResponse
+ OryKratos.Types: GraphDriverData :: Map String Text -> Text -> GraphDriverData
+ OryKratos.Types: IdResponse :: Text -> IdResponse
+ OryKratos.Types: ImageDeleteResponseItem :: Maybe Text -> Maybe Text -> ImageDeleteResponseItem
+ OryKratos.Types: ImageSummary :: Integer -> Integer -> Text -> Map String Text -> Text -> [Text] -> [Text] -> Integer -> Integer -> Integer -> ImageSummary
+ OryKratos.Types: JsonError :: GenericError -> JsonError
+ OryKratos.Types: Meta :: Maybe UiText -> Meta
+ OryKratos.Types: SelfServiceErrorContainer :: Maybe UTCTime -> Value -> Text -> Maybe UTCTime -> SelfServiceErrorContainer
+ OryKratos.Types: SubmitSelfServiceBrowserSettingsOIDCFlowPayload :: Maybe Text -> Maybe Text -> Maybe Text -> SubmitSelfServiceBrowserSettingsOIDCFlowPayload
+ OryKratos.Types: SubmitSelfServiceLoginFlowWithPasswordMethod :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> SubmitSelfServiceLoginFlowWithPasswordMethod
+ OryKratos.Types: SubmitSelfServiceRecoveryFlowWithLinkMethod :: Maybe Text -> Maybe Text -> SubmitSelfServiceRecoveryFlowWithLinkMethod
+ OryKratos.Types: SubmitSelfServiceRegistrationFlowWithPasswordMethod :: Maybe Text -> Text -> Maybe Text -> Maybe Value -> SubmitSelfServiceRegistrationFlowWithPasswordMethod
+ OryKratos.Types: SubmitSelfServiceSettingsFlowWithPasswordMethod :: Maybe Text -> Maybe Text -> Text -> SubmitSelfServiceSettingsFlowWithPasswordMethod
+ OryKratos.Types: UiContainer :: Text -> Maybe [UiText] -> Text -> [UiNode] -> UiContainer
+ OryKratos.Types: UiNode :: Value -> Text -> [UiText] -> Meta -> Text -> UiNode
+ OryKratos.Types: UiNodeAnchorAttributes :: Text -> UiText -> UiNodeAnchorAttributes
+ OryKratos.Types: UiNodeImageAttributes :: Text -> UiNodeImageAttributes
+ OryKratos.Types: UiNodeInputAttributes :: Bool -> Maybe UiText -> Text -> Maybe Text -> Maybe Bool -> Text -> Maybe Value -> UiNodeInputAttributes
+ OryKratos.Types: UiNodeTextAttributes :: UiText -> UiNodeTextAttributes
+ OryKratos.Types: UiText :: Maybe Value -> Integer -> Text -> Text -> UiText
+ OryKratos.Types: VerifiableIdentityAddress :: Maybe UTCTime -> UUID -> Text -> Maybe UTCTime -> Text -> Bool -> Maybe UTCTime -> Text -> VerifiableIdentityAddress
+ OryKratos.Types: [$sel:_data:GraphDriverData] :: GraphDriverData -> Map String Text
+ OryKratos.Types: [$sel:_pattern:UiNodeInputAttributes] :: UiNodeInputAttributes -> Maybe Text
+ OryKratos.Types: [$sel:_type:UiNodeInputAttributes] :: UiNodeInputAttributes -> Text
+ OryKratos.Types: [$sel:_type:UiNode] :: UiNode -> Text
+ OryKratos.Types: [$sel:_type:UiText] :: UiText -> Text
+ OryKratos.Types: [$sel:action:UiContainer] :: UiContainer -> Text
+ OryKratos.Types: [$sel:attributes:UiNode] :: UiNode -> Value
+ OryKratos.Types: [$sel:code:GenericError] :: GenericError -> Maybe Integer
+ OryKratos.Types: [$sel:containers:ImageSummary] :: ImageSummary -> Integer
+ OryKratos.Types: [$sel:context:UiText] :: UiText -> Maybe Value
+ OryKratos.Types: [$sel:created:ImageSummary] :: ImageSummary -> Integer
+ OryKratos.Types: [$sel:created_at:Identity] :: Identity -> Maybe UTCTime
+ OryKratos.Types: [$sel:created_at:LoginFlow] :: LoginFlow -> Maybe UTCTime
+ OryKratos.Types: [$sel:created_at:SelfServiceErrorContainer] :: SelfServiceErrorContainer -> Maybe UTCTime
+ OryKratos.Types: [$sel:created_at:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Maybe UTCTime
+ OryKratos.Types: [$sel:csrf_token:SubmitSelfServiceLoginFlowWithPasswordMethod] :: SubmitSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:csrf_token:SubmitSelfServiceRecoveryFlowWithLinkMethod] :: SubmitSelfServiceRecoveryFlowWithLinkMethod -> Maybe Text
+ OryKratos.Types: [$sel:csrf_token:SubmitSelfServiceRegistrationFlowWithPasswordMethod] :: SubmitSelfServiceRegistrationFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:csrf_token:SubmitSelfServiceSettingsFlowWithPasswordMethod] :: SubmitSelfServiceSettingsFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:debug:GenericError] :: GenericError -> Maybe Text
+ OryKratos.Types: [$sel:deleted:ImageDeleteResponseItem] :: ImageDeleteResponseItem -> Maybe Text
+ OryKratos.Types: [$sel:details:GenericError] :: GenericError -> Maybe Value
+ OryKratos.Types: [$sel:disabled:UiNodeInputAttributes] :: UiNodeInputAttributes -> Bool
+ OryKratos.Types: [$sel:email:SubmitSelfServiceRecoveryFlowWithLinkMethod] :: SubmitSelfServiceRecoveryFlowWithLinkMethod -> Maybe Text
+ OryKratos.Types: [$sel:error:ContainerWaitOKBody] :: ContainerWaitOKBody -> ContainerWaitOKBodyError
+ OryKratos.Types: [$sel:error:JsonError] :: JsonError -> GenericError
+ OryKratos.Types: [$sel:error_message:ContainerWaitOKBodyError] :: ContainerWaitOKBodyError -> Maybe Text
+ OryKratos.Types: [$sel:errors:SelfServiceErrorContainer] :: SelfServiceErrorContainer -> Value
+ OryKratos.Types: [$sel:expires_in:AdminCreateSelfServiceRecoveryLinkBody] :: CreateRecoveryLink -> Maybe Text
+ OryKratos.Types: [$sel:flow:SubmitSelfServiceBrowserSettingsOIDCFlowPayload] :: SubmitSelfServiceBrowserSettingsOIDCFlowPayload -> Maybe Text
+ OryKratos.Types: [$sel:group:UiNode] :: UiNode -> Text
+ OryKratos.Types: [$sel:href:UiNodeAnchorAttributes] :: UiNodeAnchorAttributes -> Text
+ OryKratos.Types: [$sel:id:ContainerCreateCreatedBody] :: ContainerCreateCreatedBody -> Text
+ OryKratos.Types: [$sel:id:IdResponse] :: IdResponse -> Text
+ OryKratos.Types: [$sel:id:ImageSummary] :: ImageSummary -> Text
+ OryKratos.Types: [$sel:id:SelfServiceErrorContainer] :: SelfServiceErrorContainer -> Text
+ OryKratos.Types: [$sel:id:UiText] :: UiText -> Integer
+ OryKratos.Types: [$sel:id:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> UUID
+ OryKratos.Types: [$sel:identity_id:AdminCreateSelfServiceRecoveryLinkBody] :: CreateRecoveryLink -> UUID
+ OryKratos.Types: [$sel:identity_token:AuthenticateOKBody] :: AuthenticateOKBody -> Text
+ OryKratos.Types: [$sel:item_kind:ContainerChangeResponseItem] :: ContainerChangeResponseItem -> Int
+ OryKratos.Types: [$sel:item_path:ContainerChangeResponseItem] :: ContainerChangeResponseItem -> Text
+ OryKratos.Types: [$sel:label:Meta] :: Meta -> Maybe UiText
+ OryKratos.Types: [$sel:label:UiNodeInputAttributes] :: UiNodeInputAttributes -> Maybe UiText
+ OryKratos.Types: [$sel:labels:ImageSummary] :: ImageSummary -> Map String Text
+ OryKratos.Types: [$sel:link:SubmitSelfServiceBrowserSettingsOIDCFlowPayload] :: SubmitSelfServiceBrowserSettingsOIDCFlowPayload -> Maybe Text
+ OryKratos.Types: [$sel:message:ErrorResponse] :: ErrorResponse -> Text
+ OryKratos.Types: [$sel:message:GenericError] :: GenericError -> Text
+ OryKratos.Types: [$sel:messages:UiContainer] :: UiContainer -> Maybe [UiText]
+ OryKratos.Types: [$sel:messages:UiNode] :: UiNode -> [UiText]
+ OryKratos.Types: [$sel:meta:UiNode] :: UiNode -> Meta
+ OryKratos.Types: [$sel:method:SubmitSelfServiceLoginFlowWithPasswordMethod] :: SubmitSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:method:SubmitSelfServiceRegistrationFlowWithPasswordMethod] :: SubmitSelfServiceRegistrationFlowWithPasswordMethod -> Text
+ OryKratos.Types: [$sel:method:SubmitSelfServiceSettingsFlowWithPasswordMethod] :: SubmitSelfServiceSettingsFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:method:UiContainer] :: UiContainer -> Text
+ OryKratos.Types: [$sel:name:GraphDriverData] :: GraphDriverData -> Text
+ OryKratos.Types: [$sel:name:UiNodeInputAttributes] :: UiNodeInputAttributes -> Text
+ OryKratos.Types: [$sel:nodes:UiContainer] :: UiContainer -> [UiNode]
+ OryKratos.Types: [$sel:parent_id:ImageSummary] :: ImageSummary -> Text
+ OryKratos.Types: [$sel:password:SubmitSelfServiceLoginFlowWithPasswordMethod] :: SubmitSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:password:SubmitSelfServiceRegistrationFlowWithPasswordMethod] :: SubmitSelfServiceRegistrationFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:password:SubmitSelfServiceSettingsFlowWithPasswordMethod] :: SubmitSelfServiceSettingsFlowWithPasswordMethod -> Text
+ OryKratos.Types: [$sel:password_identifier:SubmitSelfServiceLoginFlowWithPasswordMethod] :: SubmitSelfServiceLoginFlowWithPasswordMethod -> Maybe Text
+ OryKratos.Types: [$sel:processes:ContainerTopOKBody] :: ContainerTopOKBody -> [[Text]]
+ OryKratos.Types: [$sel:reason:GenericError] :: GenericError -> Maybe Text
+ OryKratos.Types: [$sel:repo_digests:ImageSummary] :: ImageSummary -> [Text]
+ OryKratos.Types: [$sel:repo_tags:ImageSummary] :: ImageSummary -> [Text]
+ OryKratos.Types: [$sel:request:GenericError] :: GenericError -> Maybe Text
+ OryKratos.Types: [$sel:required:UiNodeInputAttributes] :: UiNodeInputAttributes -> Maybe Bool
+ OryKratos.Types: [$sel:shared_size:ImageSummary] :: ImageSummary -> Integer
+ OryKratos.Types: [$sel:size:ImageSummary] :: ImageSummary -> Integer
+ OryKratos.Types: [$sel:src:UiNodeImageAttributes] :: UiNodeImageAttributes -> Text
+ OryKratos.Types: [$sel:state:UpdateIdentity] :: UpdateIdentity -> Value
+ OryKratos.Types: [$sel:status:AuthenticateOKBody] :: AuthenticateOKBody -> Text
+ OryKratos.Types: [$sel:status:GenericError] :: GenericError -> Maybe Text
+ OryKratos.Types: [$sel:status:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Text
+ OryKratos.Types: [$sel:status_code:ContainerWaitOKBody] :: ContainerWaitOKBody -> Integer
+ OryKratos.Types: [$sel:text:UiNodeTextAttributes] :: UiNodeTextAttributes -> UiText
+ OryKratos.Types: [$sel:text:UiText] :: UiText -> Text
+ OryKratos.Types: [$sel:title:UiNodeAnchorAttributes] :: UiNodeAnchorAttributes -> UiText
+ OryKratos.Types: [$sel:titles:ContainerTopOKBody] :: ContainerTopOKBody -> [Text]
+ OryKratos.Types: [$sel:traits:SubmitSelfServiceRegistrationFlowWithPasswordMethod] :: SubmitSelfServiceRegistrationFlowWithPasswordMethod -> Maybe Value
+ OryKratos.Types: [$sel:ui:LoginFlow] :: LoginFlow -> UiContainer
+ OryKratos.Types: [$sel:ui:RecoveryFlow] :: RecoveryFlow -> UiContainer
+ OryKratos.Types: [$sel:ui:RegistrationFlow] :: RegistrationFlow -> UiContainer
+ OryKratos.Types: [$sel:ui:SettingsFlow] :: SettingsFlow -> UiContainer
+ OryKratos.Types: [$sel:ui:VerificationFlow] :: VerificationFlow -> UiContainer
+ OryKratos.Types: [$sel:unlink:SubmitSelfServiceBrowserSettingsOIDCFlowPayload] :: SubmitSelfServiceBrowserSettingsOIDCFlowPayload -> Maybe Text
+ OryKratos.Types: [$sel:untagged:ImageDeleteResponseItem] :: ImageDeleteResponseItem -> Maybe Text
+ OryKratos.Types: [$sel:updated_at:Identity] :: Identity -> Maybe UTCTime
+ OryKratos.Types: [$sel:updated_at:LoginFlow] :: LoginFlow -> Maybe UTCTime
+ OryKratos.Types: [$sel:updated_at:SelfServiceErrorContainer] :: SelfServiceErrorContainer -> Maybe UTCTime
+ OryKratos.Types: [$sel:updated_at:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Maybe UTCTime
+ OryKratos.Types: [$sel:value:UiNodeInputAttributes] :: UiNodeInputAttributes -> Maybe Value
+ OryKratos.Types: [$sel:value:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Text
+ OryKratos.Types: [$sel:verified:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Bool
+ OryKratos.Types: [$sel:verified_at:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Maybe UTCTime
+ OryKratos.Types: [$sel:via:VerifiableIdentityAddress] :: VerifiableIdentityAddress -> Text
+ OryKratos.Types: [$sel:virtual_size:ImageSummary] :: ImageSummary -> Integer
+ OryKratos.Types: [$sel:warnings:ContainerCreateCreatedBody] :: ContainerCreateCreatedBody -> [Text]
+ OryKratos.Types: [$sel:warnings:ContainerUpdateOKBody] :: ContainerUpdateOKBody -> [Text]
+ OryKratos.Types: data AuthenticateOKBody
+ OryKratos.Types: data ContainerChangeResponseItem
+ OryKratos.Types: data ContainerCreateCreatedBody
+ OryKratos.Types: data ContainerTopOKBody
+ OryKratos.Types: data ContainerUpdateOKBody
+ OryKratos.Types: data ContainerWaitOKBody
+ OryKratos.Types: data ContainerWaitOKBodyError
+ OryKratos.Types: data ErrorResponse
+ OryKratos.Types: data GraphDriverData
+ OryKratos.Types: data IdResponse
+ OryKratos.Types: data ImageDeleteResponseItem
+ OryKratos.Types: data ImageSummary
+ OryKratos.Types: data JsonError
+ OryKratos.Types: data Meta
+ OryKratos.Types: data SelfServiceErrorContainer
+ OryKratos.Types: data SubmitSelfServiceBrowserSettingsOIDCFlowPayload
+ OryKratos.Types: data SubmitSelfServiceLoginFlowWithPasswordMethod
+ OryKratos.Types: data SubmitSelfServiceRecoveryFlowWithLinkMethod
+ OryKratos.Types: data SubmitSelfServiceRegistrationFlowWithPasswordMethod
+ OryKratos.Types: data SubmitSelfServiceSettingsFlowWithPasswordMethod
+ OryKratos.Types: data UiContainer
+ OryKratos.Types: data UiNode
+ OryKratos.Types: data UiNodeAnchorAttributes
+ OryKratos.Types: data UiNodeImageAttributes
+ OryKratos.Types: data UiNodeInputAttributes
+ OryKratos.Types: data UiNodeTextAttributes
+ OryKratos.Types: data UiText
+ OryKratos.Types: data VerifiableIdentityAddress
- OryKratos.API: OryKratosBackend :: (CreateIdentity -> m Identity) -> (CreateRecoveryLink -> m RecoveryLink) -> (Text -> m ()) -> (Text -> m Identity) -> (Text -> m Value) -> (Maybe Text -> m ErrorContainer) -> (Maybe Text -> m LoginFlow) -> (Maybe Text -> m RecoveryFlow) -> (Maybe Text -> m RegistrationFlow) -> (Maybe Text -> m SettingsFlow) -> (Maybe Text -> m VerificationFlow) -> (Maybe Integer -> Maybe Integer -> m [Identity]) -> m () -> (Text -> UpdateIdentity -> m Identity) -> m HealthStatus -> m HealthStatus -> m () -> (Maybe Text -> CompleteSelfServiceLoginFlowWithPasswordMethod -> m LoginViaApiResponse) -> (Maybe Text -> Maybe Text -> CompleteSelfServiceRecoveryFlowWithLinkMethod -> m ()) -> (Maybe Text -> Value -> m RegistrationViaApiResponse) -> (Maybe Text -> CompleteSelfServiceSettingsFlowWithPasswordMethod -> m SettingsViaApiResponse) -> (Maybe Text -> Value -> m SettingsFlow) -> (Maybe Text -> Maybe Text -> CompleteSelfServiceVerificationFlowWithLinkMethod -> m ()) -> m () -> (Maybe Bool -> m LoginFlow) -> m () -> m RecoveryFlow -> m () -> m RegistrationFlow -> m () -> m SettingsFlow -> m () -> m VerificationFlow -> m () -> (RevokeSession -> m ()) -> (Maybe Text -> Maybe Text -> m Session) -> m Version -> OryKratosBackend m
+ OryKratos.API: OryKratosBackend :: (CreateIdentity -> m Identity) -> (CreateRecoveryLink -> m RecoveryLink) -> (Text -> m NoContent) -> (Text -> m Identity) -> (Text -> m Value) -> (Maybe Text -> m SelfServiceErrorContainer) -> (Maybe Text -> m LoginFlow) -> (Maybe Text -> m RecoveryFlow) -> (Maybe Text -> m RegistrationFlow) -> (Maybe Text -> Maybe Text -> m SettingsFlow) -> (Maybe Text -> m VerificationFlow) -> (Maybe Integer -> Maybe Integer -> m [Identity]) -> m NoContent -> (Text -> UpdateIdentity -> m Identity) -> m HealthStatus -> m HealthStatus -> m NoContent -> (Maybe Bool -> m NoContent) -> (Maybe Bool -> m LoginFlow) -> m NoContent -> m RecoveryFlow -> m NoContent -> m RegistrationFlow -> m NoContent -> (Maybe Text -> m SettingsFlow) -> m NoContent -> m VerificationFlow -> (RevokeSession -> m NoContent) -> (Maybe Text -> Value -> m LoginViaApiResponse) -> (Maybe Text -> Value -> m NoContent) -> (Maybe Text -> Maybe Text -> SubmitSelfServiceRecoveryFlowWithLinkMethod -> m NoContent) -> (Maybe Text -> Value -> m RegistrationViaApiResponse) -> (Maybe Text -> Value -> Maybe Text -> m SettingsViaApiResponse) -> (Maybe Text -> Value -> m NoContent) -> (Maybe Text -> m Session) -> m Version -> OryKratosBackend m
- OryKratos.API: [$sel:deleteIdentity:OryKratosBackend] :: OryKratosBackend m -> Text -> m ()
+ OryKratos.API: [$sel:deleteIdentity:OryKratosBackend] :: OryKratosBackend m -> Text -> m NoContent
- OryKratos.API: [$sel:getSelfServiceError:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> m ErrorContainer
+ OryKratos.API: [$sel:getSelfServiceError:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> m SelfServiceErrorContainer
- OryKratos.API: [$sel:getSelfServiceSettingsFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> m SettingsFlow
+ OryKratos.API: [$sel:getSelfServiceSettingsFlow:OryKratosBackend] :: OryKratosBackend m -> Maybe Text -> Maybe Text -> m SettingsFlow
- OryKratos.API: [$sel:initializeSelfServiceBrowserLogoutFlow:OryKratosBackend] :: OryKratosBackend m -> m ()
+ OryKratos.API: [$sel:initializeSelfServiceBrowserLogoutFlow:OryKratosBackend] :: OryKratosBackend m -> m NoContent
- OryKratos.API: [$sel:prometheus:OryKratosBackend] :: OryKratosBackend m -> m ()
+ OryKratos.API: [$sel:prometheus:OryKratosBackend] :: OryKratosBackend m -> m NoContent
- OryKratos.API: [$sel:revokeSession:OryKratosBackend] :: OryKratosBackend m -> RevokeSession -> m ()
+ OryKratos.API: [$sel:revokeSession:OryKratosBackend] :: OryKratosBackend m -> RevokeSession -> m NoContent
- OryKratos.API: type OryKratosAPI = "identities" :> ReqBody '[JSON] CreateIdentity :> Verb 'POST 200 '[JSON] Identity :<|> "recovery" :> "link" :> ReqBody '[JSON] CreateRecoveryLink :> Verb 'POST 200 '[JSON] RecoveryLink :<|> "identities" :> Capture "id" Text :> Verb 'DELETE 200 '[JSON] () :<|> "identities" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Identity :<|> "schemas" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Value :<|> "self-service" :> "errors" :> QueryParam "error" Text :> Verb 'GET 200 '[JSON] ErrorContainer :<|> "self-service" :> "login" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] LoginFlow :<|> "self-service" :> "recovery" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RecoveryFlow :<|> "self-service" :> "registration" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RegistrationFlow :<|> "self-service" :> "settings" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] SettingsFlow :<|> "self-service" :> "verification" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] VerificationFlow :<|> "identities" :> QueryParam "per_page" Integer :> QueryParam "page" Integer :> Verb 'GET 200 '[JSON] [Identity] :<|> "metrics" :> "prometheus" :> Verb 'GET 200 '[JSON] () :<|> "identities" :> Capture "id" Text :> ReqBody '[JSON] UpdateIdentity :> Verb 'PUT 200 '[JSON] Identity :<|> "health" :> "alive" :> Verb 'GET 200 '[JSON] HealthStatus :<|> "health" :> "ready" :> Verb 'GET 200 '[JSON] HealthStatus :<|> "self-service" :> "browser" :> "flows" :> "registration" :> "strategies" :> "oidc" :> "settings" :> "connections" :> Verb 'POST 200 '[JSON] () :<|> "self-service" :> "login" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceLoginFlowWithPasswordMethod :> Verb 'POST 200 '[JSON] LoginViaApiResponse :<|> "self-service" :> "recovery" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceRecoveryFlowWithLinkMethod :> Verb 'POST 200 '[JSON] () :<|> "self-service" :> "registration" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] RegistrationViaApiResponse :<|> "self-service" :> "settings" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceSettingsFlowWithPasswordMethod :> Verb 'POST 200 '[JSON] SettingsViaApiResponse :<|> "self-service" :> "settings" :> "methods" :> "profile" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] SettingsFlow :<|> "self-service" :> "verification" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceVerificationFlowWithLinkMethod :> Verb 'POST 200 '[JSON] () :<|> "self-service" :> "browser" :> "flows" :> "logout" :> Verb 'GET 200 '[JSON] () :<|> "self-service" :> "login" :> "api" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] LoginFlow :<|> "self-service" :> "login" :> "browser" :> Verb 'GET 200 '[JSON] () :<|> "self-service" :> "recovery" :> "api" :> Verb 'GET 200 '[JSON] RecoveryFlow :<|> "self-service" :> "recovery" :> "browser" :> Verb 'GET 200 '[JSON] () :<|> "self-service" :> "registration" :> "api" :> Verb 'GET 200 '[JSON] RegistrationFlow :<|> "self-service" :> "registration" :> "browser" :> Verb 'GET 200 '[JSON] () :<|> "self-service" :> "settings" :> "api" :> Verb 'GET 200 '[JSON] SettingsFlow :<|> "self-service" :> "settings" :> "browser" :> Verb 'GET 200 '[JSON] () :<|> "self-service" :> "verification" :> "api" :> Verb 'GET 200 '[JSON] VerificationFlow :<|> "self-service" :> "verification" :> "browser" :> Verb 'GET 200 '[JSON] () :<|> "sessions" :> ReqBody '[JSON] RevokeSession :> Verb 'DELETE 200 '[JSON] () :<|> "sessions" :> "whoami" :> QueryParam "Authorization" Text :> Header "Cookie" Text :> Verb 'GET 200 '[JSON] Session :<|> "version" :> Verb 'GET 200 '[JSON] Version :<|> Raw
+ OryKratos.API: type OryKratosAPI = "identities" :> ReqBody '[JSON] CreateIdentity :> Verb 'POST 200 '[JSON] Identity :<|> "recovery" :> "link" :> ReqBody '[JSON] CreateRecoveryLink :> Verb 'POST 200 '[JSON] RecoveryLink :<|> "identities" :> Capture "id" Text :> Verb 'DELETE 200 '[JSON] NoContent :<|> "identities" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Identity :<|> "identities" :> QueryParam "per_page" Integer :> QueryParam "page" Integer :> Verb 'GET 200 '[JSON] [Identity] :<|> "metrics" :> "prometheus" :> Verb 'GET 200 '[JSON] NoContent :<|> "identities" :> Capture "id" Text :> ReqBody '[JSON] UpdateIdentity :> Verb 'PUT 200 '[JSON] Identity :<|> "health" :> "alive" :> Verb 'GET 200 '[JSON] HealthStatus :<|> "health" :> "ready" :> Verb 'GET 200 '[JSON] HealthStatus :<|> "schemas" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Value :<|> "self-service" :> "errors" :> QueryParam "error" Text :> Verb 'GET 200 '[JSON] SelfServiceErrorContainer :<|> "self-service" :> "login" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] LoginFlow :<|> "self-service" :> "recovery" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RecoveryFlow :<|> "self-service" :> "registration" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RegistrationFlow :<|> "self-service" :> "settings" :> "flows" :> QueryParam "id" Text :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] SettingsFlow :<|> "self-service" :> "verification" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] VerificationFlow :<|> "self-service" :> "browser" :> "flows" :> "logout" :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "login" :> "browser" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "login" :> "api" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] LoginFlow :<|> "self-service" :> "recovery" :> "browser" :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "recovery" :> "api" :> Verb 'GET 200 '[JSON] RecoveryFlow :<|> "self-service" :> "registration" :> "browser" :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "registration" :> "api" :> Verb 'GET 200 '[JSON] RegistrationFlow :<|> "self-service" :> "settings" :> "browser" :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "settings" :> "api" :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] SettingsFlow :<|> "self-service" :> "verification" :> "browser" :> Verb 'GET 200 '[JSON] NoContent :<|> "self-service" :> "verification" :> "api" :> Verb 'GET 200 '[JSON] VerificationFlow :<|> "sessions" :> ReqBody '[JSON] RevokeSession :> Verb 'DELETE 200 '[JSON] NoContent :<|> "self-service" :> "login" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] LoginViaApiResponse :<|> "self-service" :> "recovery" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] NoContent :<|> "self-service" :> "recovery" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] SubmitSelfServiceRecoveryFlowWithLinkMethod :> Verb 'POST 200 '[JSON] NoContent :<|> "self-service" :> "registration" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] RegistrationViaApiResponse :<|> "self-service" :> "settings" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Header "X-Session-Token" Text :> Verb 'POST 200 '[JSON] SettingsViaApiResponse :<|> "self-service" :> "verification" :> "methods" :> "link" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] NoContent :<|> "sessions" :> "whoami" :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] Session :<|> "version" :> Verb 'GET 200 '[JSON] Version :<|> Raw
- OryKratos.Types: GenericError :: Maybe GenericErrorPayload -> GenericError
+ OryKratos.Types: GenericError :: Maybe Integer -> Maybe Text -> Maybe Value -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> GenericError
- OryKratos.Types: Identity :: UUID -> Maybe [RecoveryAddress] -> Text -> Text -> Value -> Maybe [VerifiableAddress] -> Identity
+ OryKratos.Types: Identity :: Maybe UTCTime -> Text -> Maybe [RecoveryAddress] -> Text -> Text -> Value -> Maybe UTCTime -> Maybe [VerifiableIdentityAddress] -> Identity
- OryKratos.Types: LoginFlow :: Maybe Text -> UTCTime -> Maybe Bool -> UUID -> UTCTime -> Maybe [Message] -> LoginFlowMethods -> Text -> Maybe Text -> LoginFlow
+ OryKratos.Types: LoginFlow :: Maybe Text -> Maybe UTCTime -> UTCTime -> Maybe Bool -> Text -> UTCTime -> Text -> Text -> UiContainer -> Maybe UTCTime -> LoginFlow
- OryKratos.Types: RecoveryFlow :: Maybe Text -> UTCTime -> UUID -> UTCTime -> Maybe [Message] -> RecoveryFlowMethods -> Text -> Text -> Maybe Text -> RecoveryFlow
+ OryKratos.Types: RecoveryFlow :: Maybe Text -> UTCTime -> Text -> UTCTime -> Text -> Text -> Maybe Text -> UiContainer -> RecoveryFlow
- OryKratos.Types: RegistrationFlow :: Maybe Text -> UTCTime -> UUID -> UTCTime -> Maybe [Message] -> RegistrationFlowMethods -> Text -> Maybe Text -> RegistrationFlow
+ OryKratos.Types: RegistrationFlow :: Maybe Text -> UTCTime -> Text -> UTCTime -> Text -> Maybe Text -> UiContainer -> RegistrationFlow
- OryKratos.Types: SettingsFlow :: Maybe Text -> UTCTime -> UUID -> Identity -> UTCTime -> Maybe [Message] -> SettingsFlowMethods -> Text -> Text -> Maybe Text -> SettingsFlow
+ OryKratos.Types: SettingsFlow :: Maybe Text -> UTCTime -> Text -> Identity -> UTCTime -> Text -> Text -> Maybe Text -> UiContainer -> SettingsFlow
- OryKratos.Types: UpdateIdentity :: Maybe Text -> Value -> UpdateIdentity
+ OryKratos.Types: UpdateIdentity :: Maybe Text -> Value -> Value -> UpdateIdentity
- OryKratos.Types: VerificationFlow :: Maybe Text -> Maybe UTCTime -> Maybe UUID -> Maybe UTCTime -> Maybe [Message] -> Map String VerificationFlowMethod -> Maybe Text -> Text -> Maybe Text -> VerificationFlow
+ OryKratos.Types: VerificationFlow :: Maybe Text -> Maybe UTCTime -> Text -> Maybe UTCTime -> Maybe Text -> Text -> Text -> UiContainer -> VerificationFlow
- OryKratos.Types: [$sel:_type:LoginFlow] :: LoginFlow -> Maybe Text
+ OryKratos.Types: [$sel:_type:LoginFlow] :: LoginFlow -> Text
- OryKratos.Types: [$sel:_type:VerificationFlow] :: VerificationFlow -> Maybe Text
+ OryKratos.Types: [$sel:_type:VerificationFlow] :: VerificationFlow -> Text
- OryKratos.Types: [$sel:id:Identity] :: Identity -> UUID
+ OryKratos.Types: [$sel:id:Identity] :: Identity -> Text
- OryKratos.Types: [$sel:id:LoginFlow] :: LoginFlow -> UUID
+ OryKratos.Types: [$sel:id:LoginFlow] :: LoginFlow -> Text
- OryKratos.Types: [$sel:id:RecoveryFlow] :: RecoveryFlow -> UUID
+ OryKratos.Types: [$sel:id:RecoveryFlow] :: RecoveryFlow -> Text
- OryKratos.Types: [$sel:id:RegistrationFlow] :: RegistrationFlow -> UUID
+ OryKratos.Types: [$sel:id:RegistrationFlow] :: RegistrationFlow -> Text
- OryKratos.Types: [$sel:id:SettingsFlow] :: SettingsFlow -> UUID
+ OryKratos.Types: [$sel:id:SettingsFlow] :: SettingsFlow -> Text
- OryKratos.Types: [$sel:id:VerificationFlow] :: VerificationFlow -> Maybe UUID
+ OryKratos.Types: [$sel:id:VerificationFlow] :: VerificationFlow -> Text
- OryKratos.Types: [$sel:verifiable_addresses:Identity] :: Identity -> Maybe [VerifiableAddress]
+ OryKratos.Types: [$sel:verifiable_addresses:Identity] :: Identity -> Maybe [VerifiableIdentityAddress]

Files

lib/OryKratos/API.hs view
@@ -80,7 +80,7 @@   parseQueryParam = parseSeparatedQueryList '|'  instance FromHttpApiData a => FromHttpApiData (QueryList 'MultiParamArray a) where-  parseQueryParam = error "unimplemented FromHttpApiData for MultiParamArray collection format"+  parseQueryParam = Prelude.error "unimplemented FromHttpApiData for MultiParamArray collection format"  parseSeparatedQueryList :: FromHttpApiData a => Char -> Text -> Either Text (QueryList p a) parseSeparatedQueryList char = fmap QueryList . mapM parseQueryParam . T.split (== char)@@ -98,7 +98,7 @@   toQueryParam = formatSeparatedQueryList '|'  instance ToHttpApiData a => ToHttpApiData (QueryList 'MultiParamArray a) where-  toQueryParam = error "unimplemented ToHttpApiData for MultiParamArray collection format"+  toQueryParam = Prelude.error "unimplemented ToHttpApiData for MultiParamArray collection format"  formatSeparatedQueryList :: ToHttpApiData a => Char -> QueryList p a -> Text formatSeparatedQueryList char = T.intercalate (T.singleton char) . map toQueryParam . fromQueryList@@ -107,40 +107,39 @@ type OryKratosAPI =   "identities" :> ReqBody '[JSON] CreateIdentity :> Verb 'POST 200 '[JSON] Identity -- 'createIdentity' route     :<|> "recovery" :> "link" :> ReqBody '[JSON] CreateRecoveryLink :> Verb 'POST 200 '[JSON] RecoveryLink -- 'createRecoveryLink' route-    :<|> "identities" :> Capture "id" Text :> Verb 'DELETE 200 '[JSON] () -- 'deleteIdentity' route+    :<|> "identities" :> Capture "id" Text :> Verb 'DELETE 200 '[JSON] NoContent -- 'deleteIdentity' route     :<|> "identities" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Identity -- 'getIdentity' route+    :<|> "identities" :> QueryParam "per_page" Integer :> QueryParam "page" Integer :> Verb 'GET 200 '[JSON] [Identity] -- 'listIdentities' route+    :<|> "metrics" :> "prometheus" :> Verb 'GET 200 '[JSON] NoContent -- 'prometheus' route+    :<|> "identities" :> Capture "id" Text :> ReqBody '[JSON] UpdateIdentity :> Verb 'PUT 200 '[JSON] Identity -- 'updateIdentity' route+    :<|> "health" :> "alive" :> Verb 'GET 200 '[JSON] HealthStatus -- 'isInstanceAlive' route+    :<|> "health" :> "ready" :> Verb 'GET 200 '[JSON] HealthStatus -- 'isInstanceReady' route     :<|> "schemas" :> Capture "id" Text :> Verb 'GET 200 '[JSON] Value -- 'getSchema' route-    :<|> "self-service" :> "errors" :> QueryParam "error" Text :> Verb 'GET 200 '[JSON] ErrorContainer -- 'getSelfServiceError' route+    :<|> "self-service" :> "errors" :> QueryParam "error" Text :> Verb 'GET 200 '[JSON] SelfServiceErrorContainer -- 'getSelfServiceError' route     :<|> "self-service" :> "login" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] LoginFlow -- 'getSelfServiceLoginFlow' route     :<|> "self-service" :> "recovery" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RecoveryFlow -- 'getSelfServiceRecoveryFlow' route     :<|> "self-service" :> "registration" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] RegistrationFlow -- 'getSelfServiceRegistrationFlow' route-    :<|> "self-service" :> "settings" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] SettingsFlow -- 'getSelfServiceSettingsFlow' route+    :<|> "self-service" :> "settings" :> "flows" :> QueryParam "id" Text :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] SettingsFlow -- 'getSelfServiceSettingsFlow' route     :<|> "self-service" :> "verification" :> "flows" :> QueryParam "id" Text :> Verb 'GET 200 '[JSON] VerificationFlow -- 'getSelfServiceVerificationFlow' route-    :<|> "identities" :> QueryParam "per_page" Integer :> QueryParam "page" Integer :> Verb 'GET 200 '[JSON] [Identity] -- 'listIdentities' route-    :<|> "metrics" :> "prometheus" :> Verb 'GET 200 '[JSON] () -- 'prometheus' route-    :<|> "identities" :> Capture "id" Text :> ReqBody '[JSON] UpdateIdentity :> Verb 'PUT 200 '[JSON] Identity -- 'updateIdentity' route-    :<|> "health" :> "alive" :> Verb 'GET 200 '[JSON] HealthStatus -- 'isInstanceAlive' route-    :<|> "health" :> "ready" :> Verb 'GET 200 '[JSON] HealthStatus -- 'isInstanceReady' route-    :<|> "self-service" :> "browser" :> "flows" :> "registration" :> "strategies" :> "oidc" :> "settings" :> "connections" :> Verb 'POST 200 '[JSON] () -- 'completeSelfServiceBrowserSettingsOIDCSettingsFlow' route-    :<|> "self-service" :> "login" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceLoginFlowWithPasswordMethod :> Verb 'POST 200 '[JSON] LoginViaApiResponse -- 'completeSelfServiceLoginFlowWithPasswordMethod' route-    :<|> "self-service" :> "recovery" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceRecoveryFlowWithLinkMethod :> Verb 'POST 200 '[JSON] () -- 'completeSelfServiceRecoveryFlowWithLinkMethod' route-    :<|> "self-service" :> "registration" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] RegistrationViaApiResponse -- 'completeSelfServiceRegistrationFlowWithPasswordMethod' route-    :<|> "self-service" :> "settings" :> "methods" :> "password" :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceSettingsFlowWithPasswordMethod :> Verb 'POST 200 '[JSON] SettingsViaApiResponse -- 'completeSelfServiceSettingsFlowWithPasswordMethod' route-    :<|> "self-service" :> "settings" :> "methods" :> "profile" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] SettingsFlow -- 'completeSelfServiceSettingsFlowWithProfileMethod' route-    :<|> "self-service" :> "verification" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] CompleteSelfServiceVerificationFlowWithLinkMethod :> Verb 'POST 200 '[JSON] () -- 'completeSelfServiceVerificationFlowWithLinkMethod' route-    :<|> "self-service" :> "browser" :> "flows" :> "logout" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceBrowserLogoutFlow' route-    :<|> "self-service" :> "login" :> "api" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] LoginFlow -- 'initializeSelfServiceLoginViaAPIFlow' route-    :<|> "self-service" :> "login" :> "browser" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceLoginViaBrowserFlow' route-    :<|> "self-service" :> "recovery" :> "api" :> Verb 'GET 200 '[JSON] RecoveryFlow -- 'initializeSelfServiceRecoveryViaAPIFlow' route-    :<|> "self-service" :> "recovery" :> "browser" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceRecoveryViaBrowserFlow' route-    :<|> "self-service" :> "registration" :> "api" :> Verb 'GET 200 '[JSON] RegistrationFlow -- 'initializeSelfServiceRegistrationViaAPIFlow' route-    :<|> "self-service" :> "registration" :> "browser" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceRegistrationViaBrowserFlow' route-    :<|> "self-service" :> "settings" :> "api" :> Verb 'GET 200 '[JSON] SettingsFlow -- 'initializeSelfServiceSettingsViaAPIFlow' route-    :<|> "self-service" :> "settings" :> "browser" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceSettingsViaBrowserFlow' route-    :<|> "self-service" :> "verification" :> "api" :> Verb 'GET 200 '[JSON] VerificationFlow -- 'initializeSelfServiceVerificationViaAPIFlow' route-    :<|> "self-service" :> "verification" :> "browser" :> Verb 'GET 200 '[JSON] () -- 'initializeSelfServiceVerificationViaBrowserFlow' route-    :<|> "sessions" :> ReqBody '[JSON] RevokeSession :> Verb 'DELETE 200 '[JSON] () -- 'revokeSession' route-    :<|> "sessions" :> "whoami" :> QueryParam "Authorization" Text :> Header "Cookie" Text :> Verb 'GET 200 '[JSON] Session -- 'whoami' route+    :<|> "self-service" :> "browser" :> "flows" :> "logout" :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceBrowserLogoutFlow' route+    :<|> "self-service" :> "login" :> "browser" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceLoginForBrowsers' route+    :<|> "self-service" :> "login" :> "api" :> QueryParam "refresh" Bool :> Verb 'GET 200 '[JSON] LoginFlow -- 'initializeSelfServiceLoginForNativeApps' route+    :<|> "self-service" :> "recovery" :> "browser" :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceRecoveryForBrowsers' route+    :<|> "self-service" :> "recovery" :> "api" :> Verb 'GET 200 '[JSON] RecoveryFlow -- 'initializeSelfServiceRecoveryForNativeApps' route+    :<|> "self-service" :> "registration" :> "browser" :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceRegistrationForBrowsers' route+    :<|> "self-service" :> "registration" :> "api" :> Verb 'GET 200 '[JSON] RegistrationFlow -- 'initializeSelfServiceRegistrationForNativeApps' route+    :<|> "self-service" :> "settings" :> "browser" :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceSettingsForBrowsers' route+    :<|> "self-service" :> "settings" :> "api" :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] SettingsFlow -- 'initializeSelfServiceSettingsForNativeApps' route+    :<|> "self-service" :> "verification" :> "browser" :> Verb 'GET 200 '[JSON] NoContent -- 'initializeSelfServiceVerificationForBrowsers' route+    :<|> "self-service" :> "verification" :> "api" :> Verb 'GET 200 '[JSON] VerificationFlow -- 'initializeSelfServiceVerificationForNativeApps' route+    :<|> "sessions" :> ReqBody '[JSON] RevokeSession :> Verb 'DELETE 200 '[JSON] NoContent -- 'revokeSession' route+    :<|> "self-service" :> "login" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] LoginViaApiResponse -- 'submitSelfServiceLoginFlow' route+    :<|> "self-service" :> "recovery" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] NoContent -- 'submitSelfServiceRecoveryFlow' route+    :<|> "self-service" :> "recovery" :> "methods" :> "link" :> QueryParam "token" Text :> QueryParam "flow" Text :> ReqBody '[JSON] SubmitSelfServiceRecoveryFlowWithLinkMethod :> Verb 'POST 200 '[JSON] NoContent -- 'submitSelfServiceRecoveryFlowWithLinkMethod' route+    :<|> "self-service" :> "registration" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] RegistrationViaApiResponse -- 'submitSelfServiceRegistrationFlow' route+    :<|> "self-service" :> "settings" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Header "X-Session-Token" Text :> Verb 'POST 200 '[JSON] SettingsViaApiResponse -- 'submitSelfServiceSettingsFlow' route+    :<|> "self-service" :> "verification" :> "methods" :> "link" :> QueryParam "flow" Text :> ReqBody '[JSON] Value :> Verb 'POST 200 '[JSON] NoContent -- 'submitSelfServiceVerificationFlow' route+    :<|> "sessions" :> "whoami" :> Header "X-Session-Token" Text :> Verb 'GET 200 '[JSON] Session -- 'toSession' route     :<|> "version" :> Verb 'GET 200 '[JSON] Version -- 'getVersion' route     :<|> Raw @@ -162,78 +161,76 @@ -- is a backend that executes actions by sending HTTP requests (see @createOryKratosClient@). Alternatively, provided -- a backend, the API can be served using @runOryKratosMiddlewareServer@. data OryKratosBackend m = OryKratosBackend-  { -- | This endpoint creates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future.  Learn how identities work in [ORY Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).+  { -- | This endpoint creates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future.  Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).     createIdentity :: CreateIdentity -> m Identity,     -- | This endpoint creates a recovery link which should be given to the user in order for them to recover (or activate) their account.     createRecoveryLink :: CreateRecoveryLink -> m RecoveryLink,-    -- | Calling this endpoint irrecoverably and permanently deletes the identity given its ID. This action can not be undone. This endpoint returns 204 when the identity was deleted or when the identity was not found, in which case it is assumed that is has been deleted already.  Learn how identities work in [ORY Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).-    deleteIdentity :: Text -> m (),-    -- | Learn how identities work in [ORY Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).+    -- | Calling this endpoint irrecoverably and permanently deletes the identity given its ID. This action can not be undone. This endpoint returns 204 when the identity was deleted or when the identity was not found, in which case it is assumed that is has been deleted already.  Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).+    deleteIdentity :: Text -> m NoContent,+    -- | Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).     getIdentity :: Text -> m Identity,     -- | Get a Traits Schema Definition     getSchema :: Text -> m Value,-    -- | This endpoint returns the error associated with a user-facing self service errors.  This endpoint supports stub values to help you implement the error UI:  `?error=stub:500` - returns a stub 500 (Internal Server Error) error.  More information can be found at [ORY Kratos User User Facing Error Documentation](https://www.ory.sh/docs/kratos/self-service/flows/user-facing-errors).-    getSelfServiceError :: Maybe Text -> m ErrorContainer,-    -- | This endpoint returns a login flow's context with, for example, error details and other information.  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    -- | This endpoint returns the error associated with a user-facing self service errors.  This endpoint supports stub values to help you implement the error UI:  `?error=stub:500` - returns a stub 500 (Internal Server Error) error.  More information can be found at [Ory Kratos User User Facing Error Documentation](https://www.ory.sh/docs/kratos/self-service/flows/user-facing-errors).+    getSelfServiceError :: Maybe Text -> m SelfServiceErrorContainer,+    -- | This endpoint returns a login flow's context with, for example, error details and other information.  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).     getSelfServiceLoginFlow :: Maybe Text -> m LoginFlow,-    -- | This endpoint returns a recovery flow's context with, for example, error details and other information.  More information can be found at [ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).+    -- | This endpoint returns a recovery flow's context with, for example, error details and other information.  More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).     getSelfServiceRecoveryFlow :: Maybe Text -> m RecoveryFlow,-    -- | This endpoint returns a registration flow's context with, for example, error details and other information.  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    -- | This endpoint returns a registration flow's context with, for example, error details and other information.  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).     getSelfServiceRegistrationFlow :: Maybe Text -> m RegistrationFlow,-    -- | When accessing this endpoint through ORY Kratos' Public API you must ensure that either the ORY Kratos Session Cookie or the ORY Kratos Session Token are set. The public endpoint does not return 404 status codes but instead 403 or 500 to improve data privacy.  You can access this endpoint without credentials when using ORY Kratos' Admin API.  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    getSelfServiceSettingsFlow :: Maybe Text -> m SettingsFlow,-    -- | This endpoint returns a verification flow's context with, for example, error details and other information.  More information can be found at [ORY Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).+    -- | When accessing this endpoint through Ory Kratos' Public API you must ensure that either the Ory Kratos Session Cookie or the Ory Kratos Session Token are set. The public endpoint does not return 404 status codes but instead 403 or 500 to improve data privacy.  You can access this endpoint without credentials when using Ory Kratos' Admin API.  More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).+    getSelfServiceSettingsFlow :: Maybe Text -> Maybe Text -> m SettingsFlow,+    -- | This endpoint returns a verification flow's context with, for example, error details and other information.  More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).     getSelfServiceVerificationFlow :: Maybe Text -> m VerificationFlow,-    -- | Lists all identities. Does not support search at the moment.  Learn how identities work in [ORY Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).+    -- | Lists all identities. Does not support search at the moment.  Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).     listIdentities :: Maybe Integer -> Maybe Integer -> m [Identity],     -- | ``` metadata: annotations: prometheus.io/port: \"4434\" prometheus.io/path: \"/metrics/prometheus\" ```-    prometheus :: m (),-    -- | This endpoint updates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future.  The full identity payload (except credentials) is expected. This endpoint does not support patching.  Learn how identities work in [ORY Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).+    prometheus :: m NoContent,+    -- | This endpoint updates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future.  The full identity payload (except credentials) is expected. This endpoint does not support patching.  Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model).     updateIdentity :: Text -> UpdateIdentity -> m Identity,     -- | This endpoint returns a 200 status code when the HTTP server is up running. This status does currently not include checks whether the database connection is working.  If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.  Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.     isInstanceAlive :: m HealthStatus,     -- | This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g. the database) are responsive as well.  If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.  Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.     isInstanceReady :: m HealthStatus,-    -- | This endpoint completes a browser-based settings flow. This is usually achieved by POSTing data to this endpoint.  > This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...) and HTML Forms.  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    completeSelfServiceBrowserSettingsOIDCSettingsFlow :: m (),-    -- | Use this endpoint to complete a login flow by sending an identity's identifier and password. This endpoint behaves differently for API and browser flows.  API flows expect `application/json` to be sent in the body and responds with HTTP 200 and a application/json body with the session token on success; HTTP 302 redirect to a fresh login flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after login URL or the `return_to` value if it was set and if the login succeeded; a HTTP 302 redirect to the login UI URL with the flow ID containing the validation errors otherwise.  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    completeSelfServiceLoginFlowWithPasswordMethod :: Maybe Text -> CompleteSelfServiceLoginFlowWithPasswordMethod -> m LoginViaApiResponse,-    -- | Use this endpoint to complete a recovery flow using the link method. This endpoint behaves differently for API and browser flows and has several states:  `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Recovery UI URL with the Recovery Flow ID appended. `sent_email` is the success state after `choose_method` and allows the user to request another recovery email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a recovery link\") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with a new Recovery Flow ID which contains an error message that the recovery link was invalid.  More information can be found at [ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).-    completeSelfServiceRecoveryFlowWithLinkMethod :: Maybe Text -> Maybe Text -> CompleteSelfServiceRecoveryFlowWithLinkMethod -> m (),-    -- | Use this endpoint to complete a registration flow by sending an identity's traits and password. This endpoint behaves differently for API and browser flows.  API flows expect `application/json` to be sent in the body and respond with HTTP 200 and a application/json body with the created identity success - if the session hook is configured the `session` and `session_token` will also be included; HTTP 302 redirect to a fresh registration flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after registration URL or the `return_to` value if it was set and if the registration succeeded; a HTTP 302 redirect to the registration UI URL with the flow ID containing the validation errors otherwise.  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    completeSelfServiceRegistrationFlowWithPasswordMethod :: Maybe Text -> Value -> m RegistrationViaApiResponse,-    -- | Use this endpoint to complete a settings flow by sending an identity's updated password. This endpoint behaves differently for API and browser flows.  API-initiated flows expect `application/json` to be sent in the body and respond with HTTP 200 and an application/json body with the session token on success; HTTP 302 redirect to a fresh settings flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. HTTP 401 when the endpoint is called without a valid session token. HTTP 403 when `selfservice.flows.settings.privileged_session_max_age` was reached. Implies that the user needs to re-authenticate.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after settings URL or the `return_to` value if it was set and if the flow succeeded; a HTTP 302 redirect to the Settings UI URL with the flow ID containing the validation errors otherwise. a HTTP 302 redirect to the login endpoint when `selfservice.flows.settings.privileged_session_max_age` was reached.  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    completeSelfServiceSettingsFlowWithPasswordMethod :: Maybe Text -> CompleteSelfServiceSettingsFlowWithPasswordMethod -> m SettingsViaApiResponse,-    -- | Use this endpoint to complete a settings flow by sending an identity's updated traits. This endpoint behaves differently for API and browser flows.  API-initiated flows expect `application/json` to be sent in the body and respond with HTTP 200 and an application/json body with the session token on success; HTTP 302 redirect to a fresh settings flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. HTTP 401 when the endpoint is called without a valid session token. HTTP 403 when `selfservice.flows.settings.privileged_session_max_age` was reached and a sensitive field was updated (e.g. recovery email). Implies that the user needs to re-authenticate.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after settings URL or the `return_to` value if it was set and if the flow succeeded; a HTTP 302 redirect to the settings UI URL with the flow ID containing the validation errors otherwise. a HTTP 302 redirect to the login endpoint when `selfservice.flows.settings.privileged_session_max_age` was reached.  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    completeSelfServiceSettingsFlowWithProfileMethod :: Maybe Text -> Value -> m SettingsFlow,-    -- | Use this endpoint to complete a verification flow using the link method. This endpoint behaves differently for API and browser flows and has several states:  `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh verification flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Verification UI URL with the Verification Flow ID appended. `sent_email` is the success state after `choose_method` and allows the user to request another verification email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a verification link\") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Verification UI URL with a new Verification Flow ID which contains an error message that the verification link was invalid.  More information can be found at [ORY Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).-    completeSelfServiceVerificationFlowWithLinkMethod :: Maybe Text -> Maybe Text -> CompleteSelfServiceVerificationFlowWithLinkMethod -> m (),-    -- | This endpoint initializes a logout flow.  > This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  On successful logout, the browser will be redirected (HTTP 302 Found) to the `return_to` parameter of the initial request or fall back to `urls.default_return_to`.  More information can be found at [ORY Kratos User Logout Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-logout).-    initializeSelfServiceBrowserLogoutFlow :: m (),-    -- | This endpoint initiates a login flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set.  To fetch an existing login flow call `/self-service/login/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks, including CSRF login attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    initializeSelfServiceLoginViaAPIFlow :: Maybe Bool -> m LoginFlow,-    -- | This endpoint initializes a browser-based user login flow. Once initialized, the browser will be redirected to `selfservice.flows.login.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    initializeSelfServiceLoginViaBrowserFlow :: m (),-    -- | This endpoint initiates a recovery flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error.  To fetch an existing recovery flow call `/self-service/recovery/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).-    initializeSelfServiceRecoveryViaAPIFlow :: m RecoveryFlow,-    -- | This endpoint initializes a browser-based account recovery flow. Once initialized, the browser will be redirected to `selfservice.flows.recovery.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists, the browser is returned to the configured return URL.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [ORY Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).-    initializeSelfServiceRecoveryViaBrowserFlow :: m (),-    -- | This endpoint initiates a registration flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set.  To fetch an existing registration flow call `/self-service/registration/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    initializeSelfServiceRegistrationViaAPIFlow :: m RegistrationFlow,-    -- | This endpoint initializes a browser-based user registration flow. Once initialized, the browser will be redirected to `selfservice.flows.registration.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set.  :::note  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  :::  More information can be found at [ORY Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).-    initializeSelfServiceRegistrationViaBrowserFlow :: m (),-    -- | This endpoint initiates a settings flow for API clients such as mobile devices, smart TVs, and so on. You must provide a valid ORY Kratos Session Token for this endpoint to respond with HTTP 200 OK.  To fetch an existing settings flow call `/self-service/settings/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    initializeSelfServiceSettingsViaAPIFlow :: m SettingsFlow,-    -- | This endpoint initializes a browser-based user settings flow. Once initialized, the browser will be redirected to `selfservice.flows.settings.ui_url` with the flow ID set as the query parameter `?flow=`. If no valid ORY Kratos Session Cookie is included in the request, a login flow will be initialized.  :::note  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  :::  More information can be found at [ORY Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).-    initializeSelfServiceSettingsViaBrowserFlow :: m (),-    -- | This endpoint initiates a verification flow for API clients such as mobile devices, smart TVs, and so on.  To fetch an existing verification flow call `/self-service/verification/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [ORY Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).-    initializeSelfServiceVerificationViaAPIFlow :: m VerificationFlow,-    -- | This endpoint initializes a browser-based account verification flow. Once initialized, the browser will be redirected to `selfservice.flows.verification.ui_url` with the flow ID set as the query parameter `?flow=`.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [ORY Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).-    initializeSelfServiceVerificationViaBrowserFlow :: m (),-    -- | Use this endpoint to revoke a session using its token. This endpoint is particularly useful for API clients such as mobile apps to log the user out of the system and invalidate the session.  This endpoint does not remove any HTTP Cookies - use the Self-Service Logout Flow instead.-    revokeSession :: RevokeSession -> m (),-    -- | Uses the HTTP Headers in the GET request to determine (e.g. by using checking the cookies) who is authenticated. Returns a session object in the body or 401 if the credentials are invalid or no credentials were sent. Additionally when the request it successful it adds the user ID to the 'X-Kratos-Authenticated-Identity-Id' header in the response.  This endpoint is useful for reverse proxies and API Gateways.-    whoami :: Maybe Text -> Maybe Text -> m Session,+    -- | This endpoint initializes a logout flow.  > This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  On successful logout, the browser will be redirected (HTTP 302 Found) to the `return_to` parameter of the initial request or fall back to `urls.default_return_to`.  More information can be found at [Ory Kratos User Logout Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-logout).+    initializeSelfServiceBrowserLogoutFlow :: m NoContent,+    -- | This endpoint initializes a browser-based user login flow. Once initialized, the browser will be redirected to `selfservice.flows.login.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    initializeSelfServiceLoginForBrowsers :: Maybe Bool -> m NoContent,+    -- | This endpoint initiates a login flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set.  To fetch an existing login flow call `/self-service/login/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks, including CSRF login attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    initializeSelfServiceLoginForNativeApps :: Maybe Bool -> m LoginFlow,+    -- | This endpoint initializes a browser-based account recovery flow. Once initialized, the browser will be redirected to `selfservice.flows.recovery.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists, the browser is returned to the configured return URL.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).+    initializeSelfServiceRecoveryForBrowsers :: m NoContent,+    -- | This endpoint initiates a recovery flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error.  To fetch an existing recovery flow call `/self-service/recovery/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).+    initializeSelfServiceRecoveryForNativeApps :: m RecoveryFlow,+    -- | This endpoint initializes a browser-based user registration flow. Once initialized, the browser will be redirected to `selfservice.flows.registration.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set.  :::note  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  :::  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    initializeSelfServiceRegistrationForBrowsers :: m NoContent,+    -- | This endpoint initiates a registration flow for API clients such as mobile devices, smart TVs, and so on.  If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set.  To fetch an existing registration flow call `/self-service/registration/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    initializeSelfServiceRegistrationForNativeApps :: m RegistrationFlow,+    -- | This endpoint initializes a browser-based user settings flow. Once initialized, the browser will be redirected to `selfservice.flows.settings.ui_url` with the flow ID set as the query parameter `?flow=`. If no valid Ory Kratos Session Cookie is included in the request, a login flow will be initialized.  :::note  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  :::  More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).+    initializeSelfServiceSettingsForBrowsers :: m NoContent,+    -- | This endpoint initiates a settings flow for API clients such as mobile devices, smart TVs, and so on. You must provide a valid Ory Kratos Session Token for this endpoint to respond with HTTP 200 OK.  To fetch an existing settings flow call `/self-service/settings/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).+    initializeSelfServiceSettingsForNativeApps :: Maybe Text -> m SettingsFlow,+    -- | This endpoint initializes a browser-based account verification flow. Once initialized, the browser will be redirected to `selfservice.flows.verification.ui_url` with the flow ID set as the query parameter `?flow=`.  This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...).  More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).+    initializeSelfServiceVerificationForBrowsers :: m NoContent,+    -- | This endpoint initiates a verification flow for API clients such as mobile devices, smart TVs, and so on.  To fetch an existing verification flow call `/self-service/verification/flows?flow=<flow_id>`.  :::warning  You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks.  This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...).  :::  More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).+    initializeSelfServiceVerificationForNativeApps :: m VerificationFlow,+    -- | Use this endpoint to revoke a session using its token. This endpoint is particularly useful for API clients such as mobile apps to log the user out of the system and invalidate the session.  This endpoint does not remove any HTTP Cookies - use the Browser-Based Self-Service Logout Flow instead.+    revokeSession :: RevokeSession -> m NoContent,+    -- | Use this endpoint to complete a login flow. This endpoint behaves differently for API and browser flows.  API flows expect `application/json` to be sent in the body and responds with HTTP 200 and a application/json body with the session token on success; HTTP 302 redirect to a fresh login flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after login URL or the `return_to` value if it was set and if the login succeeded; a HTTP 302 redirect to the login UI URL with the flow ID containing the validation errors otherwise.  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    submitSelfServiceLoginFlow :: Maybe Text -> Value -> m LoginViaApiResponse,+    -- | Use this endpoint to complete a recovery flow. This endpoint behaves differently for API and browser flows and has several states:  `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Recovery UI URL with the Recovery Flow ID appended. `sent_email` is the success state after `choose_method` for the `link` method and allows the user to request another recovery email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a recovery link\") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with a new Recovery Flow ID which contains an error message that the recovery link was invalid.  More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).+    submitSelfServiceRecoveryFlow :: Maybe Text -> Value -> m NoContent,+    -- | Use this endpoint to complete a recovery flow using the link method. This endpoint behaves differently for API and browser flows and has several states:  `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Recovery UI URL with the Recovery Flow ID appended. `sent_email` is the success state after `choose_method` and allows the user to request another recovery email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a recovery link\") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with a new Recovery Flow ID which contains an error message that the recovery link was invalid.  More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx).+    submitSelfServiceRecoveryFlowWithLinkMethod :: Maybe Text -> Maybe Text -> SubmitSelfServiceRecoveryFlowWithLinkMethod -> m NoContent,+    -- | Use this endpoint to complete a registration flow by sending an identity's traits and password. This endpoint behaves differently for API and browser flows.  API flows expect `application/json` to be sent in the body and respond with HTTP 200 and a application/json body with the created identity success - if the session hook is configured the `session` and `session_token` will also be included; HTTP 302 redirect to a fresh registration flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after registration URL or the `return_to` value if it was set and if the registration succeeded; a HTTP 302 redirect to the registration UI URL with the flow ID containing the validation errors otherwise.  More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration).+    submitSelfServiceRegistrationFlow :: Maybe Text -> Value -> m RegistrationViaApiResponse,+    -- | Use this endpoint to complete a settings flow by sending an identity's updated password. This endpoint behaves differently for API and browser flows.  API-initiated flows expect `application/json` to be sent in the body and respond with HTTP 200 and an application/json body with the session token on success; HTTP 302 redirect to a fresh settings flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. HTTP 401 when the endpoint is called without a valid session token. HTTP 403 when `selfservice.flows.settings.privileged_session_max_age` was reached. Implies that the user needs to re-authenticate.  Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after settings URL or the `return_to` value if it was set and if the flow succeeded; a HTTP 302 redirect to the Settings UI URL with the flow ID containing the validation errors otherwise. a HTTP 302 redirect to the login endpoint when `selfservice.flows.settings.privileged_session_max_age` was reached.  More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings).+    submitSelfServiceSettingsFlow :: Maybe Text -> Value -> Maybe Text -> m SettingsViaApiResponse,+    -- | Use this endpoint to complete a verification flow. This endpoint behaves differently for API and browser flows and has several states:  `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh verification flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Verification UI URL with the Verification Flow ID appended. `sent_email` is the success state after `choose_method` when using the `link` method and allows the user to request another verification email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a verification link\") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Verification UI URL with a new Verification Flow ID which contains an error message that the verification link was invalid.  More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation).+    submitSelfServiceVerificationFlow :: Maybe Text -> Value -> m NoContent,+    -- | Uses the HTTP Headers in the GET request to determine (e.g. by using checking the cookies) who is authenticated. Returns a session object in the body or 401 if the credentials are invalid or no credentials were sent. Additionally when the request it successful it adds the user ID to the 'X-Kratos-Authenticated-Identity-Id' header in the response.  This endpoint is useful for:  AJAX calls. Remember to send credentials and set up CORS correctly! Reverse proxies and API Gateways Server-side calls - use the `X-Session-Token` header!+    toSession :: Maybe Text -> m Session,     -- | This endpoint returns the service version typically notated using semantic versioning.  If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.  Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.     getVersion :: m Version   }@@ -262,45 +259,43 @@ createOryKratosClient :: OryKratosBackend OryKratosClient createOryKratosClient = OryKratosBackend {..}   where-    ( (coerce -> createIdentity)-        :<|> (coerce -> createRecoveryLink)-        :<|> (coerce -> deleteIdentity)-        :<|> (coerce -> getIdentity)-        :<|> (coerce -> getSchema)-        :<|> (coerce -> getSelfServiceError)-        :<|> (coerce -> getSelfServiceLoginFlow)-        :<|> (coerce -> getSelfServiceRecoveryFlow)-        :<|> (coerce -> getSelfServiceRegistrationFlow)-        :<|> (coerce -> getSelfServiceSettingsFlow)-        :<|> (coerce -> getSelfServiceVerificationFlow)-        :<|> (coerce -> listIdentities)-        :<|> (coerce -> prometheus)-        :<|> (coerce -> updateIdentity)-        :<|> (coerce -> isInstanceAlive)-        :<|> (coerce -> isInstanceReady)-        :<|> (coerce -> completeSelfServiceBrowserSettingsOIDCSettingsFlow)-        :<|> (coerce -> completeSelfServiceLoginFlowWithPasswordMethod)-        :<|> (coerce -> completeSelfServiceRecoveryFlowWithLinkMethod)-        :<|> (coerce -> completeSelfServiceRegistrationFlowWithPasswordMethod)-        :<|> (coerce -> completeSelfServiceSettingsFlowWithPasswordMethod)-        :<|> (coerce -> completeSelfServiceSettingsFlowWithProfileMethod)-        :<|> (coerce -> completeSelfServiceVerificationFlowWithLinkMethod)-        :<|> (coerce -> initializeSelfServiceBrowserLogoutFlow)-        :<|> (coerce -> initializeSelfServiceLoginViaAPIFlow)-        :<|> (coerce -> initializeSelfServiceLoginViaBrowserFlow)-        :<|> (coerce -> initializeSelfServiceRecoveryViaAPIFlow)-        :<|> (coerce -> initializeSelfServiceRecoveryViaBrowserFlow)-        :<|> (coerce -> initializeSelfServiceRegistrationViaAPIFlow)-        :<|> (coerce -> initializeSelfServiceRegistrationViaBrowserFlow)-        :<|> (coerce -> initializeSelfServiceSettingsViaAPIFlow)-        :<|> (coerce -> initializeSelfServiceSettingsViaBrowserFlow)-        :<|> (coerce -> initializeSelfServiceVerificationViaAPIFlow)-        :<|> (coerce -> initializeSelfServiceVerificationViaBrowserFlow)-        :<|> (coerce -> revokeSession)-        :<|> (coerce -> whoami)-        :<|> (coerce -> getVersion)-        :<|> _-      ) = client (Proxy :: Proxy OryKratosAPI)+    ((coerce -> createIdentity) :<|>+     (coerce -> createRecoveryLink) :<|>+     (coerce -> deleteIdentity) :<|>+     (coerce -> getIdentity) :<|>+     (coerce -> listIdentities) :<|>+     (coerce -> prometheus) :<|>+     (coerce -> updateIdentity) :<|>+     (coerce -> isInstanceAlive) :<|>+     (coerce -> isInstanceReady) :<|>+     (coerce -> getSchema) :<|>+     (coerce -> getSelfServiceError) :<|>+     (coerce -> getSelfServiceLoginFlow) :<|>+     (coerce -> getSelfServiceRecoveryFlow) :<|>+     (coerce -> getSelfServiceRegistrationFlow) :<|>+     (coerce -> getSelfServiceSettingsFlow) :<|>+     (coerce -> getSelfServiceVerificationFlow) :<|>+     (coerce -> initializeSelfServiceBrowserLogoutFlow) :<|>+     (coerce -> initializeSelfServiceLoginForBrowsers) :<|>+     (coerce -> initializeSelfServiceLoginForNativeApps) :<|>+     (coerce -> initializeSelfServiceRecoveryForBrowsers) :<|>+     (coerce -> initializeSelfServiceRecoveryForNativeApps) :<|>+     (coerce -> initializeSelfServiceRegistrationForBrowsers) :<|>+     (coerce -> initializeSelfServiceRegistrationForNativeApps) :<|>+     (coerce -> initializeSelfServiceSettingsForBrowsers) :<|>+     (coerce -> initializeSelfServiceSettingsForNativeApps) :<|>+     (coerce -> initializeSelfServiceVerificationForBrowsers) :<|>+     (coerce -> initializeSelfServiceVerificationForNativeApps) :<|>+     (coerce -> revokeSession) :<|>+     (coerce -> submitSelfServiceLoginFlow) :<|>+     (coerce -> submitSelfServiceRecoveryFlow) :<|>+     (coerce -> submitSelfServiceRecoveryFlowWithLinkMethod) :<|>+     (coerce -> submitSelfServiceRegistrationFlow) :<|>+     (coerce -> submitSelfServiceSettingsFlow) :<|>+     (coerce -> submitSelfServiceVerificationFlow) :<|>+     (coerce -> toSession) :<|>+     (coerce -> getVersion) :<|>+     _) = client (Proxy :: Proxy OryKratosAPI)  -- | Run requests in the OryKratosClient monad. runOryKratosClient :: Config -> OryKratosClient a -> ExceptT ClientError IO a@@ -355,42 +350,40 @@   liftIO $ Warp.runSettings warpSettings $ middleware $ serve (Proxy :: Proxy OryKratosAPI) (serverFromBackend backend)   where     serverFromBackend OryKratosBackend {..} =-       coerce createIdentity-          :<|> coerce createRecoveryLink-          :<|> coerce deleteIdentity-          :<|> coerce getIdentity-          :<|> coerce getSchema-          :<|> coerce getSelfServiceError-          :<|> coerce getSelfServiceLoginFlow-          :<|> coerce getSelfServiceRecoveryFlow-          :<|> coerce getSelfServiceRegistrationFlow-          :<|> coerce getSelfServiceSettingsFlow-          :<|> coerce getSelfServiceVerificationFlow-          :<|> coerce listIdentities-          :<|> coerce prometheus-          :<|> coerce updateIdentity-          :<|> coerce isInstanceAlive-          :<|> coerce isInstanceReady-          :<|> coerce completeSelfServiceBrowserSettingsOIDCSettingsFlow-          :<|> coerce completeSelfServiceLoginFlowWithPasswordMethod-          :<|> coerce completeSelfServiceRecoveryFlowWithLinkMethod-          :<|> coerce completeSelfServiceRegistrationFlowWithPasswordMethod-          :<|> coerce completeSelfServiceSettingsFlowWithPasswordMethod-          :<|> coerce completeSelfServiceSettingsFlowWithProfileMethod-          :<|> coerce completeSelfServiceVerificationFlowWithLinkMethod-          :<|> coerce initializeSelfServiceBrowserLogoutFlow-          :<|> coerce initializeSelfServiceLoginViaAPIFlow-          :<|> coerce initializeSelfServiceLoginViaBrowserFlow-          :<|> coerce initializeSelfServiceRecoveryViaAPIFlow-          :<|> coerce initializeSelfServiceRecoveryViaBrowserFlow-          :<|> coerce initializeSelfServiceRegistrationViaAPIFlow-          :<|> coerce initializeSelfServiceRegistrationViaBrowserFlow-          :<|> coerce initializeSelfServiceSettingsViaAPIFlow-          :<|> coerce initializeSelfServiceSettingsViaBrowserFlow-          :<|> coerce initializeSelfServiceVerificationViaAPIFlow-          :<|> coerce initializeSelfServiceVerificationViaBrowserFlow-          :<|> coerce revokeSession-          :<|> coerce whoami-          :<|> coerce getVersion-          :<|> serveDirectoryFileServer "static"-      +      coerce createIdentity :<|>+       coerce createRecoveryLink :<|>+       coerce deleteIdentity :<|>+       coerce getIdentity :<|>+       coerce listIdentities :<|>+       coerce prometheus :<|>+       coerce updateIdentity :<|>+       coerce isInstanceAlive :<|>+       coerce isInstanceReady :<|>+       coerce getSchema :<|>+       coerce getSelfServiceError :<|>+       coerce getSelfServiceLoginFlow :<|>+       coerce getSelfServiceRecoveryFlow :<|>+       coerce getSelfServiceRegistrationFlow :<|>+       coerce getSelfServiceSettingsFlow :<|>+       coerce getSelfServiceVerificationFlow :<|>+       coerce initializeSelfServiceBrowserLogoutFlow :<|>+       coerce initializeSelfServiceLoginForBrowsers :<|>+       coerce initializeSelfServiceLoginForNativeApps :<|>+       coerce initializeSelfServiceRecoveryForBrowsers :<|>+       coerce initializeSelfServiceRecoveryForNativeApps :<|>+       coerce initializeSelfServiceRegistrationForBrowsers :<|>+       coerce initializeSelfServiceRegistrationForNativeApps :<|>+       coerce initializeSelfServiceSettingsForBrowsers :<|>+       coerce initializeSelfServiceSettingsForNativeApps :<|>+       coerce initializeSelfServiceVerificationForBrowsers :<|>+       coerce initializeSelfServiceVerificationForNativeApps :<|>+       coerce revokeSession :<|>+       coerce submitSelfServiceLoginFlow :<|>+       coerce submitSelfServiceRecoveryFlow :<|>+       coerce submitSelfServiceRecoveryFlowWithLinkMethod :<|>+       coerce submitSelfServiceRegistrationFlow :<|>+       coerce submitSelfServiceSettingsFlow :<|>+       coerce submitSelfServiceVerificationFlow :<|>+       coerce toSession :<|>+       coerce getVersion :<|>+       serveDirectoryFileServer "static"
lib/OryKratos/Types.hs view
@@ -5,6 +5,7 @@     module OryKratos.Types.Registration,     module OryKratos.Types.Settings,     module OryKratos.Types.Verification,+    module OryKratos.Types.Ui,   ) where @@ -14,3 +15,4 @@ import OryKratos.Types.Registration import OryKratos.Types.Settings import OryKratos.Types.Verification+import OryKratos.Types.Ui
lib/OryKratos/Types/Login.hs view
@@ -1,35 +1,37 @@ module OryKratos.Types.Login   ( LoginFlow (..),-    LoginFlowMethods (..),-    LoginFlowMethod (..),-    LoginFlowMethodConfig (..),     LoginViaApiResponse (..),+    AuthenticateOKBody (..),+    SubmitSelfServiceLoginFlowWithPasswordMethod (..),   ) where -import OryKratos.Types.Misc (FormField, Message, Session)+import OryKratos.Types.Misc (Session)+import OryKratos.Types.Ui (UiContainer) import Pre  -- | This object represents a login flow. A login flow is initiated at the \&quot;Initiate Login API / Browser Flow\&quot; endpoint by a client.  Once a login flow is completed successfully, a session cookie or session token will be issued. data LoginFlow = LoginFlow   { -- | and so on.     active :: Maybe Text,+    -- | CreatedAt is a helper struct field for gobuffalo.pop.+    created_at :: Maybe UTCTime,     -- | ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated.     expires_at :: UTCTime,     -- | Forced stores whether this login flow should enforce re-authentication.     forced :: Maybe Bool,     -- |-    id :: UUID,+    id :: Text,     -- | IssuedAt is the time (UTC) when the flow started.     issued_at :: UTCTime,-    -- |-    messages :: Maybe [Message],-    -- | List of login methods  This is the list of available login methods with their required form fields, such as `identifier` and `password` for the password login method. This will also contain error messages such as \"password can not be empty\".-    methods :: LoginFlowMethods,-    -- | RequestURL is the initial URL that was requested from ORY Kratos. It can be used to forward information contained in the URL's path or query for example.+    -- | RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example.     request_url :: Text,     -- | The flow type can either be `api` or `browser`.-    _type :: Maybe Text+    _type :: Text,+    -- |+    ui :: UiContainer,+    -- | UpdatedAt is a helper struct field for gobuffalo.pop.+    updated_at :: Maybe UTCTime   }   deriving stock (Show, Eq, Generic, Data) @@ -49,61 +51,48 @@           fieldLabelModifier = typeFieldRename         } -data LoginFlowMethods = LoginFlowMethods-  { password :: Maybe LoginFlowMethod,-    oidc :: Maybe LoginFlowMethod-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON LoginFlowMethods--instance ToJSON LoginFlowMethods where-  toEncoding = genericToEncoding defaultOptions---- |-data LoginFlowMethod = LoginFlowMethod+-- | The Response for Login Flows via API+data LoginViaApiResponse = LoginViaApiResponse   { -- |-    config :: LoginFlowMethodConfig,-    -- | and so on.-    method :: Text+    session :: Session,+    -- | The Session Token  A session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization Header:  Authorization: bearer ${session-token}  The session token is only issued for API flows, not for Browser flows!+    session_token :: Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON LoginFlowMethod+instance FromJSON LoginViaApiResponse -instance ToJSON LoginFlowMethod where+instance ToJSON LoginViaApiResponse where   toEncoding = genericToEncoding defaultOptions --- |-data LoginFlowMethodConfig = LoginFlowMethodConfig-  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.-    action :: Text,-    -- | Fields contains multiple fields-    fields :: [FormField],-    -- |-    messages :: Maybe [Message],-    -- | Method is the form method (e.g. POST)-    method :: Text,-    -- | Providers is set for the \"oidc\" flow method.-    providers :: Maybe [FormField]+-- | AuthenticateOKBody authenticate o k body+data AuthenticateOKBody = AuthenticateOKBody+  { -- | An opaque token used to authenticate a user after a successful login+    identity_token :: Text,+    -- | The status of the authentication+    status :: Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON LoginFlowMethodConfig+instance FromJSON AuthenticateOKBody -instance ToJSON LoginFlowMethodConfig where+instance ToJSON AuthenticateOKBody where   toEncoding = genericToEncoding defaultOptions --- | The Response for Login Flows via API-data LoginViaApiResponse = LoginViaApiResponse-  { -- |-    session :: Session,-    -- | The Session Token  A session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization Header:  Authorization: bearer ${session-token}  The session token is only issued for API flows, not for Browser flows!-    session_token :: Text+-- |+data SubmitSelfServiceLoginFlowWithPasswordMethod = SubmitSelfServiceLoginFlowWithPasswordMethod+  { -- | Sending the anti-csrf token is only required for browser login flows.+    csrf_token :: Maybe Text,+    -- | Method should be set to \"password\" when logging in using the identifier and password strategy.+    method :: Maybe Text,+    -- | The user's password.+    password :: Maybe Text,+    -- | Identifier is the email or username of the user trying to log in.+    password_identifier :: Maybe Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON LoginViaApiResponse+instance FromJSON SubmitSelfServiceLoginFlowWithPasswordMethod -instance ToJSON LoginViaApiResponse where+instance ToJSON SubmitSelfServiceLoginFlowWithPasswordMethod where   toEncoding = genericToEncoding defaultOptions
lib/OryKratos/Types/Misc.hs view
@@ -3,22 +3,30 @@     ErrorContainer (..),     FormField (..),     GenericError (..),-    GenericErrorPayload (..),     HealthNotReadyStatus (..),     HealthStatus (..),-    CompleteSelfServiceLoginFlowWithPasswordMethod (..),-    CompleteSelfServiceRecoveryFlowWithLinkMethod (..),-    CompleteSelfServiceSettingsFlowWithPasswordMethod (..),-    CompleteSelfServiceVerificationFlowWithLinkMethod (..),     CreateIdentity (..),     CreateRecoveryLink (..),     Identity (..),     RevokeSession (..),     Session (..),     UpdateIdentity (..),-    VerifiableAddress (..),+    VerifiableIdentityAddress (..),     Version (..),     RecoveryAddress (..),+    ContainerChangeResponseItem (..),+    ContainerCreateCreatedBody (..),+    ContainerTopOKBody (..),+    ContainerUpdateOKBody (..),+    ContainerWaitOKBody (..),+    ContainerWaitOKBodyError (..),+    ErrorResponse (..),+    GraphDriverData (..),+    IdResponse (..),+    ImageSummary (..),+    ImageDeleteResponseItem (..),+    JsonError (..),+    SelfServiceErrorContainer (..),   ) where @@ -104,38 +112,26 @@  -- | Error responses are sent when an error (e.g. unauthorized, bad request, ...) occurred. data GenericError = GenericError-  { -- |-    error :: Maybe GenericErrorPayload-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON GenericError--instance ToJSON GenericError where-  toEncoding = genericToEncoding defaultOptions---- |-data GenericErrorPayload = GenericErrorPayload-  { -- | Code represents the error status code (404, 403, 401, ...).+  { -- | The status code     code :: Maybe Integer,-    -- | Debug contains debug information. This is usually not available and has to be enabled.+    -- | Debug information  This field is often not exposed to protect against leaking sensitive information.     debug :: Maybe Text,-    -- |+    -- | Further error details     details :: Maybe Value,-    -- |-    message :: Maybe Text,-    -- |+    -- | Error message  The error's message.+    message :: Text,+    -- | A human-readable reason for the error     reason :: Maybe Text,-    -- |+    -- | The request ID  The request ID is often exposed internally in order to trace errors across service architectures. This is often a UUID.     request :: Maybe Text,-    -- |+    -- | The status description     status :: Maybe Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON GenericErrorPayload+instance FromJSON GenericError -instance ToJSON GenericErrorPayload where+instance ToJSON GenericError where   toEncoding = genericToEncoding defaultOptions  -- |@@ -235,7 +231,7 @@   toEncoding = genericToEncoding defaultOptions  -- |-data CreateRecoveryLink = CreateRecoveryLink+data CreateRecoveryLink = AdminCreateSelfServiceRecoveryLinkBody   { -- | Link Expires In  The recovery link will expire at that point in time. Defaults to the configuration value of `selfservice.flows.recovery.request_lifespan`.     expires_in :: Maybe Text,     -- |@@ -250,18 +246,22 @@  -- | data Identity = Identity-  { -- |-    id :: UUID,+  { -- | CreatedAt is a helper struct field for gobuffalo.pop.+    created_at :: Maybe UTCTime,+    -- |+    id :: Text,     -- | RecoveryAddresses contains all the addresses that can be used to recover an identity.     recovery_addresses :: Maybe [RecoveryAddress],     -- | SchemaID is the ID of the JSON Schema to be used for validating the identity's traits.     schema_id :: Text,     -- | SchemaURL is the URL of the endpoint where the identity's traits schema can be fetched from.  format: url     schema_url :: Text,-    -- |+    -- | Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_url`.     traits :: Value,+    -- | UpdatedAt is a helper struct field for gobuffalo.pop.+    updated_at :: Maybe UTCTime,     -- | VerifiableAddresses contains all the addresses that can be verified by the user.-    verifiable_addresses :: Maybe [VerifiableAddress]+    verifiable_addresses :: Maybe [VerifiableIdentityAddress]   }   deriving stock (Show, Eq, Generic, Data) @@ -270,6 +270,37 @@ instance ToJSON Identity where   toEncoding = genericToEncoding defaultOptions +-- | Credentials represents a specific credential type+data IdentityCredentials = IdentityCredentials+  { -- |+    config :: Maybe Value,+    -- | CreatedAt is a helper struct field for gobuffalo.pop.+    created_at :: Maybe UTCTime,+    -- | Identifiers represents a list of unique identifiers this credential type matches.+    identifiers :: Maybe [Text],+    -- | and so on.+    _type :: Maybe Text,+    -- | UpdatedAt is a helper struct field for gobuffalo.pop.+    updated_at :: Maybe UTCTime+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON IdentityCredentials where+  parseJSON =+    genericParseJSON+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++instance ToJSON IdentityCredentials where+  toEncoding =+    genericToEncoding+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }+ -- | data RevokeSession = RevokeSession   { -- | The Session Token  Invalidate this session token.@@ -308,6 +339,8 @@ data UpdateIdentity = UpdateIdentity   { -- | SchemaID is the ID of the JSON Schema to be used for validating the identity's traits. If set will update the Identity's SchemaID.     schema_id :: Maybe Text,+    -- | State is the identity's state.+    state :: Value,     -- | Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_id`.     traits :: Value   }@@ -319,25 +352,29 @@   toEncoding = genericToEncoding defaultOptions  -- |-data VerifiableAddress = VerifiableAddress-  { -- |-    id :: UUID,+data VerifiableIdentityAddress = VerifiableIdentityAddress+  { -- | When this entry was created+    created_at :: Maybe UTCTime,     -- |+    id :: UUID,+    -- | VerifiableAddressStatus must not exceed 16 characters as that is the limitation in the SQL Schema     status :: Text,-    -- |+    -- | When this entry was last updated+    updated_at :: Maybe UTCTime,+    -- | The address value  example foo@user.com     value :: Text,-    -- |+    -- | Indicates if the address has already been verified     verified :: Bool,     -- |     verified_at :: Maybe UTCTime,-    -- |+    -- | VerifiableAddressType must not exceed 16 characters as that is the limitation in the SQL Schema     via :: Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON VerifiableAddress+instance FromJSON VerifiableIdentityAddress -instance ToJSON VerifiableAddress where+instance ToJSON VerifiableIdentityAddress where   toEncoding = genericToEncoding defaultOptions  -- |@@ -366,4 +403,206 @@ instance FromJSON RecoveryAddress  instance ToJSON RecoveryAddress where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerChangeResponseItem change item in response to ContainerChanges operation+data ContainerChangeResponseItem = ContainerChangeResponseItem+  { -- | Kind of change+    item_kind :: Int,+    -- | Path to file that has changed+    item_path :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerChangeResponseItem++instance ToJSON ContainerChangeResponseItem where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerCreateCreatedBody OK response to ContainerCreate operation+data ContainerCreateCreatedBody = ContainerCreateCreatedBody+  { -- | The ID of the created container+    id :: Text,+    -- | Warnings encountered when creating the container+    warnings :: [Text]+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerCreateCreatedBody++instance ToJSON ContainerCreateCreatedBody where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerTopOKBody OK response to ContainerTop operation+data ContainerTopOKBody = ContainerTopOKBody+  { -- | Each process running in the container, where each is process is an array of values corresponding to the titles+    processes :: [[Text]],+    -- | The ps column titles+    titles :: [Text]+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerTopOKBody++instance ToJSON ContainerTopOKBody where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerUpdateOKBody OK response to ContainerUpdate operation+data ContainerUpdateOKBody = ContainerUpdateOKBody+  { -- | warnings+    warnings :: [Text]+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerUpdateOKBody++instance ToJSON ContainerUpdateOKBody where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerWaitOKBody OK response to ContainerWait operation+data ContainerWaitOKBody = ContainerWaitOKBody+  { -- |+    error :: ContainerWaitOKBodyError,+    -- | Exit code of the container+    status_code :: Integer+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerWaitOKBody++instance ToJSON ContainerWaitOKBody where+  toEncoding = genericToEncoding defaultOptions++-- | ContainerWaitOKBodyError container waiting error, if any+data ContainerWaitOKBodyError = ContainerWaitOKBodyError+  { -- | Details of an error+    error_message :: Maybe Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ContainerWaitOKBodyError++instance ToJSON ContainerWaitOKBodyError where+  toEncoding = genericToEncoding defaultOptions++-- |+data ErrorResponse = ErrorResponse+  { -- | The error message.+    message :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ErrorResponse++instance ToJSON ErrorResponse where+  toEncoding = genericToEncoding defaultOptions++data GraphDriverData = GraphDriverData+  { -- | data+    _data :: Map String Text,+    -- | name+    name :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON GraphDriverData where+  parseJSON =+    genericParseJSON+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++instance ToJSON GraphDriverData where+  toEncoding =+    genericToEncoding+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++-- | IDResponse Response to an API call that returns just an Id+data IdResponse = IdResponse+  { -- | The id of the newly created object.+    id :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON IdResponse++instance ToJSON IdResponse where+  toEncoding = genericToEncoding defaultOptions++-- | ImageDeleteResponseItem image delete response item+data ImageDeleteResponseItem = ImageDeleteResponseItem+  { -- | The image ID of an image that was deleted+    deleted :: Maybe Text,+    -- | The image ID of an image that was untagged+    untagged :: Maybe Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ImageDeleteResponseItem++instance ToJSON ImageDeleteResponseItem where+  toEncoding = genericToEncoding defaultOptions++-- | ImageSummary image summary+data ImageSummary = ImageSummary+  { -- | containers+    containers :: Integer,+    -- | created+    created :: Integer,+    -- | Id+    id :: Text,+    -- | labels+    labels :: Map String Text,+    -- | parent Id+    parent_id :: Text,+    -- | repo digests+    repo_digests :: [Text],+    -- | repo tags+    repo_tags :: [Text],+    -- | shared size+    shared_size :: Integer,+    -- | size+    size :: Integer,+    -- | virtual size+    virtual_size :: Integer+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON ImageSummary++instance ToJSON ImageSummary where+  toEncoding = genericToEncoding defaultOptions++-- | The standard Ory JSON API error format.+data JsonError = JsonError+  { -- |+    error :: GenericError+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON JsonError++instance ToJSON JsonError where+  toEncoding = genericToEncoding defaultOptions++-- |+data SelfServiceErrorContainer = SelfServiceErrorContainer+  { -- | CreatedAt is a helper struct field for gobuffalo.pop.+    created_at :: Maybe UTCTime,+    -- | Errors in the container+    errors :: Value,+    -- |+    id :: Text,+    -- | UpdatedAt is a helper struct field for gobuffalo.pop.+    updated_at :: Maybe UTCTime+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON SelfServiceErrorContainer++instance ToJSON SelfServiceErrorContainer where   toEncoding = genericToEncoding defaultOptions
lib/OryKratos/Types/Recovery.hs view
@@ -1,13 +1,11 @@ module OryKratos.Types.Recovery   ( RecoveryFlow (..),-    RecoveryFlowMethods (..),-    RecoveryFlowMethod (..),-    RecoveryFlowMethodConfig (..),     RecoveryLink (..),+    SubmitSelfServiceRecoveryFlowWithLinkMethod (..),   ) where -import OryKratos.Types.Misc (FormField, Message)+import OryKratos.Types.Ui (UiContainer) import Pre  -- | This request is used when an identity wants to recover their account.  We recommend reading the [Account Recovery Documentation](../self-service/flows/password-reset-account-recovery)@@ -17,19 +15,17 @@     -- | ExpiresAt is the time (UTC) when the request expires. If the user still wishes to update the setting, a new request has to be initiated.     expires_at :: UTCTime,     -- |-    id :: UUID,+    id :: Text,     -- | IssuedAt is the time (UTC) when the request occurred.     issued_at :: UTCTime,-    -- |-    messages :: Maybe [Message],-    -- | Methods contains context for all account recovery methods. If a registration request has been processed, but for example the password is incorrect, this will contain error messages.-    methods :: RecoveryFlowMethods,-    -- | RequestURL is the initial URL that was requested from ORY Kratos. It can be used to forward information contained in the URL's path or query for example.+    -- | RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example.     request_url :: Text,     -- |     state :: Text,     -- | The flow type can either be `api` or `browser`.-    _type :: Maybe Text+    _type :: Maybe Text,+    -- |+    ui :: UiContainer   }   deriving stock (Show, Eq, Generic, Data) @@ -50,50 +46,6 @@         }  -- |-data RecoveryFlowMethods = RecoveryFlowMethods-  { -- |-    link :: Maybe RecoveryFlowMethod-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RecoveryFlowMethods--instance ToJSON RecoveryFlowMethods where-  toEncoding = genericToEncoding defaultOptions---- |-data RecoveryFlowMethod = RecoveryFlowMethod-  { -- |-    config :: RecoveryFlowMethodConfig,-    -- | Method contains the request credentials type.-    method :: Text-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RecoveryFlowMethod--instance ToJSON RecoveryFlowMethod where-  toEncoding = genericToEncoding defaultOptions---- |-data RecoveryFlowMethodConfig = RecoveryFlowMethodConfig-  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.-    action :: Text,-    -- | Fields contains multiple fields-    fields :: [FormField],-    -- |-    messages :: Maybe [Message],-    -- | Method is the form method (e.g. POST)-    method :: Text-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RecoveryFlowMethodConfig--instance ToJSON RecoveryFlowMethodConfig where-  toEncoding = genericToEncoding defaultOptions---- | data RecoveryLink = RecoveryLink   { -- | Recovery Link Expires At  The timestamp when the recovery link expires.     expires_at :: Maybe UTCTime,@@ -105,4 +57,18 @@ instance FromJSON RecoveryLink  instance ToJSON RecoveryLink where+  toEncoding = genericToEncoding defaultOptions++-- |+data SubmitSelfServiceRecoveryFlowWithLinkMethod = SubmitSelfServiceRecoveryFlowWithLinkMethod+  { -- | Sending the anti-csrf token is only required for browser login flows.+    csrf_token :: Maybe Text,+    -- | Email to Recover  Needs to be set when initiating the flow. If the email is a registered recovery email, a recovery link will be sent. If the email is not known, a email with details on what happened will be sent instead.  format: email in: body+    email :: Maybe Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON SubmitSelfServiceRecoveryFlowWithLinkMethod++instance ToJSON SubmitSelfServiceRecoveryFlowWithLinkMethod where   toEncoding = genericToEncoding defaultOptions
lib/OryKratos/Types/Registration.hs view
@@ -1,18 +1,15 @@ module OryKratos.Types.Registration   ( RegistrationFlow (..),-    RegistrationFlowMethods (..),-    RegistrationFlowMethod (..),-    RegistrationFlowMethodConfig (..),     RegistrationViaApiResponse (..),+    SubmitSelfServiceRegistrationFlowWithPasswordMethod (..),   ) where  import OryKratos.Types.Misc-  ( FormField,-    Identity,-    Message,+  ( Identity,     Session,   )+import OryKratos.Types.Ui (UiContainer) import Pre  -- |@@ -22,17 +19,15 @@     -- | ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated.     expires_at :: UTCTime,     -- |-    id :: UUID,+    id :: Text,     -- | IssuedAt is the time (UTC) when the flow occurred.     issued_at :: UTCTime,-    -- |-    messages :: Maybe [Message],-    -- | Methods contains context for all enabled registration methods. If a registration flow has been processed, but for example the password is incorrect, this will contain error messages.-    methods :: RegistrationFlowMethods,-    -- | RequestURL is the initial URL that was requested from ORY Kratos. It can be used to forward information contained in the URL's path or query for example.+    -- | RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example.     request_url :: Text,     -- | The flow type can either be `api` or `browser`.-    _type :: Maybe Text+    _type :: Maybe Text,+    -- |+    ui :: UiContainer   }   deriving stock (Show, Eq, Generic, Data) @@ -52,54 +47,6 @@           fieldLabelModifier = typeFieldRename         } --- |-data RegistrationFlowMethods = RegistrationFlowMethods-  { -- |-    password :: Maybe RegistrationFlowMethod,-    -- | and so on.-    oidc :: Maybe RegistrationFlowMethod-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RegistrationFlowMethods--instance ToJSON RegistrationFlowMethods where-  toEncoding = genericToEncoding defaultOptions---- |-data RegistrationFlowMethod = RegistrationFlowMethod-  { -- |-    config :: RegistrationFlowMethodConfig,-    -- | and so on.-    method :: Text-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RegistrationFlowMethod--instance ToJSON RegistrationFlowMethod where-  toEncoding = genericToEncoding defaultOptions---- |-data RegistrationFlowMethodConfig = RegistrationFlowMethodConfig-  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.-    action :: Text,-    -- | Fields contains multiple fields-    fields :: [FormField],-    -- |-    messages :: Maybe [Message],-    -- | Method is the form method (e.g. POST)-    method :: Text,-    -- | Providers is set for the \"oidc\" registration method.-    providers :: Maybe [FormField]-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON RegistrationFlowMethodConfig--instance ToJSON RegistrationFlowMethodConfig where-  toEncoding = genericToEncoding defaultOptions- -- | The Response for Registration Flows via API data RegistrationViaApiResponse = RegistrationViaApiResponse   { -- |@@ -114,4 +61,22 @@ instance FromJSON RegistrationViaApiResponse  instance ToJSON RegistrationViaApiResponse where+  toEncoding = genericToEncoding defaultOptions++-- | SubmitSelfServiceRegistrationFlowWithPasswordMethod is used to decode the registration form payload when using the password method.+data SubmitSelfServiceRegistrationFlowWithPasswordMethod = SubmitSelfServiceRegistrationFlowWithPasswordMethod+  { -- | The CSRF Token+    csrf_token :: Maybe Text,+    -- | Method to use  This field must be set to `password` when using the password method.+    method :: Text,+    -- | Password to sign the user up with+    password :: Maybe Text,+    -- | The identity's traits+    traits :: Maybe Value+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON SubmitSelfServiceRegistrationFlowWithPasswordMethod++instance ToJSON SubmitSelfServiceRegistrationFlowWithPasswordMethod where   toEncoding = genericToEncoding defaultOptions
lib/OryKratos/Types/Settings.hs view
@@ -1,13 +1,13 @@ module OryKratos.Types.Settings   ( SettingsFlow (..),-    SettingsFlowMethods (..),-    SettingsFlowMethod (..),-    SettingsFlowMethodConfig (..),     SettingsViaApiResponse (..),+    SubmitSelfServiceBrowserSettingsOIDCFlowPayload (..),+    SubmitSelfServiceSettingsFlowWithPasswordMethod (..),   ) where -import OryKratos.Types.Misc (FormField, Identity, Message)+import OryKratos.Types.Misc (Identity)+import OryKratos.Types.Ui (UiContainer) import Pre  -- | This flow is used when an identity wants to update settings (e.g. profile data, passwords, ...) in a selfservice manner.  We recommend reading the [User Settings Documentation](../self-service/flows/user-settings)@@ -17,21 +17,19 @@     -- | ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to update the setting, a new flow has to be initiated.     expires_at :: UTCTime,     -- |-    id :: UUID,+    id :: Text,     -- |     identity :: Identity,     -- | IssuedAt is the time (UTC) when the flow occurred.     issued_at :: UTCTime,-    -- |-    messages :: Maybe [Message],-    -- | Methods contains context for all enabled registration methods. If a settings flow has been processed, but for example the first name is empty, this will contain error messages.-    methods :: SettingsFlowMethods,-    -- | RequestURL is the initial URL that was requested from ORY Kratos. It can be used to forward information contained in the URL's path or query for example.+    -- | RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example.     request_url :: Text,     -- |     state :: Text,     -- | The flow type can either be `api` or `browser`.-    _type :: Maybe Text+    _type :: Maybe Text,+    -- |+    ui :: UiContainer   }   deriving stock (Show, Eq, Generic, Data) @@ -51,62 +49,47 @@           fieldLabelModifier = typeFieldRename         } --- |-data SettingsFlowMethods = SettingsFlowMethods-  { -- |-    profile :: Maybe SettingsFlowMethod,-    password :: Maybe SettingsFlowMethod,-    oidc :: Maybe SettingsFlowMethod-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON SettingsFlowMethods--instance ToJSON SettingsFlowMethods where-  toEncoding = genericToEncoding defaultOptions---- |-data SettingsFlowMethod = SettingsFlowMethod+-- | The Response for Settings Flows via API+data SettingsViaApiResponse = SettingsViaApiResponse   { -- |-    config :: SettingsFlowMethodConfig,-    -- | Method is the name of this flow method.-    method :: Text+    flow :: SettingsFlow,+    -- |+    identity :: Identity   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON SettingsFlowMethod+instance FromJSON SettingsViaApiResponse -instance ToJSON SettingsFlowMethod where+instance ToJSON SettingsViaApiResponse where   toEncoding = genericToEncoding defaultOptions  -- |-data SettingsFlowMethodConfig = SettingsFlowMethodConfig-  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.-    action :: Text,-    -- | Fields contains multiple fields-    fields :: [FormField],-    -- |-    messages :: Maybe [Message],-    -- | Method is the form method (e.g. POST)-    method :: Text+data SubmitSelfServiceBrowserSettingsOIDCFlowPayload = SubmitSelfServiceBrowserSettingsOIDCFlowPayload+  { -- | Flow ID is the flow's ID.  in: query+    flow :: Maybe Text,+    -- | Link this provider  Either this or `unlink` must be set.  type: string in: body+    link :: Maybe Text,+    -- | Unlink this provider  Either this or `link` must be set.  type: string in: body+    unlink :: Maybe Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON SettingsFlowMethodConfig+instance FromJSON SubmitSelfServiceBrowserSettingsOIDCFlowPayload -instance ToJSON SettingsFlowMethodConfig where+instance ToJSON SubmitSelfServiceBrowserSettingsOIDCFlowPayload where   toEncoding = genericToEncoding defaultOptions --- | The Response for Settings Flows via API-data SettingsViaApiResponse = SettingsViaApiResponse-  { -- |-    flow :: SettingsFlow,-    -- |-    identity :: Identity+data SubmitSelfServiceSettingsFlowWithPasswordMethod = SubmitSelfServiceSettingsFlowWithPasswordMethod+  { -- | CSRFToken is the anti-CSRF token  type: string+    csrf_token :: Maybe Text,+    -- | Method  Should be set to password when trying to update a password.  type: string+    method :: Maybe Text,+    -- | Password is the updated password  type: string+    password :: Text   }   deriving stock (Show, Eq, Generic, Data) -instance FromJSON SettingsViaApiResponse+instance FromJSON SubmitSelfServiceSettingsFlowWithPasswordMethod -instance ToJSON SettingsViaApiResponse where+instance ToJSON SubmitSelfServiceSettingsFlowWithPasswordMethod where   toEncoding = genericToEncoding defaultOptions
+ lib/OryKratos/Types/Ui.hs view
@@ -0,0 +1,176 @@+module OryKratos.Types.Ui+  ( UiContainer (..),+    UiNode (..),+    UiNodeAnchorAttributes (..),+    UiNodeImageAttributes (..),+    UiNodeInputAttributes (..),+    UiNodeTextAttributes (..),+    UiText (..),+    Meta (..),+  )+where++import Pre++-- | Container represents a HTML Form. The container can work with both HTTP Form and JSON requests+data UiContainer = UiContainer+  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.+    action :: Text,+    -- |+    messages :: Maybe [UiText],+    -- | Method is the form method (e.g. POST)+    method :: Text,+    -- |+    nodes :: [UiNode]+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiContainer++instance ToJSON UiContainer where+  toEncoding = genericToEncoding defaultOptions++-- | Nodes are represented as HTML elements or their native UI equivalents. For example, a node can be an &#x60;&lt;img&gt;&#x60; tag, or an &#x60;&lt;input element&gt;&#x60; but also &#x60;some plain text&#x60;.+data UiNode = UiNode+  { -- |+    attributes :: Value,+    -- |+    group :: Text,+    -- |+    messages :: [UiText],+    -- |+    meta :: Meta,+    -- |+    _type :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiNode where+  parseJSON =+    genericParseJSON+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++instance ToJSON UiNode where+  toEncoding =+    genericToEncoding+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++-- |+data UiNodeAnchorAttributes = UiNodeAnchorAttributes+  { -- | The link's href (destination) URL.  format: uri+    href :: Text,+    -- |+    title :: UiText+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiNodeAnchorAttributes++instance ToJSON UiNodeAnchorAttributes where+  toEncoding = genericToEncoding defaultOptions++-- |+data UiNodeImageAttributes = UiNodeImageAttributes+  { -- | The image's source URL.  format: uri+    src :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiNodeImageAttributes++instance ToJSON UiNodeImageAttributes where+  toEncoding = genericToEncoding defaultOptions++-- | InputAttributes represents the attributes of an input node+data UiNodeInputAttributes = UiNodeInputAttributes+  { -- | Sets the input's disabled field to true or false.+    disabled :: Bool,+    -- |+    label :: Maybe UiText,+    -- | The input's element name.+    name :: Text,+    -- | The input's pattern.+    _pattern :: Maybe Text,+    -- | Mark this input field as required.+    required :: Maybe Bool,+    -- |+    _type :: Text,+    -- | The input's value.+    value :: Maybe Value+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiNodeInputAttributes where+  parseJSON =+    genericParseJSON+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++instance ToJSON UiNodeInputAttributes where+  toEncoding =+    genericToEncoding+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++-- |+data UiNodeTextAttributes = UiNodeTextAttributes+  { -- |+    text :: UiText+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiNodeTextAttributes++instance ToJSON UiNodeTextAttributes where+  toEncoding = genericToEncoding defaultOptions++-- |+data UiText = UiText+  { -- | The message's context. Useful when customizing messages.+    context :: Maybe Value,+    -- |+    id :: Integer,+    -- | The message text. Written in american english.+    text :: Text,+    -- |+    _type :: Text+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON UiText where+  parseJSON =+    genericParseJSON+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++instance ToJSON UiText where+  toEncoding =+    genericToEncoding+      defaultOptions+        { constructorTagModifier = typeFieldRename,+          fieldLabelModifier = typeFieldRename+        }++-- | This might include a label and other information that can optionally be used to render UIs.+data Meta = Meta+  { -- |+    label :: Maybe UiText+  }+  deriving stock (Show, Eq, Generic, Data)++instance FromJSON Meta++instance ToJSON Meta where+  toEncoding = genericToEncoding defaultOptions
lib/OryKratos/Types/Verification.hs view
@@ -1,12 +1,9 @@ module OryKratos.Types.Verification   ( VerificationFlow (..),-    VerificationFlowMethods (..),-    VerificationFlowMethod (..),-    VerificationFlowMethodConfig (..),   ) where -import OryKratos.Types.Misc (FormField, Message)+import OryKratos.Types.Ui (UiContainer) import Pre  -- | Used to verify an out-of-band communication channel such as an email address or a phone number.  For more information head over to: https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation@@ -16,19 +13,17 @@     -- | ExpiresAt is the time (UTC) when the request expires. If the user still wishes to verify the address, a new request has to be initiated.     expires_at :: Maybe UTCTime,     -- |-    id :: Maybe UUID,+    id :: Text,     -- | IssuedAt is the time (UTC) when the request occurred.     issued_at :: Maybe UTCTime,-    -- |-    messages :: Maybe [Message],-    -- | Methods contains context for all account verification methods. If a registration request has been processed, but for example the password is incorrect, this will contain error messages.-    methods :: Map String VerificationFlowMethod,-    -- | RequestURL is the initial URL that was requested from ORY Kratos. It can be used to forward information contained in the URL's path or query for example.+    -- | RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example.     request_url :: Maybe Text,     -- |     state :: Text,     -- | The flow type can either be `api` or `browser`.-    _type :: Maybe Text+    _type :: Text,+    -- |+    ui :: UiContainer   }   deriving stock (Show, Eq, Generic, Data) @@ -47,47 +42,3 @@         { constructorTagModifier = typeFieldRename,           fieldLabelModifier = typeFieldRename         }---- |-data VerificationFlowMethods = VerificationFlowMethods-  { -- |-    link :: Maybe VerificationFlowMethod-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON VerificationFlowMethods--instance ToJSON VerificationFlowMethods where-  toEncoding = genericToEncoding defaultOptions---- |-data VerificationFlowMethod = VerificationFlowMethod-  { -- |-    config :: VerificationFlowMethodConfig,-    -- | Method contains the request credentials type.-    method :: Text-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON VerificationFlowMethod--instance ToJSON VerificationFlowMethod where-  toEncoding = genericToEncoding defaultOptions---- |-data VerificationFlowMethodConfig = VerificationFlowMethodConfig-  { -- | Action should be used as the form action URL `<form action=\"{{ .Action }}\" method=\"post\">`.-    action :: Text,-    -- | Fields contains multiple fields-    fields :: [FormField],-    -- |-    messages :: Maybe [Message],-    -- | Method is the form method (e.g. POST)-    method :: Text-  }-  deriving stock (Show, Eq, Generic, Data)--instance FromJSON VerificationFlowMethodConfig--instance ToJSON VerificationFlowMethodConfig where-  toEncoding = genericToEncoding defaultOptions
lib/Pre.hs view
@@ -41,4 +41,6 @@  typeFieldRename :: String -> String typeFieldRename "_type" = "type"+typeFieldRename "_data" = "data"+typeFieldRename "_pattern" = "pattern" typeFieldRename x = x
ory-kratos.cabal view
@@ -1,8 +1,8 @@ cabal-version: 3.0 name:          ory-kratos-version:       0.0.5.10+version:       0.0.6.0 synopsis:      API bindings for Ory Kratos-description:   API bindings for ory-kratos 0.5.5-alpha1+description:   API bindings for ory-kratos 0.6.3-alpha1 homepage:      https://github.com/njaremko/ory-kratos-haskell-sdk author:        ory maintainer:    nathan@jaremko.ca@@ -67,6 +67,7 @@     OryKratos.Types.Registration     OryKratos.Types.Settings     OryKratos.Types.Verification+    OryKratos.Types.Ui  test-suite ory-kratos-test   import:              common-options