# Athena Auth SDK Binding Map

All routes below are relative to `AuthConfig.base_path`.

## Root auth bindings

```ts
createClient().auth.getSession() -> /get-session
createClient().auth.signOut() -> /sign-out
createClient().auth.forgetPassword() -> /forget-password
createClient().auth.resetPassword() -> /reset-password
createClient().auth.setPassword() -> /set-password
createClient().auth.resetPassword.token() -> /reset-password/{token}
createClient().auth.verifyEmail() -> /verify-email
createClient().auth.sendVerificationEmail() -> /send-verification-email
createClient().auth.changeEmail() -> /change-email
createClient().auth.changeEmailVerify() -> /change-email/verify
createClient().auth.deleteUserVerify() -> /delete-user/verify
createClient().auth.changePassword() -> /change-password
createClient().auth.refreshToken() -> /refresh-token
createClient().auth.getAccessToken() -> /get-access-token
createClient().auth.ok() -> /ok
createClient().auth.error() -> /error
createClient().auth.health() -> /health
```

## Session bindings

```ts
createClient().auth.session.list() -> /list-sessions
createClient().auth.session.revoke() -> /revoke-session
createClient().auth.session.revoke() -> /revoke-sessions
createClient().auth.session.revokeOther() -> /revoke-other-sessions
```

## User bindings

```ts
createClient().auth.user.update() -> /update-user
createClient().auth.user.delete() -> /delete-user
createClient().auth.user.email.list() -> /email/list
```

## Social/OAuth2 + account bindings

```ts
createClient().auth.social.link() -> /link-social
createClient().auth.account.list() -> /list-accounts
createClient().auth.deleteUser.callback() -> /delete-user/callback
createClient().auth.account.unlink() -> /unlink-account
```

## User-level sign-in/up bindings

```ts
createClient().auth.signIn.social() -> /sign-in/social
createClient().auth.signIn.email() -> /sign-in/email
createClient().auth.signIn.username() -> /sign-in/username
createClient().auth.signUp.email() -> /sign-up/email
```

## Two-factor bindings

```ts
createClient().auth.twoFactor.getTotpUri() -> /two-factor/get-totp-uri
createClient().auth.twoFactor.verifyTotp() -> /two-factor/verify-totp
createClient().auth.twoFactor.sendOtp() -> /two-factor/send-otp
createClient().auth.twoFactor.verifyOtp() -> /two-factor/verify-otp
createClient().auth.twoFactor.verifyBackupCode() -> /two-factor/verify-backup-code
createClient().auth.twoFactor.generateBackupCodes() -> /two-factor/generate-backup-codes
createClient().auth.twoFactor.enable() -> /two-factor/enable
createClient().auth.twoFactor.disable() -> /two-factor/disable
```

## Passkey bindings

```ts
createClient().auth.passkey.generateRegisterOptions() -> /passkey/generate-register-options
createClient().auth.passkey.generateAuthenticateOptions() -> /passkey/generate-authenticate-options
createClient().auth.passkey.verifyRegistration() -> /passkey/verify-registration
createClient().auth.passkey.verifyAuthentication() -> /passkey/verify-authentication
createClient().auth.passkey.listUserPasskeys() -> /passkey/list-user-passkeys
createClient().auth.passkey.deletePasskey() -> /passkey/delete-passkey
createClient().auth.passkey.updatePasskey() -> /passkey/update-passkey
createClient().auth.passkey.getRelatedOrigins() -> /.well-known/webauthn
```

## API key bindings

```ts
createClient().auth.apiKey.create() -> /api-key/create
createClient().auth.apiKey.get() -> /api-key/get
createClient().auth.apiKey.update() -> /api-key/update
createClient().auth.apiKey.delete() -> /api-key/delete
createClient().auth.apiKey.list() -> /api-key/list
createClient().auth.apiKey.verify() -> /api-key/verify
createClient().auth.apiKey.deleteAllExpired() -> /api-key/delete-all-expired-api-keys
```

## Organization bindings

```ts
createClient().auth.organization.create() -> /organization/create
createClient().auth.organization.update() -> /organization/update
createClient().auth.organization.delete() -> /organization/delete
createClient().auth.organization.setActive() -> /organization/set-active
createClient().auth.organization.list() -> /organization/list
createClient().auth.organization.getFull() -> /organization/get-full-organization
createClient().auth.organization.checkSlug() -> /organization/check-slug
createClient().auth.organization.leave() -> /organization/leave
createClient().auth.organization.listUserInvitations() -> /organization/list-user-invitations
createClient().auth.organization.hasPermission() -> /organization/has-permission

createClient().auth.organization.invitation.cancel() -> /organization/cancel-invitation
createClient().auth.organization.invitation.accept() -> /organization/accept-invitation
createClient().auth.organization.invitation.get() -> /organization/get-invitation
createClient().auth.organization.invitation.reject() -> /organization/reject-invitation
createClient().auth.organization.invitation.list() -> /organization/list-invitations

createClient().auth.organization.member.remove() -> /organization/remove-member
createClient().auth.organization.member.updateRole() -> /organization/update-member-role
createClient().auth.organization.member.invite() -> /organization/invite-member
createClient().auth.organization.member.getActive() -> /organization/get-active-member
createClient().auth.organization.member.list() -> /organization/list-members
```

## Admin bindings

```ts
createClient().auth.admin.role.set() -> /admin/set-role
createClient().auth.admin.user.list() -> /admin/list-users
createClient().auth.admin.user.session.list() -> /admin/list-user-sessions
createClient().auth.admin.user.create() -> /admin/create-user
createClient().auth.admin.user.unban() -> /admin/unban-user
createClient().auth.admin.user.ban() -> /admin/ban-user
createClient().auth.admin.user.impersonate() -> /admin/impersonate-user
createClient().auth.admin.user.stopImpersonating() -> /admin/stop-impersonating
createClient().auth.admin.user.session.revoke() -> /admin/revoke-user-session
createClient().auth.admin.user.session.revoke() -> /admin/revoke-user-sessions
createClient().auth.admin.user.remove() -> /admin/remove-user
createClient().auth.admin.user.setPassword() -> /admin/set-user-password
createClient().auth.admin.hasPermission() -> /admin/has-permission
createClient().auth.admin.apiKey.create() -> /admin/api-key/create
createClient().auth.admin.athenaClient.create() -> /admin/athena-client/create
createClient().auth.admin.athenaClient.list() -> /admin/athena-client/list
createClient().auth.admin.oauthClient.create() -> /admin/oauth-client/create
createClient().auth.admin.oauthClient.list() -> /admin/oauth-client/list
createClient().auth.admin.auditLog.list() -> /admin/audit-log/list

createClient().auth.admin.email.list() -> /admin/email/list
createClient().auth.admin.email.get() -> /admin/email/get
createClient().auth.admin.email.create() -> /admin/email/create
createClient().auth.admin.email.update() -> /admin/email/update
createClient().auth.admin.email.delete() -> /admin/email/delete

createClient().auth.admin.email.failure.list() -> /admin/email-failure/list
createClient().auth.admin.email.failure.get() -> /admin/email-failure/get
createClient().auth.admin.email.failure.create() -> /admin/email-failure/create
createClient().auth.admin.email.failure.update() -> /admin/email-failure/update
createClient().auth.admin.email.failure.delete() -> /admin/email-failure/delete

createClient().auth.admin.email.template.list() -> /admin/email-template/list
createClient().auth.admin.email.template.get() -> /admin/email-template/get
createClient().auth.admin.email.template.create() -> /admin/email-template/create
createClient().auth.admin.email.template.update() -> /admin/email-template/update
createClient().auth.admin.email.template.delete() -> /admin/email-template/delete
```

## Callback bindings

```ts
createClient().auth.callback.provider() -> /callback/{provider}
```
