defmodule Auth0.Api.Management do
@moduledoc """
Documentation for Auth0 Management API.
"""
alias Auth0.Config
alias Auth0.Management.Actions
alias Auth0.Management.Anomaly
alias Auth0.Management.AttackProtection
alias Auth0.Management.Blacklist
alias Auth0.Management.Branding
alias Auth0.Management.ClientGrants
alias Auth0.Management.Clients
alias Auth0.Management.Connections
alias Auth0.Management.ConnectionProfiles
alias Auth0.Management.CustomDomains
alias Auth0.Management.DeviceCredentials
alias Auth0.Management.EmailTemplates
alias Auth0.Management.Emails
alias Auth0.Management.EventStreams
alias Auth0.Management.Flows
alias Auth0.Management.Forms
alias Auth0.Management.Grants
alias Auth0.Management.Guardian
alias Auth0.Management.Hooks
alias Auth0.Management.Jobs
alias Auth0.Management.Keys
alias Auth0.Management.LogStreams
alias Auth0.Management.Logs
alias Auth0.Management.NetworkAcls
alias Auth0.Management.Organizations
alias Auth0.Management.Prompts
alias Auth0.Management.RefreshTokens
alias Auth0.Management.ResourceServers
alias Auth0.Management.RiskAssessments
alias Auth0.Management.Roles
alias Auth0.Management.Rules
alias Auth0.Management.RulesConfigs
alias Auth0.Management.SelfServiceProfiles
alias Auth0.Management.Sessions
alias Auth0.Management.Stats
alias Auth0.Management.SupplementalSignals
alias Auth0.Management.Tenants
alias Auth0.Management.Tickets
alias Auth0.Management.TokenExchangeProfiles
alias Auth0.Management.UserAttributeProfiles
alias Auth0.Management.UserBlocks
alias Auth0.Management.Users
alias Auth0.Management.UsersByEmail
alias Auth0.Management.VerifiableCredentials
@type config :: Config.t()
@type theme_id :: String.t()
@type id :: String.t()
@type token_id :: String.t()
@type name :: String.t()
@type invitation_id :: String.t()
@type connection_id :: String.t()
@type user_id :: String.t()
@type prompt :: String.t()
@type language :: String.t()
@type key :: String.t()
@type provider :: String.t()
@type action_id :: String.t()
@type trigger_id :: String.t()
@type template_name :: String.t()
@type kid :: String.t()
@type ip :: String.t()
@type client_id :: String.t()
@type credential_id :: String.t()
@type authentication_method_id :: String.t()
@type error :: {:error, integer, term} | {:error, term}
@doc """
Retrieve all actions.
## see
https://auth0.com/docs/api/management/v2/actions/get-actions
"""
@spec get_actions(map(), config) ::
{:ok, map()} | error
def get_actions(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.list(params, config)
end
@doc """
Create an action. Once an action is created, it must be deployed, and then bound to a trigger before it will be executed as part of a flow.
## see
https://auth0.com/docs/api/management/v2/actions/post-action
"""
@spec create_action(map(), config) ::
{:ok, map()} | error
def create_action(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.create(params, config)
end
@doc """
Retrieve all of an action's versions. An action version is created whenever an action is deployed. An action version is immutable, once created.
## see
https://auth0.com/docs/api/management/v2/actions/get-action-versions
"""
@spec get_action_versions(action_id, map(), config) ::
{:ok, map()} | error
def get_action_versions(action_id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.list_versions(action_id, params, config)
end
@doc """
Retrieve a specific version of an action. An action version is created whenever an action is deployed. An action version is immutable, once created.
## see
https://auth0.com/docs/api/management/v2/actions/get-action-version
"""
@spec get_action_version(action_id, id, config) ::
{:ok, map()} | error
def get_action_version(action_id, id, %Config{} = config \\ %Config{}) do
Actions.get_version(action_id, id, config)
end
@doc """
Performs the equivalent of a roll-back of an action to an earlier, specified version. Creates a new, deployed action version that is identical to the specified version. If this action is currently bound to a trigger, the system will begin executing the newly-created version immediately.
## see
https://auth0.com/docs/api/management/v2/actions/post-deploy-draft-version
"""
@spec rollback_action_version(action_id, id, map(), config) ::
{:ok, map()} | error
def rollback_action_version(
action_id,
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Actions.rollback_version(action_id, id, params, config)
end
@doc """
Retrieve an action by its ID.
## see
https://auth0.com/docs/api/management/v2/actions/get-action
"""
@spec get_action(id, config) ::
{:ok, map()} | error
def get_action(id, %Config{} = config \\ %Config{}) do
Actions.get(id, config)
end
@doc """
Deletes an action and all of its associated versions. An action must be unbound from all triggers before it can be deleted.
## see
https://auth0.com/docs/api/management/v2/actions/delete-action
"""
@spec delete_action(id, map(), config) ::
{:ok, String.t()} | error
def delete_action(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.delete(id, params, config)
end
@doc """
Update an existing action. If this action is currently bound to a trigger, updating it will not affect any user flows until the action is deployed.
## see
https://auth0.com/docs/api/management/v2/actions/patch-action
"""
@spec update_action(id, map(), config) ::
{:ok, map()} | error
def update_action(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.update(id, params, config)
end
@doc """
Deploy an action. Deploying an action will create a new immutable version of the action. If the action is currently bound to a trigger, then the system will begin executing the newly deployed version of the action immediately. Otherwise, the action will only be executed as a part of a flow once it is bound to that flow.
## see
https://auth0.com/docs/api/management/v2/actions/post-deploy-action
"""
@spec deploy_action(id, config) ::
{:ok, map()} | error
def deploy_action(id, %Config{} = config \\ %Config{}) do
Actions.deploy(id, config)
end
@doc """
Test an action. After updating an action, it can be tested prior to being deployed to ensure it behaves as expected.
## see
https://auth0.com/docs/api/management/v2/actions/post-test-action
"""
@spec test_action(id, map(), config) ::
{:ok, map()} | error
def test_action(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Actions.test(id, params, config)
end
@doc """
Retrieve information about a specific execution of a trigger. Relevant execution IDs will be included in tenant logs generated as part of that authentication flow. Executions will only be stored for 10 days after their creation.
## see
https://auth0.com/docs/api/management/v2/actions/get-execution
"""
@spec get_action_execution(id, config) ::
{:ok, map()} | error
def get_action_execution(id, %Config{} = config \\ %Config{}) do
Actions.get_execution(id, config)
end
@doc """
Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which actions can be bound.
## see
https://auth0.com/docs/api/management/v2/actions/get-triggers
"""
@spec get_action_triggers(config) ::
{:ok, map()} | error
def get_action_triggers(%Config{} = config \\ %Config{}) do
Actions.get_triggers(config)
end
@doc """
Retrieve the actions that are bound to a trigger. Once an action is created and deployed, it must be attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The list of actions returned reflects the order in which they will be executed during the appropriate flow.
## see
https://auth0.com/docs/api/management/v2/actions/get-bindings
"""
@spec get_action_trigger_bindings(trigger_id, map(), config) ::
{:ok, map()} | error
def get_action_trigger_bindings(
trigger_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Actions.get_bindings(trigger_id, params, config)
end
@doc """
Update the actions that are bound (i.e. attached) to a trigger. Once an action is created and deployed, it must be attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The order in which the actions are provided will determine the order in which they are executed.
## see
https://auth0.com/docs/api/management/v2/actions/patch-bindings
"""
@spec update_action_trigger_bindings(
trigger_id,
map(),
config
) ::
{:ok, map()} | error
def update_action_trigger_bindings(
trigger_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Actions.update_bindings(trigger_id, params, config)
end
@doc """
Check if the given IP address is blocked via the Suspicious IP Throttling due to multiple suspicious attempts.
## see
https://auth0.com/docs/api/management/v2/anomaly/get-ips-by-id
"""
@spec check_ip_blocked(ip, config) :: {:ok, boolean} | error
def check_ip_blocked(ip, %Config{} = config \\ %Config{}) do
Anomaly.check_ip_blocked(ip, config)
end
@doc """
Remove a block imposed by Suspicious IP Throttling for the given IP address.
## see
https://auth0.com/docs/api/management/v2/anomaly/delete-ips-by-id
"""
@spec remove_blocked_ip(ip, config) :: {:ok, String.t()} | error
def remove_blocked_ip(ip, %Config{} = config \\ %Config{}) do
Anomaly.remove_blocked_ip(ip, config)
end
@doc """
Retrieve details of the Breached Password Detection configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/get-breached-password-detection
"""
@spec get_attack_protection_breached_password_detection(config) ::
{:ok, map()} | error
def get_attack_protection_breached_password_detection(%Config{} = config \\ %Config{}) do
AttackProtection.get_breached_password_detection(config)
end
@doc """
Update details of the Breached Password Detection configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/patch-breached-password-detection
"""
@spec update_attack_protection_breached_password_detection(
map(),
config
) ::
{:ok, map()} | error
def update_attack_protection_breached_password_detection(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
AttackProtection.update_breached_password_detection(params, config)
end
@doc """
Retrieve details of the Brute-force Protection configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/get-brute-force-protection
"""
@spec get_attack_protection_brute_force_protection(config) ::
{:ok, map()} | error
def get_attack_protection_brute_force_protection(%Config{} = config \\ %Config{}) do
AttackProtection.get_brute_force_protection(config)
end
@doc """
Update the Brute-force Protection configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/patch-brute-force-protection
"""
@spec update_attack_protection_brute_force_protection(
map(),
config
) ::
{:ok, map()} | error
def update_attack_protection_brute_force_protection(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
AttackProtection.update_brute_force_protection(params, config)
end
@doc """
Retrieve details of the Suspicious IP Throttling configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/get-suspicious-ip-throttling
"""
@spec get_attack_protection_suspicious_ip_throttling(config) ::
{:ok, map()} | error
def get_attack_protection_suspicious_ip_throttling(%Config{} = config \\ %Config{}) do
AttackProtection.get_suspicious_ip_throttling(config)
end
@doc """
Update the details of the Suspicious IP Throttling configuration of your tenant.
## see
https://auth0.com/docs/api/management/v2/attack-protection/patch-suspicious-ip-throttling
"""
@spec update_attack_protection_suspicious_ip_throttling(
map(),
config
) ::
{:ok, map()} | error
def update_attack_protection_suspicious_ip_throttling(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
AttackProtection.update_suspicious_ip_throttling(params, config)
end
@doc """
Retrieve the jti and aud of all tokens that are blacklisted.
## see
https://auth0.com/docs/api/management/v2/blacklists/get-tokens
"""
@spec get_blacklisted_tokens(map(), config) ::
{:ok, list(map())} | error
def get_blacklisted_tokens(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Blacklist.list_tokens(params, config)
end
@doc """
Add the token identified by the jti to a blacklist for the tenant.
## see
https://auth0.com/docs/api/management/v2/blacklists/post-tokens
"""
@spec blacklist_token(map(), config) ::
{:ok, String.t()} | error
def blacklist_token(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Blacklist.add_token(params, config)
end
@doc """
Retrieve branding settings.
## see
https://auth0.com/docs/api/management/v2/branding/get-branding
"""
@spec get_branding(config) :: {:ok, map()} | error
def get_branding(%Config{} = config \\ %Config{}) do
Branding.get(config)
end
@doc """
Update branding settings.
## see
https://auth0.com/docs/api/management/v2/branding/patch-branding
"""
@spec update_branding(map(), config) ::
{:ok, map()} | error
def update_branding(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Branding.update(params, config)
end
@doc """
Retrieve a list ofphone providers details set for a Tenant. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/branding/get-branding-phone-providers
"""
@spec list_branding_phone_providers(map(), config) ::
{:ok, map()} | error
def list_branding_phone_providers(%{} = params, %Config{} = config) do
Branding.list_phone_providers(params, config)
end
@doc """
Create an phone provider.
## see
https://auth0.com/docs/api/management/v2/branding/create-phone-provider
"""
@spec configure_branding_phone_provider(map(), config) ::
{:ok, map()} | error
def configure_branding_phone_provider(%{} = params, %Config{} = config) do
Branding.configure_phone_provider(params, config)
end
@doc """
Retrieve phone provider details. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/branding/get-phone-provider
"""
@spec get_branding_phone_provider(id, config) ::
{:ok, map()} | error
def get_branding_phone_provider(id, %Config{} = config) do
Branding.get_phone_provider(id, config)
end
@doc """
Delete the configured phone provider.
## see
https://auth0.com/docs/api/management/v2/branding/delete-phone-provider
"""
@spec delete_branding_phone_provider(id, config) ::
{:ok, map()} | error
def delete_branding_phone_provider(id, %Config{} = config) do
Branding.delete_phone_provider(id, config)
end
@doc """
Update an phone provider.
## see
https://auth0.com/docs/api/management/v2/branding/update-phone-provider
"""
@spec update_branding_phone_provider(id, map(), config) ::
{:ok, map()} | error
def update_branding_phone_provider(id, %{} = params, %Config{} = config) do
Branding.update_phone_provider(id, params, config)
end
@doc """
Send a test phone notification for the configured provider
## see
https://auth0.com/docs/api/management/v2/branding/try-phone-provider
"""
@spec test_branding_phone_provider(id, map(), config) ::
{:ok, map()} | error
def test_branding_phone_provider(id, %{} = params, %Config{} = config) do
Branding.test_phone_provider(id, params, config)
end
@doc """
Get a list of phone notification templates
## see
https://auth0.com/docs/api/management/v2/branding/get-phone-templates
"""
@spec list_branding_phone_templates(map(), config) ::
{:ok, map()} | error
def list_branding_phone_templates(%{} = params, %Config{} = config) do
Branding.list_phone_templates(params, config)
end
@doc """
Create a phone notification template
## see
https://auth0.com/docs/api/management/v2/branding/create-phone-template
"""
@spec create_branding_phone_template(map(), config) ::
{:ok, map()} | error
def create_branding_phone_template(%{} = params, %Config{} = config) do
Branding.create_phone_template(params, config)
end
@doc """
Get a phone notification template
## see
https://auth0.com/docs/api/management/v2/branding/get-phone-template
"""
@spec get_branding_phone_template(id, config) ::
{:ok, map()} | error
def get_branding_phone_template(id, %Config{} = config) do
Branding.get_phone_template(id, config)
end
@doc """
Delete a phone notification template
## see
https://auth0.com/docs/api/management/v2/branding/delete-phone-template
"""
@spec delete_branding_phone_template(id, config) ::
{:ok, map()} | error
def delete_branding_phone_template(id, %Config{} = config) do
Branding.delete_phone_template(id, config)
end
@doc """
Update a phone notification template
## see
https://auth0.com/docs/api/management/v2/branding/update-phone-template
"""
@spec update_branding_phone_template(id, map(), config) ::
{:ok, map()} | error
def update_branding_phone_template(id, %{} = params, %Config{} = config) do
Branding.update_phone_template(id, params, config)
end
@doc """
Resets a phone notification template values
## see
https://auth0.com/docs/api/management/v2/branding/reset-phone-template
"""
@spec reset_branding_phone_template(id, map(), config) ::
{:ok, map()} | error
def reset_branding_phone_template(id, %{} = params, %Config{} = config) do
Branding.reset_phone_template(id, params, config)
end
@doc """
Send a test phone notification for the configured template
## see
https://auth0.com/docs/api/management/v2/branding/try-phone-template
"""
@spec test_branding_phone_template(id, map(), config) ::
{:ok, map()} | error
def test_branding_phone_template(id, %{} = params, %Config{} = config) do
Branding.test_phone_template(id, params, config)
end
@doc """
Get template for New Universal Login Experience
## see
https://auth0.com/docs/api/management/v2/branding/get-universal-login
"""
@spec get_template_for_universal_login(config) ::
{:ok, map() | String.t()} | error
def get_template_for_universal_login(%Config{} = config \\ %Config{}) do
Branding.get_universal_login(config)
end
@doc """
Delete template for New Universal Login Experience
## see
https://auth0.com/docs/api/management/v2/branding/delete-universal-login
"""
@spec delete_template_for_universal_login(config) :: {:ok, String.t()} | error
def delete_template_for_universal_login(%Config{} = config \\ %Config{}) do
Branding.delete_universal_login(config)
end
@doc """
Update the Universal Login branding template.
## see
https://auth0.com/docs/api/management/v2/branding/put-universal-login
"""
@spec set_template_for_universal_login(map(), config) ::
{:ok, String.t()} | error
def set_template_for_universal_login(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Branding.set_universal_login(params, config)
end
@doc """
Create branding theme.
## see
https://auth0.com/docs/api/management/v2/branding/post-branding-theme
"""
@spec create_branding_theme(map(), config) ::
{:ok, map()} | error
def create_branding_theme(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Branding.create_theme(params, config)
end
@doc """
Retrieve default branding theme.
## see
https://auth0.com/docs/api/management/v2/branding/get-default-branding-theme
"""
@spec get_default_branding_theme(config) ::
{:ok, map()} | error
def get_default_branding_theme(%Config{} = config \\ %Config{}) do
Branding.get_default_theme(config)
end
@doc """
Retrieve branding theme.
## see
https://auth0.com/docs/api/management/v2/branding/get-branding-theme
"""
@spec get_branding_theme(theme_id, config) ::
{:ok, map()} | error
def get_branding_theme(theme_id, %Config{} = config \\ %Config{}) do
Branding.get_theme(theme_id, config)
end
@doc """
Delete branding theme.
## see
https://auth0.com/docs/api/management/v2/branding/delete-branding-theme
"""
@spec delete_branding_theme(theme_id, config) ::
{:ok, String.t()} | error
def delete_branding_theme(theme_id, %Config{} = config \\ %Config{}) do
Branding.delete_theme(theme_id, config)
end
@doc """
Update branding theme.
## see
https://auth0.com/docs/api/management/v2/branding/patch-branding-theme
"""
@spec update_branding_theme(theme_id, map(), config) ::
{:ok, map()} | error
def update_branding_theme(theme_id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Branding.update_theme(theme_id, params, config)
end
@doc """
Retrieve a list of client grants, including the scopes associated with the application/API pair.
## see
https://auth0.com/docs/api/management/v2/client-grants/get-client-grants
"""
@spec get_client_grants(map(), config) ::
{:ok, list(map()) | map()} | error
def get_client_grants(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ClientGrants.list(params, config)
end
@doc """
Create a client grant for a machine-to-machine login flow.
## see
https://auth0.com/docs/api/management/v2/client-grants/post-client-grants
"""
@spec create_client_grant(map(), config) ::
{:ok, map()} | error
def create_client_grant(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ClientGrants.create(params, config)
end
@doc """
Delete the Client Credential Flow from your machine-to-machine application.
## see
https://auth0.com/docs/api/management/v2/client-grants/delete-client-grants-by-id
"""
@spec delete_client_grant(id, config) :: {:ok, String.t()} | error
def delete_client_grant(id, %Config{} = config \\ %Config{}) do
ClientGrants.delete(id, config)
end
@doc """
Update a client grant.
## see
https://auth0.com/docs/api/management/v2/client-grants/patch-client-grants-by-id
"""
@spec update_client_grant(id, map(), config) ::
{:ok, map()} | error
def update_client_grant(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ClientGrants.update(id, params, config)
end
@doc """
Retrieve clients (applications and SSO integrations) matching provided filters. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/clients/get-clients
"""
@spec get_clients(map(), config) ::
{:ok, list(map()) | map()} | error
def get_clients(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Clients.list(params, config)
end
@doc """
Create a new client (application or SSO integration).
## see
https://auth0.com/docs/api/management/v2/clients/post-clients
"""
@spec create_client(map(), config) ::
{:ok, map()} | error
def create_client(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Clients.create(params, config)
end
@doc """
Get the details of a client credential.
## see
https://auth0.com/docs/api/management/v2/clients/get-credentials
"""
@spec list_credentials(client_id, config) ::
{:ok, list(map())} | error
def list_credentials(client_id, %Config{} = config \\ %Config{}) do
Clients.list_credentials(client_id, config)
end
@doc """
Create a client credential associated to your application. The credential will be created but not yet enabled for use with Private Key JWT authentication method. To enable the credential, set the client_authentication_methods property on the client.
## see
https://auth0.com/docs/api/management/v2/clients/post-credentials
"""
@spec create_credential(client_id, map(), config) ::
{:ok, map()} | error
def create_credential(client_id, %{} = params, %Config{} = config \\ %Config{}) do
Clients.create_credential(client_id, params, config)
end
@doc """
Get the details of a client credential.
## see
https://auth0.com/docs/api/management/v2/clients/get-credentials-by-credential-id
"""
@spec get_credential(client_id, credential_id, config) ::
{:ok, map()} | error
def get_credential(client_id, credential_id, %Config{} = config \\ %Config{}) do
Clients.get_credential(client_id, credential_id, config)
end
@doc """
Delete a client credential you previously created. May be enabled or disabled.
## see
https://auth0.com/docs/api/management/v2/clients/delete-credentials-by-credential-id
"""
@spec delete_credential(client_id, credential_id, config) ::
{:ok, String.t()} | error
def delete_credential(client_id, credential_id, %Config{} = config \\ %Config{}) do
Clients.delete_credential(client_id, credential_id, config)
end
@doc """
Change a client credential you previously created. May be enabled or disabled.
## see
https://auth0.com/docs/api/management/v2/clients/patch-credentials-by-credential-id
"""
@spec update_credential(client_id, credential_id, map(), config) ::
{:ok, map()} | error
def update_credential(client_id, credential_id, %{} = params, %Config{} = config \\ %Config{}) do
Clients.update_credential(client_id, credential_id, params, config)
end
@doc """
Retrieve client details by ID. Clients are SSO connections or Applications linked with your Auth0 tenant. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/clients/get-clients-by-id
"""
@spec get_client(id, map(), config) ::
{:ok, map()} | error
def get_client(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Clients.get(id, params, config)
end
@doc """
Delete a client and related configuration (rules, connections, etc).
## see
https://auth0.com/docs/api/management/v2/clients/delete-clients-by-id
"""
@spec delete_client(id, config) :: {:ok, String.t()} | error
def delete_client(id, %Config{} = config \\ %Config{}) do
Clients.delete(id, config)
end
@doc """
Updates a client's settings
## see
https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id
"""
@spec update_client(id, map(), config) ::
{:ok, map()} | error
def update_client(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Clients.update(id, params, config)
end
@doc """
Rotate a client secret.
## see
https://auth0.com/docs/api/management/v2/clients/post-rotate-secret
"""
@spec rotate_client_secret(id, config) ::
{:ok, map()} | error
def rotate_client_secret(id, %Config{} = config \\ %Config{}) do
Clients.rotate_secret(id, config)
end
@doc """
Retrieve a list of connection profiles.
## see
https://auth0.com/docs/api/management/v2/connection-profiles/get-connection-profiles
"""
@spec get_connection_profiles(map(), config) :: {:ok, list(map())} | error
def get_connection_profiles(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ConnectionProfiles.list(params, config)
end
@doc """
Retrieve a connection profile by its ID.
## see
https://auth0.com/docs/api/management/v2/connection-profiles/get-connection-profiles-by-id
"""
@spec get_connection_profile(id, config) :: {:ok, map()} | error
def get_connection_profile(id, %Config{} = config \\ %Config{}) do
ConnectionProfiles.get(id, config)
end
@doc """
Update a connection profile.
## see
https://auth0.com/docs/api/management/v2/connection-profiles/patch-connection-profiles-by-id
"""
@spec update_connection_profile(id, map(), config) :: {:ok, map()} | error
def update_connection_profile(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ConnectionProfiles.update(id, params, config)
end
@doc """
Retrieves detailed list of all connections that match the specified strategy. If no strategy is provided, all connections within your tenant are retrieved. This action can accept a list of fields to include or exclude from the resulting list of connections.
## see
https://auth0.com/docs/api/management/v2/connections/get-connections
"""
@spec get_connections(map(), config) ::
{:ok, list(map()) | map()} | error
def get_connections(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Connections.list(params, config)
end
@doc """
Creates a new connection according to the JSON object received in body.
## see
https://auth0.com/docs/api/management/v2/connections/post-connections
"""
@spec create_connection(map(), config) ::
{:ok, map()} | error
def create_connection(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Connections.create(params, config)
end
@doc """
Retrieve details for a specified connection along with options that can be used for identity provider configuration.
## see
https://auth0.com/docs/api/management/v2/connections/get-connections-by-id
"""
@spec get_connection(id, map(), config) ::
{:ok, map()} | error
def get_connection(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Connections.get(id, params, config)
end
@doc """
Removes a specific connection from your tenant. This action cannot be undone. Once removed, users can no longer use this connection to authenticate.
## see
https://auth0.com/docs/api/management/v2/connections/delete-connections-by-id
"""
@spec delete_connection(id, config) :: {:ok, String.t()} | error
def delete_connection(id, %Config{} = config \\ %Config{}) do
Connections.delete(id, config)
end
@doc """
Update details for a specific connection, including option properties for identity provider configuration.
## see
https://auth0.com/docs/api/management/v2/connections/patch-connections-by-id
"""
@spec update_connection(id, map(), config) ::
{:ok, map()} | error
def update_connection(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Connections.update(id, params, config)
end
@doc """
Retrieves a scim configuration by its connectionId.
## see
https://auth0.com/docs/api/management/v2/connections/get-scim-configuration
"""
@spec get_connection_scim_configuration(id, config) :: {:ok, map()} | error
def get_connection_scim_configuration(id, %Config{} = config) do
Connections.get_scim_configuration(id, config)
end
@doc """
Deletes a scim configuration by its connectionId.
## see
https://auth0.com/docs/api/management/v2/connections/delete-scim-configuration
"""
@spec delete_connection_scim_configuration(id, config) :: {:ok, String.t()} | error
def delete_connection_scim_configuration(id, %Config{} = config) do
Connections.delete_scim_configuration(id, config)
end
@doc """
Update a scim configuration by its connectionId.
## see
https://auth0.com/docs/api/management/v2/connections/patch-scim-configuration
"""
@spec update_connection_scim_configuration(id, map(), config) :: {:ok, map()} | error
def update_connection_scim_configuration(id, %{} = params, %Config{} = config) do
Connections.update_scim_configuration(id, params, config)
end
@doc """
Create a scim configuration for a connection.
## see
https://auth0.com/docs/api/management/v2/connections/post-scim-configuration
"""
@spec create_connection_scim_configuration(id, map(), config) :: {:ok, map()} | error
def create_connection_scim_configuration(id, %{} = params, %Config{} = config) do
Connections.create_scim_configuration(id, params, config)
end
@doc """
Retrieves a scim configuration's default mapping by its connectionId.
## see
https://auth0.com/docs/api/management/v2/connections/get-default-mapping
"""
@spec get_connection_scim_configuration_default_mapping(id, config) ::
{:ok, map()} | error
def get_connection_scim_configuration_default_mapping(id, %Config{} = config) do
Connections.get_scim_configuration_default_mapping(id, config)
end
@doc """
Retrieves all scim tokens by its connection id.
## see
https://auth0.com/docs/api/management/v2/connections/get-scim-tokens
"""
@spec get_connection_scim_configuration_tokens(id, config) :: {:ok, list(map())} | error
def get_connection_scim_configuration_tokens(id, %Config{} = config) do
Connections.get_scim_configuration_tokens(id, config)
end
@doc """
Create a scim token for a scim client.
## see
https://auth0.com/docs/api/management/v2/connections/post-scim-token
"""
@spec create_connection_scim_configuration_tokens(id, map(), config) ::
{:ok, map()} | error
def create_connection_scim_configuration_tokens(id, %{} = params, %Config{} = config) do
Connections.create_scim_configuration_tokens(id, params, config)
end
@doc """
Deletes a scim token by its connection id and tokenId.
## see
https://auth0.com/docs/api/management/v2/connections/delete-tokens-by-token-id
"""
@spec delete_connection_scim_configuration_tokens(id, token_id, config) ::
{:ok, String.t()} | error
def delete_connection_scim_configuration_tokens(id, token_id, %Config{} = config) do
Connections.delete_scim_configuration_tokens(id, token_id, config)
end
@doc """
Retrieves the status of an ad/ldap connection referenced by its ID. 200 OK http status code response is returned when the connection is online, otherwise a 404 status code is returned along with an error message
## see
https://auth0.com/docs/api/management/v2/connections/get-status
"""
@spec get_connection_status(id, config) :: {:ok, boolean} | error
def get_connection_status(id, %Config{} = config \\ %Config{}) do
Connections.get_status(id, config)
end
@doc """
Deletes a specified connection user by its email (you cannot delete all users from specific connection). Currently, only Database Connections are supported.
## see
https://auth0.com/docs/api/management/v2/connections/delete-users-by-email
"""
@spec delete_connection_users(id, map(), config) ::
{:ok, String.t()} | error
def delete_connection_users(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Connections.delete_users(id, params, config)
end
@doc """
Retrieve details on custom domains.
## see
https://auth0.com/docs/api/management/v2/custom-domains/get-custom-domains
"""
@spec get_custom_domain_configurations(config) ::
{:ok, list(map())} | error
def get_custom_domain_configurations(%Config{} = config \\ %Config{}) do
CustomDomains.list(config)
end
@doc """
Create a new custom domain.
## see
https://auth0.com/docs/api/management/v2/custom-domains/post-custom-domains
"""
@spec configure_custom_domain(map(), config) ::
{:ok, map()} | error
def configure_custom_domain(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
CustomDomains.configure(params, config)
end
@doc """
Get custom domain configuration.
## see
https://auth0.com/docs/api/management/v2/custom-domains/get-custom-domains-by-id
"""
@spec get_custom_domain_configuration(id, config) ::
{:ok, map()} | error
def get_custom_domain_configuration(id, %Config{} = config \\ %Config{}) do
CustomDomains.get(id, config)
end
@doc """
Delete a custom domain and stop serving requests for it.
## see
https://auth0.com/docs/api/management/v2/custom-domains/delete-custom-domains-by-id
"""
@spec delete_custom_domain_configuration(id, config) :: {:ok, String.t()} | error
def delete_custom_domain_configuration(id, %Config{} = config \\ %Config{}) do
CustomDomains.delete(id, config)
end
@doc """
Update a custom domain.
## see
https://auth0.com/docs/api/management/v2/custom-domains/patch-custom-domains-by-id
"""
@spec update_custom_domain_configuration(id, map(), config) ::
{:ok, map()} | error
def update_custom_domain_configuration(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
CustomDomains.update(id, params, config)
end
@doc """
Run the verification process on a custom domain.
## see
https://auth0.com/docs/api/management/v2/custom-domains/post-verify
"""
@spec verify_custom_domain(id, config) ::
{:ok, map()} | error
def verify_custom_domain(id, %Config{} = config \\ %Config{}) do
CustomDomains.verify(id, config)
end
@doc """
Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user.
## see
https://auth0.com/docs/api/management/v2/device-credentials/get-device-credentials
"""
@spec get_device_credentials(map(), config) ::
{:ok, list(map())} | error
def get_device_credentials(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
DeviceCredentials.list(params, config)
end
@doc """
Create a device credential public key to manage refresh token rotation for a given user_id. Device Credentials APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests.
## see
https://auth0.com/docs/api/management/v2/device-credentials/post-device-credentials
"""
@spec create_device_credential(map(), config) ::
{:ok, map()} | error
def create_device_credential(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
DeviceCredentials.create(params, config)
end
@doc """
Permanently delete a device credential (such as a refresh token or public key) with the given ID.
## see
https://auth0.com/docs/api/management/v2/device-credentials/delete-device-credentials-by-id
"""
@spec delete_device_credential(id, config) :: {:ok, String.t()} | error
def delete_device_credential(id, %Config{} = config \\ %Config{}) do
DeviceCredentials.delete(id, config)
end
@doc """
Create an email template.
## see
https://auth0.com/docs/api/management/v2/email-templates/post-email-templates
"""
@spec create_email_template(map(), config) ::
{:ok, map()} | error
def create_email_template(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
EmailTemplates.create(params, config)
end
@doc """
Retrieve an email template by pre-defined name. These names are verify_email, verify_email_by_code, reset_email, welcome_email, blocked_account, stolen_credentials, enrollment_email, mfa_oob_code, and user_invitation. The names change_password, and password_reset are also supported for legacy scenarios.
## see
https://auth0.com/docs/api/management/v2/email-templates/get-email-templates-by-template-name
"""
@spec get_email_template(template_name, config) ::
{:ok, map()} | error
def get_email_template(template_name, %Config{} = config \\ %Config{}) do
EmailTemplates.get(template_name, config)
end
@doc """
Modify an email template.
## see
https://auth0.com/docs/api/management/v2/email-templates/patch-email-templates-by-template-name
"""
@spec patch_email_template(template_name, map(), config) ::
{:ok, map()} | error
def patch_email_template(
template_name,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
EmailTemplates.patch(template_name, params, config)
end
@doc """
Update an email template.
## see
https://auth0.com/docs/api/management/v2/email-templates/put-email-templates-by-template-name
"""
@spec update_email_template(template_name, map(), config) ::
{:ok, map()} | error
def update_email_template(
template_name,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
EmailTemplates.update(template_name, params, config)
end
@doc """
Retrieve details of the email provider configuration in your tenant. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/emails/get-provider
"""
@spec get_email_provider(map(), config) ::
{:ok, map()} | error
def get_email_provider(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Emails.get_provider(params, config)
end
@doc """
Update an email provider. The credentials object requires different properties depending on the email provider (which is specified using the name property):
## see
https://auth0.com/docs/api/management/v2/emails/patch-provider
"""
@spec update_email_provider(map(), config) ::
{:ok, map()} | error
def update_email_provider(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Emails.update_provider(params, config)
end
@doc """
Create an email provider. The credentials object requires different properties depending on the email provider (which is specified using the name property):
## see
https://auth0.com/docs/api/management/v2/emails/post-provider
"""
@spec configure_email_provider(map(), config) ::
{:ok, map()} | error
def configure_email_provider(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Emails.configure_provider(params, config)
end
@doc """
Retrieve all event streams.
## see
https://auth0.com/docs/api/management/v2/event-streams/get-event-streams
"""
@spec get_event_streams(map(), config) :: {:ok, list(map())} | error
def get_event_streams(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
EventStreams.list(params, config)
end
@doc """
Create an event stream.
## see
https://auth0.com/docs/api/management/v2/event-streams/post-event-streams
"""
@spec create_event_stream(map(), config) :: {:ok, map()} | error
def create_event_stream(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
EventStreams.create(params, config)
end
@doc """
Retrieve an event stream by its ID.
## see
https://auth0.com/docs/api/management/v2/event-streams/get-event-streams-by-id
"""
@spec get_event_stream(id, config) :: {:ok, map()} | error
def get_event_stream(id, %Config{} = config \\ %Config{}) do
EventStreams.get(id, config)
end
@doc """
Delete an event stream.
## see
https://auth0.com/docs/api/management/v2/event-streams/delete-event-streams-by-id
"""
@spec delete_event_stream(id, config) :: {:ok, String.t()} | error
def delete_event_stream(id, %Config{} = config \\ %Config{}) do
EventStreams.delete(id, config)
end
@doc """
Update an event stream.
## see
https://auth0.com/docs/api/management/v2/event-streams/patch-event-streams-by-id
"""
@spec update_event_stream(id, map(), config) :: {:ok, map()} | error
def update_event_stream(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
EventStreams.update(id, params, config)
end
@doc """
Get flows.
## see
https://auth0.com/docs/api/management/v2/flows/get-flows
"""
@spec get_flows(map(), config) ::
{:ok, map()} | error
def get_flows(%{} = params, %Config{} = config) do
Flows.list(params, config)
end
@doc """
Create a flow.
## see
https://auth0.com/docs/api/management/v2/flows/post-flows
"""
@spec create_flow(map(), config) ::
{:ok, map()} | error
def create_flow(%{} = params, %Config{} = config) do
Flows.create(params, config)
end
@doc """
Get a flow.
## see
https://auth0.com/docs/api/management/v2/flows/get-flows-by-id
"""
@spec get_flow(id, map(), config) ::
{:ok, map()} | error
def get_flow(id, %{} = params, %Config{} = config) do
Flows.get(id, params, config)
end
@doc """
Update a flow.
## see
https://auth0.com/docs/api/management/v2/flows/patch-flows-by-id
"""
@spec update_flow(id, map(), config) ::
{:ok, map()} | error
def update_flow(id, %{} = params, %Config{} = config) do
Flows.update(id, params, config)
end
@doc """
Get forms.
## see
https://auth0.com/docs/api/management/v2/forms/get-forms
"""
@spec get_forms(map(), config) ::
{:ok, map()} | error
def get_forms(%{} = params, %Config{} = config) do
Forms.list(params, config)
end
@doc """
Create a form.
## see
https://auth0.com/docs/api/management/v2/forms/post-forms
"""
@spec create_form(map(), config) ::
{:ok, map()} | error
def create_form(%{} = params, %Config{} = config) do
Forms.create(params, config)
end
@doc """
Get a form.
## see
https://auth0.com/docs/api/management/v2/forms/get-forms-by-id
"""
@spec get_form(id, map(), config) ::
{:ok, map()} | error
def get_form(id, %{} = params, %Config{} = config) do
Forms.get(id, params, config)
end
@doc """
Update a form.
## see
https://auth0.com/docs/api/management/v2/forms/patch-forms-by-id
"""
@spec update_form(id, map(), config) ::
{:ok, map()} | error
def update_form(id, %{} = params, %Config{} = config) do
Forms.update(id, params, config)
end
@doc """
Retrieve the grants associated with your account.
## see
https://auth0.com/docs/api/management/v2/grants/get-grants
"""
@spec get_grants(map(), config) ::
{:ok, list(map()) | map()} | error
def get_grants(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Grants.list(params, config)
end
@doc """
Delete a grant associated with your account.
## see
https://auth0.com/docs/api/management/v2/grants/delete-grants-by-id
"""
@spec delete_grant(id, config) :: {:ok, String.t()} | error
def delete_grant(id, %Config{} = config \\ %Config{}) do
Grants.delete(id, config)
end
@doc """
Delete a grant associated with your account.
## see
https://auth0.com/docs/api/management/v2/grants/delete-grants-by-user-id
"""
@spec delete_grant_by_user_id(map(), config) :: {:ok, String.t()} | error
def delete_grant_by_user_id(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Grants.delete_by_user_id(params, config)
end
@doc """
Create a multi-factor authentication (MFA) enrollment ticket, and optionally send an email with the created ticket, to a given user.
## see
https://auth0.com/docs/api/management/v2/guardian/post-ticket
"""
@spec create_guardian_enrollment_ticket(map(), config) ::
{:ok, map()} | error
def create_guardian_enrollment_ticket(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.create_enrollment_ticket(params, config)
end
@doc """
Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to a user account.
## see
https://auth0.com/docs/api/management/v2/guardian/get-enrollments-by-id
"""
@spec get_guardian_enrollment(id, config) ::
{:ok, map()} | error
def get_guardian_enrollment(id, %Config{} = config \\ %Config{}) do
Guardian.get_enrollment(id, config)
end
@doc """
Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to re-enroll with MFA.
## see
https://auth0.com/docs/api/management/v2/guardian/delete-enrollments-by-id
"""
@spec delete_guardian_enrollment(id, config) :: {:ok, String.t()} | error
def delete_guardian_enrollment(id, %Config{} = config \\ %Config{}) do
Guardian.delete_enrollment(id, config)
end
@doc """
Retrieve details of all multi-factor authentication factors associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-factors
"""
@spec get_guardian_factors(config) ::
{:ok, list(map())} | error
def get_guardian_factors(%Config{} = config \\ %Config{}) do
Guardian.list_factors(config)
end
@doc """
Retrieve list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-message-types
"""
@spec get_guardian_phone_factor(config) ::
{:ok, map()} | error
def get_guardian_phone_factor(%Config{} = config \\ %Config{}) do
Guardian.get_phone_factor(config)
end
@doc """
Replace the list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-message-types
"""
@spec update_guardian_phone_factor(map(), config) ::
{:ok, map()} | error
def update_guardian_phone_factor(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.update_phone_factor(params, config)
end
@doc """
Retrieve configuration details for a Twilio phone provider that has been set up in your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-phone-twilio-factor-provider
"""
@spec get_guardian_twilio_phone_configuration(config) ::
{:ok, map()} | error
def get_guardian_twilio_phone_configuration(%Config{} = config \\ %Config{}) do
Guardian.get_twilio_phone_configuration(config)
end
@doc """
Update the configuration of a Twilio phone provider that has been set up in your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-twilio
"""
@spec update_guardian_twilio_phone_configuration(
map(),
config
) ::
{:ok, map()} | error
def update_guardian_twilio_phone_configuration(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.update_twilio_phone_configuration(params, config)
end
@doc """
Retrieve details of the multi-factor authentication phone provider configured for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-guardian-phone-providers
"""
@spec get_guardian_phone_configuration(config) ::
{:ok, map()} | error
def get_guardian_phone_configuration(%Config{} = config \\ %Config{}) do
Guardian.get_phone_configuration(config)
end
@doc """
Update phone provider configuration
## see
https://auth0.com/docs/api/management/v2/guardian/put-phone-providers
"""
@spec update_guardian_phone_configuration(map(), config) ::
{:ok, map()} | error
def update_guardian_phone_configuration(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.update_phone_configuration(params, config)
end
@doc """
Retrieve details of the multi-factor authentication enrollment and verification templates for phone-type factors available in your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-factor-phone-templates
"""
@spec get_guardian_phone_template(config) ::
{:ok, map()} | error
def get_guardian_phone_template(%Config{} = config \\ %Config{}) do
Guardian.get_phone_template(config)
end
@doc """
Customize the messages sent to complete phone enrollment and verification (subscription required).
## see
https://auth0.com/docs/api/management/v2/guardian/put-factor-phone-templates
"""
@spec update_guardian_phone_template(map(), config) ::
{:ok, map()} | error
def update_guardian_phone_template(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.update_phone_template(params, config)
end
@doc """
Retrieve configuration details for the multi-factor authentication APNS provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-apns
"""
@spec get_guardian_apns_configuration(config) ::
{:ok, map()} | error
def get_guardian_apns_configuration(%Config{} = config) do
Guardian.get_apns_configuration(config)
end
@doc """
Modify configuration details of the multi-factor authentication APNS provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/patch-apns
"""
@spec patch_guardian_apns_configuration(map(), config) ::
{:ok, map()} | error
def patch_guardian_apns_configuration(
%{} = params,
%Config{} = config
) do
Guardian.patch_apns_configuration(params, config)
end
@doc """
Overwrite all configuration details of the multi-factor authentication APNS provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-apns
"""
@spec update_guardian_apns_configuration(map(), config) ::
{:ok, map()} | error
def update_guardian_apns_configuration(
%{} = params,
%Config{} = config
) do
Guardian.update_apns_configuration(params, config)
end
@doc """
Modify configuration details of the multi-factor authentication FCM provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/patch-fcm
"""
@spec patch_guardian_fcm_configuration(map(), config) ::
{:ok, map()} | error
def patch_guardian_fcm_configuration(
%{} = params,
%Config{} = config
) do
Guardian.patch_fcm_configuration(params, config)
end
@doc """
Overwrite all configuration details of the multi-factor authentication FCM provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-fcm
"""
@spec update_guardian_fcm_configuration(map(), config) ::
{:ok, map()} | error
def update_guardian_fcm_configuration(
%{} = params,
%Config{} = config
) do
Guardian.update_fcm_configuration(params, config)
end
@doc """
Modify configuration details of the multi-factor authentication FCMV1 provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/patch-fcmv-1
"""
@spec patch_guardian_fcmv1_configuration(map(), config) ::
{:ok, map()} | error
def patch_guardian_fcmv1_configuration(
%{} = params,
%Config{} = config
) do
Guardian.patch_fcmv1_configuration(params, config)
end
@doc """
Overwrite all configuration details of the multi-factor authentication FCMV1 provider associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-fcmv-1
"""
@spec update_guardian_fcmv1_configuration(map(), config) ::
{:ok, map()} | error
def update_guardian_fcmv1_configuration(
%{} = params,
%Config{} = config
) do
Guardian.update_fcmv1_configuration(params, config)
end
@doc """
Retrieve configuration details for an AWS SNS push notification provider that has been enabled for MFA.
## see
https://auth0.com/docs/api/management/v2/guardian/get-sns
"""
@spec get_guardian_aws_sns_configuration(config) ::
{:ok, map()} | error
def get_guardian_aws_sns_configuration(%Config{} = config \\ %Config{}) do
Guardian.get_aws_sns_configuration(config)
end
@doc """
Configure the AWS SNS push notification provider configuration (subscription required).
## see
https://auth0.com/docs/api/management/v2/guardian/patch-sns
"""
@spec patch_guardian_aws_sns_configuration(
map(),
config
) ::
{:ok, map()} | error
def patch_guardian_aws_sns_configuration(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.patch_aws_sns_configuration(params, config)
end
@doc """
Configure the AWS SNS push notification provider configuration (subscription required).
## see
https://auth0.com/docs/api/management/v2/guardian/put-sns
"""
@spec update_guardian_aws_sns_configuration(
map(),
config
) ::
{:ok, map()} | error
def update_guardian_aws_sns_configuration(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Guardian.update_aws_sns_configuration(params, config)
end
@doc """
Retrieve the push notification provider configured for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-pn-providers
"""
@spec get_guardian_notification_provider(config) ::
{:ok, map()} | error
def get_guardian_notification_provider(%Config{} = config) do
Guardian.get_notification_provider(config)
end
@doc """
Modify the push notification provider configured for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-pn-providers
"""
@spec update_guardian_notification_provider(map(), config) ::
{:ok, map()} | error
def update_guardian_notification_provider(
%{} = params,
%Config{} = config
) do
Guardian.update_notification_provider(params, config)
end
@doc """
Update the status (i.e., enabled or disabled) of a specific multi-factor authentication factor.
## see
https://auth0.com/docs/api/management/v2/guardian/put-factors-by-name
"""
@spec update_guardian_factor(name, map(), config) ::
{:ok, map()} | error
def update_guardian_factor(name, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Guardian.update_factor(name, params, config)
end
@doc """
Retrieve the multi-factor authentication (MFA) policies configured for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/get-policies
"""
@spec list_guardian_policies(config) :: {:ok, list()} | error
def list_guardian_policies(%Config{} = config \\ %Config{}) do
Guardian.list_policies(config)
end
@doc """
Set multi-factor authentication (MFA) policies for your tenant.
## see
https://auth0.com/docs/api/management/v2/guardian/put-policies
"""
@spec set_guardian_policies(map(), config) :: {:ok, list()} | error
def set_guardian_policies(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Guardian.set_policies(params, config)
end
@doc """
Retrieve all hooks. Accepts a list of fields to include or exclude in the result.
## see
https://auth0.com/docs/api/management/v2/hooks/get-hooks
"""
@spec get_hooks(map(), config) ::
{:ok, list(map()) | map()} | error
def get_hooks(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.list(params, config)
end
@doc """
Create a new hook.
## see
https://auth0.com/docs/api/management/v2/hooks/post-hooks
"""
@spec create_hook(map(), config) ::
{:ok, map()} | error
def create_hook(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.create(params, config)
end
@doc """
Retrieve a hook by its ID. Accepts a list of fields to include in the result.
## see
https://auth0.com/docs/api/management/v2/hooks/get-hooks-by-id
"""
@spec get_hook(id, map(), config) ::
{:ok, map()} | error
def get_hook(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.get(id, params, config)
end
@doc """
Delete a hook.
## see
https://auth0.com/docs/api/management/v2/hooks/delete-hooks-by-id
"""
@spec delete_hook(id, config) :: {:ok, String.t()} | error
def delete_hook(id, %Config{} = config \\ %Config{}) do
Hooks.delete(id, config)
end
@doc """
Update an existing hook.
## see
https://auth0.com/docs/api/management/v2/hooks/patch-hooks-by-id
"""
@spec update_hook(id, map(), config) ::
{:ok, map()} | error
def update_hook(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.update(id, params, config)
end
@doc """
Retrieve a hook's secrets by the ID of the hook.
## see
https://auth0.com/docs/api/management/v2/hooks/get-secrets
"""
@spec get_hook_secrets(id, config) ::
{:ok, map()} | error
def get_hook_secrets(id, %Config{} = config \\ %Config{}) do
Hooks.get_secrets(id, config)
end
@doc """
Delete one or more existing secrets for a given hook. Accepts an array of secret names to delete.
## see
https://auth0.com/docs/api/management/v2/hooks/delete-secrets
"""
@spec delete_hook_secrets(id, map(), config) ::
{:ok, String.t()} | error
def delete_hook_secrets(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.delete_secrets(id, params, config)
end
@doc """
Update an existing hook.
## see
https://auth0.com/docs/api/management/v2/hooks/patch-hooks-by-id
"""
@spec update_hook_secrets(id, map(), config) ::
{:ok, map()} | error
def update_hook_secrets(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.update_secrets(id, params, config)
end
@doc """
Add one or more secrets to an existing hook. Accepts an object of key-value pairs, where the key is the name of the secret. A hook can have a maximum of 20 secrets.
## see
https://auth0.com/docs/api/management/v2/hooks/post-secrets
"""
@spec add_hook_secrets(id, map(), config) ::
{:ok, map()} | error
def add_hook_secrets(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Hooks.add_secrets(id, params, config)
end
@doc """
Export all users to a file via a long-running job.
## see
https://auth0.com/docs/api/management/v2/jobs/post-users-exports
"""
@spec create_job_users_exports(map(), config) ::
{:ok, map()} | error
def create_job_users_exports(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Jobs.create_users_exports(params, config)
end
@doc """
Import users from a formatted file into a connection via a long-running job.
## see
https://auth0.com/docs/api/management/v2/jobs/post-users-imports
"""
@spec create_job_users_imports(map(), config) ::
{:ok, map()} | error
def create_job_users_imports(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Jobs.create_users_imports(params, config)
end
@doc """
Send an email to the specified user that asks them to click a link to verify their email address.
## see
https://auth0.com/docs/api/management/v2/jobs/post-verification-email
"""
@spec send_job_verification_email(map(), config) ::
{:ok, map()} | error
def send_job_verification_email(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Jobs.send_verification_email(params, config)
end
@doc """
Retrieves a job. Useful to check its status.
## see
https://auth0.com/docs/api/management/v2/jobs/get-jobs-by-id
"""
@spec get_job(id, config) :: {:ok, list(map()) | map()} | error
def get_job(id, %Config{} = config \\ %Config{}) do
Jobs.get(id, config)
end
@doc """
Retrieve error details of a failed job.
## see
https://auth0.com/docs/api/management/v2/jobs/get-errors
"""
@spec get_job_error(id, config) ::
{:ok, list(map()) | map()} | error
def get_job_error(id, %Config{} = config \\ %Config{}) do
Jobs.get_error(id, config)
end
@doc """
Retrieve details of all the application signing keys associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/keys/get-signing-keys
"""
@spec get_signing_keys(config) ::
{:ok, list(map())} | error
def get_signing_keys(%Config{} = config \\ %Config{}) do
Keys.list_signing(config)
end
@doc """
Retrieve details of the application signing key with the given ID.
## see
https://auth0.com/docs/api/management/v2/keys/get-signing-key
"""
@spec get_signing_key(kid, config) ::
{:ok, map()} | error
def get_signing_key(kid, %Config{} = config \\ %Config{}) do
Keys.get_signing(kid, config)
end
@doc """
Rotate the application signing key of your tenant.
## see
https://auth0.com/docs/api/management/v2/keys/post-signing-keys
"""
@spec rotate_signing_key(config) ::
{:ok, map()} | error
def rotate_signing_key(%Config{} = config \\ %Config{}) do
Keys.rotate_signing(config)
end
@doc """
Revoke the application signing key with the given ID.
## see
https://auth0.com/docs/api/management/v2/keys/put-signing-keys
"""
@spec revoke_signing_key(kid, config) ::
{:ok, map()} | error
def revoke_signing_key(kid, %Config{} = config \\ %Config{}) do
Keys.revoke_signing(kid, config)
end
@doc """
Retrieve details of all the encryption keys associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/keys/get-encryption-keys
"""
@spec get_encryption_keys(map(), config) ::
{:ok, list(map()) | map()} | error
def get_encryption_keys(%{} = params, %Config{} = config) do
Keys.get_encryption_keys(params, config)
end
@doc """
Create the new, pre-activated encryption key, without the key material.
## see
https://auth0.com/docs/api/management/v2/keys/post-encryption
"""
@spec create_encryption_key(map(), config) ::
{:ok, map()} | error
def create_encryption_key(%{} = params, %Config{} = config) do
Keys.create_encryption_key(params, config)
end
@doc """
Perform rekeying operation on the key hierarchy.
## see
https://auth0.com/docs/api/management/v2/keys/post-encryption-rekey
"""
@spec rekey_encryption_key(config) ::
{:ok, String.t()} | error
def rekey_encryption_key(%Config{} = config) do
Keys.rekey_encryption_key(config)
end
@doc """
Retrieve details of the encryption key with the given ID.
## see
https://auth0.com/docs/api/management/v2/keys/get-encryption-key
"""
@spec get_encryption_key(kid, config) ::
{:ok, map()} | error
def get_encryption_key(kid, %Config{} = config) do
Keys.get_encryption_key(kid, config)
end
@doc """
Delete the custom provided encryption key with the given ID and move back to using native encryption key.
## see
https://auth0.com/docs/api/management/v2/keys/delete-encryption-key
"""
@spec delete_encryption_key(kid, config) ::
{:ok, String.t()} | error
def delete_encryption_key(kid, %Config{} = config) do
Keys.delete_encryption_key(kid, config)
end
@doc """
Import wrapped key material and activate encryption key.
## see
https://auth0.com/docs/api/management/v2/keys/post-encryption-key
"""
@spec import_encryption_key(kid, map(), config) ::
{:ok, map()} | error
def import_encryption_key(kid, %{} = params, %Config{} = config) do
Keys.import_encryption_key(kid, params, config)
end
@doc """
Create the public wrapping key to wrap your own encryption key material.
## see
https://auth0.com/docs/api/management/v2/keys/post-encryption-wrapping-key
"""
@spec create_encryption_wrapping_key(kid, config) ::
{:ok, map()} | error
def create_encryption_wrapping_key(kid, %Config{} = config) do
Keys.create_encryption_wrapping_key(kid, config)
end
@doc """
Retrieve details on log streams.
## see
https://auth0.com/docs/api/management/v2/log-streams/get-log-streams
"""
@spec get_log_streams(config) :: {:ok, map()} | error
def get_log_streams(%Config{} = config \\ %Config{}) do
LogStreams.list(config)
end
@doc """
Create a log stream.
## see
https://auth0.com/docs/api/management/v2/log-streams/post-log-streams
"""
@spec create_log_stream(map(), config) ::
{:ok, map()} | error
def create_log_stream(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
LogStreams.create(params, config)
end
@doc """
Retrieve a log stream configuration and status.
## see
https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams_by_id
"""
@spec get_log_stream(id, config) ::
{:ok, map()} | error
def get_log_stream(id, %Config{} = config \\ %Config{}) do
LogStreams.get(id, config)
end
@doc """
Delete a log stream.
## see
https://auth0.com/docs/api/management/v2/log-streams/delete-log-streams-by-id
"""
@spec delete_log_stream(id, config) :: {:ok, String.t()} | error
def delete_log_stream(id, %Config{} = config \\ %Config{}) do
LogStreams.delete(id, config)
end
@doc """
Update a log stream.
## see
https://auth0.com/docs/api/management/v2/log-streams/patch-log-streams-by-id
"""
@spec update_log_stream(id, map(), config) ::
{:ok, map()} | error
def update_log_stream(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
LogStreams.update(id, params, config)
end
@doc """
Retrieve log entries that match the specified search criteria (or all log entries if no criteria specified).
## see
https://auth0.com/docs/api/management/v2/logs/get-logs
"""
@spec get_log_events(map(), config) ::
{:ok, list(map()) | map()} | error
def get_log_events(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Logs.list(params, config)
end
@doc """
Retrieve an individual log event.
## see
https://auth0.com/docs/api/management/v2/logs/get-logs-by-id
"""
@spec get_log_event(id, config) :: {:ok, map()} | error
def get_log_event(id, %Config{} = config \\ %Config{}) do
Logs.get(id, config)
end
@doc """
Retrieve a list of network ACLs.
## see
https://auth0.com/docs/api/management/v2/network-acls/get-network-acls
"""
@spec get_network_acls(map(), config) :: {:ok, list(map())} | error
def get_network_acls(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
NetworkAcls.list(params, config)
end
@doc """
Create a network ACL.
## see
https://auth0.com/docs/api/management/v2/network-acls/post-network-acls
"""
@spec create_network_acl(map(), config) :: {:ok, map()} | error
def create_network_acl(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
NetworkAcls.create(params, config)
end
@doc """
Retrieve a network ACL by its ID.
## see
https://auth0.com/docs/api/management/v2/network-acls/get-network-acls-by-id
"""
@spec get_network_acl(id, config) :: {:ok, map()} | error
def get_network_acl(id, %Config{} = config \\ %Config{}) do
NetworkAcls.get(id, config)
end
@doc """
Delete a network ACL.
## see
https://auth0.com/docs/api/management/v2/network-acls/delete-network-acls-by-id
"""
@spec delete_network_acl(id, config) :: {:ok, String.t()} | error
def delete_network_acl(id, %Config{} = config \\ %Config{}) do
NetworkAcls.delete(id, config)
end
@doc """
Update a network ACL.
## see
https://auth0.com/docs/api/management/v2/network-acls/patch-network-acls-by-id
"""
@spec update_network_acl(id, map(), config) :: {:ok, map()} | error
def update_network_acl(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
NetworkAcls.update(id, params, config)
end
@doc """
Retrive detailed list of all Organizations available in your tenant.
## see
https://auth0.com/docs/api/management/v2/organizations/get-organizations
"""
@spec get_organizations(map(), config) ::
{:ok, list(map()) | map()} | error
def get_organizations(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Organizations.list(params, config)
end
@doc """
Create a new Organization within your tenant.
## see
https://auth0.com/docs/api/management/v2/organizations/post-organizations
"""
@spec create_organization(map(), config) ::
{:ok, map()} | error
def create_organization(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Organizations.create(params, config)
end
@doc """
Retrieve details about a single Organization specified by name.
## see
https://auth0.com/docs/api/management/v2/organizations/get-name-by-name
"""
@spec get_organization_by_name(name, config) ::
{:ok, map()} | error
def get_organization_by_name(name, %Config{} = config \\ %Config{}) do
Organizations.get_by_name(name, config)
end
@doc """
Retrieve details about a single Organization specified by ID.
## see
https://auth0.com/docs/api/management/v2/organizations/get-organizations-by-id
"""
@spec get_organization(id, config) ::
{:ok, map()} | error
def get_organization(id, %Config{} = config \\ %Config{}) do
Organizations.get(id, config)
end
@doc """
Remove an Organization from your tenant. This action cannot be undone.
## see
https://auth0.com/docs/api/management/v2/organizations/delete-organizations-by-id
"""
@spec delete_organization(id, config) :: {:ok, String.t()} | error
def delete_organization(id, %Config{} = config \\ %Config{}) do
Organizations.delete(id, config)
end
@doc """
Update the details of a specific Organization, such as name and display name, branding options, and metadata.
## see
https://auth0.com/docs/api/management/v2/organizations/patch-organizations-by-id
"""
@spec modify_organization(id, map(), config) ::
{:ok, map()} | error
def modify_organization(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Organizations.modify(id, params, config)
end
@doc """
Retrieve details about a specific connection currently enabled for an Organization. Information returned includes details such as connection ID, name, strategy, and whether the connection automatically grants membership upon login.
## see
https://auth0.com/docs/api/management/v2/organizations/get-enabled-connections
"""
@spec get_organization_connections(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_organization_connections(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.list_connections(id, params, config)
end
@doc """
Enable a specific connection for a given Organization. To enable a connection, it must already exist within your tenant; connections cannot be created through this action.
## see
https://auth0.com/docs/api/management/v2/organizations/post-enabled-connections
"""
@spec add_organization_connection(
id,
map(),
config
) ::
{:ok, map()} | error
def add_organization_connection(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.add_connection(id, params, config)
end
@doc """
Retrieve details about a specific connection currently enabled for an Organization. Information returned includes details such as connection ID, name, strategy, and whether the connection automatically grants membership upon login.
## see
https://auth0.com/docs/api/management/v2/organizations/get-enabled-connections-by-connection-id
"""
@spec get_organization_connection(id, connection_id, config) ::
{:ok, map()} | error
def get_organization_connection(id, connection_id, %Config{} = config \\ %Config{}) do
Organizations.get_connection(id, connection_id, config)
end
@doc """
Disable a specific connection for an Organization. Once disabled, Organization members can no longer use that connection to authenticate.
## see
https://auth0.com/docs/api/management/v2/organizations/delete-enabled-connections-by-connection-id
"""
@spec delete_organization_connection(id, connection_id, config) ::
{:ok, String.t()} | error
def delete_organization_connection(id, connection_id, %Config{} = config \\ %Config{}) do
Organizations.delete_connection(id, connection_id, config)
end
@doc """
Modify the details of a specific connection currently enabled for an Organization.
## see
https://auth0.com/docs/api/management/v2/organizations/patch-enabled-connections-by-connection-id
"""
@spec modify_organization_connection(
id,
connection_id,
map(),
config
) ::
{:ok, map()} | error
def modify_organization_connection(
id,
connection_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.modify_connection(id, connection_id, params, config)
end
@doc """
Retrieve a detailed list of invitations sent to users for a specific Organization. The list includes details such as inviter and invitee information, invitation URLs, and dates of creation and expiration.
## see
https://auth0.com/docs/api/management/v2/organizations/get-invitations
"""
@spec get_organization_invitations(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_organization_invitations(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.list_invitations(id, params, config)
end
@doc """
Create a user invitation for a specific Organization. Upon creation, the listed user receives an email inviting them to join the Organization.
## see
https://auth0.com/docs/api/management/v2/organizations/post-invitations
"""
@spec create_organization_invitation(id, map(), config) ::
{:ok, map()} | error
def create_organization_invitation(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.create_invitation(id, params, config)
end
@doc """
Get a specific invitation to an Organization
## see
https://auth0.com/docs/api/management/v2/organizations/get-invitations-by-invitation-id
"""
@spec get_organization_invitation(
id,
invitation_id,
map(),
config
) ::
{:ok, map()} | error
def get_organization_invitation(
id,
invitation_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.get_invitation(id, invitation_id, params, config)
end
@doc """
Delete an invitation to an Organization
## see
https://auth0.com/docs/api/management/v2/organizations/delete-invitations-by-invitation-id
"""
@spec delete_organization_invitation(id, invitation_id, config) ::
{:ok, String.t()} | error
def delete_organization_invitation(id, invitation_id, %Config{} = config \\ %Config{}) do
Organizations.delete_invitation(id, invitation_id, config)
end
@doc """
List organization members.
## see
https://auth0.com/docs/api/management/v2/organizations/get-members
"""
@spec get_organization_members(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_organization_members(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.list_members(id, params, config)
end
@doc """
Delete members from an organization
## see
https://auth0.com/docs/api/management/v2/organizations/delete-members
"""
@spec delete_organization_members(id, map(), config) ::
{:ok, String.t()} | error
def delete_organization_members(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.delete_members(id, params, config)
end
@doc """
Set one or more existing users as members of a specific Organization.
## see
https://auth0.com/docs/api/management/v2/organizations/post-members
"""
@spec add_organization_members(id, map(), config) ::
{:ok, String.t()} | error
def add_organization_members(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.add_members(id, params, config)
end
@doc """
Retrieve detailed list of roles assigned to a given user within the context of a specific Organization.
## see
https://auth0.com/docs/api/management/v2/organizations/get-organization-member-roles
"""
@spec get_organization_roles(id, user_id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_organization_roles(
id,
user_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.list_roles(id, user_id, params, config)
end
@doc """
Remove one or more Organization-specific roles from a given user.
## see
https://auth0.com/docs/api/management/v2/organizations/delete-organization-member-roles
"""
@spec delete_organization_roles(
id,
user_id,
map(),
config
) ::
{:ok, String.t()} | error
def delete_organization_roles(
id,
user_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.delete_roles(id, user_id, params, config)
end
@doc """
Assign one or more roles to a user to determine their access for a specific Organization.
## see
https://auth0.com/docs/api/management/v2/organizations/post-organization-member-roles
"""
@spec assign_organization_roles(id, user_id, map(), config) ::
{:ok, String.t()} | error
def assign_organization_roles(
id,
user_id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Organizations.assign_roles(id, user_id, params, config)
end
@doc """
Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features.
## see
https://auth0.com/docs/api/management/v2/prompts/get-prompts
"""
@spec get_prompt_setting(config) :: {:ok, map()} | error
def get_prompt_setting(%Config{} = config \\ %Config{}) do
Prompts.get(config)
end
@doc """
Update the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features.
## see
https://auth0.com/docs/api/management/v2/prompts/patch-prompts
"""
@spec update_prompt_setting(map(), config) ::
{:ok, map()} | error
def update_prompt_setting(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Prompts.update(params, config)
end
@doc """
Retrieve custom text for a specific prompt and language.
## see
https://auth0.com/docs/api/management/v2/prompts/get-custom-text-by-language
"""
@spec get_prompt_custom_text(prompt, language, config) ::
{:ok, map()} | error
def get_prompt_custom_text(prompt, language, %Config{} = config \\ %Config{}) do
Prompts.get_custom_text(prompt, language, config)
end
@doc """
Set custom text for a specific prompt. Existing texts will be overwritten.
## see
https://auth0.com/docs/api/management/v2/prompts/put-custom-text-by-language
"""
@spec set_prompt_custom_text(prompt, language, map(), config) ::
{:ok, String.t()} | error
def set_prompt_custom_text(
prompt,
language,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Prompts.set_custom_text(prompt, language, params, config)
end
@doc """
Get template partials for a prompt
## see
https://auth0.com/docs/api/management/v2/prompts/get-partials
"""
@spec get_prompt_partials(prompt, config) ::
{:ok, map()} | error
def get_prompt_partials(prompt, %Config{} = config \\ %Config{}) do
Prompts.get_partials(prompt, config)
end
@doc """
Set template partials for a prompt
## see
https://auth0.com/docs/api/management/v2/prompts/put-partials
"""
@spec set_prompt_partials(prompt, map(), config) ::
{:ok, String.t()} | error
def set_prompt_partials(
prompt,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Prompts.set_partials(prompt, params, config)
end
@doc """
Retrieve refresh token information.
## see
https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token
"""
@spec get_refresh_token(id, config) ::
{:ok, map()} | error
def get_refresh_token(id, %Config{} = config \\ %Config{}) do
RefreshTokens.get(id, config)
end
@doc """
Delete a refresh token by its ID.
## see
https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token
"""
@spec delete_refresh_token(id, config) ::
{:ok, String.t()} | error
def delete_refresh_token(id, %Config{} = config \\ %Config{}) do
RefreshTokens.delete(id, config)
end
@doc """
Retrieve details of all APIs associated with your tenant.
## see
https://auth0.com/docs/api/management/v2/resource-servers/get-resource-servers
"""
@spec get_resource_servers(map(), config) ::
{:ok, list(map()) | map()} | error
def get_resource_servers(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ResourceServers.list(params, config)
end
@doc """
Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0.
## see
https://auth0.com/docs/api/management/v2/resource-servers/post-resource-servers
"""
@spec create_resource_server(map(), config) ::
{:ok, map()} | error
def create_resource_server(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ResourceServers.create(params, config)
end
@doc """
Retrieve API details with the given ID.
## see
https://auth0.com/docs/api/management/v2/resource-servers/get-resource-servers-by-id
"""
@spec get_resource_server(id, map(), config) ::
{:ok, map()} | error
def get_resource_server(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ResourceServers.get(id, params, config)
end
@doc """
Delete an existing API by ID.
## see
https://auth0.com/docs/api/management/v2/resource-servers/delete-resource-servers-by-id
"""
@spec delete_resource_server(id, config) :: {:ok, String.t()} | error
def delete_resource_server(id, %Config{} = config \\ %Config{}) do
ResourceServers.delete(id, config)
end
@doc """
Change an existing API setting by resource server ID.
## see
https://auth0.com/docs/api/management/v2/resource-servers/patch-resource-servers-by-id
"""
@spec update_resource_server(id, map(), config) ::
{:ok, map()} | error
def update_resource_server(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
ResourceServers.update(id, params, config)
end
@doc """
Create a risk assessment.
## see
https://auth0.com/docs/api/management/v2/risk-assessments/post-risk-assessments
"""
@spec create_risk_assessment(map(), config) :: {:ok, map()} | error
def create_risk_assessment(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
RiskAssessments.create(params, config)
end
@doc """
Retrieve a risk assessment by its ID.
## see
https://auth0.com/docs/api/management/v2/risk-assessments/get-risk-assessments-by-id
"""
@spec get_risk_assessment(id, config) :: {:ok, map()} | error
def get_risk_assessment(id, %Config{} = config \\ %Config{}) do
RiskAssessments.get(id, config)
end
@doc """
Retrieve detailed list of user roles created in your tenant.
## see
https://auth0.com/docs/api/management/v2/roles/get-roles
"""
@spec get_roles(map(), config) ::
{:ok, list(map()) | map()} | error
def get_roles(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.list(params, config)
end
@doc """
Create a user role for Role-Based Access Control.
## see
https://auth0.com/docs/api/management/v2/roles/post-roles
"""
@spec create_role(map(), config) ::
{:ok, map()} | error
def create_role(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.create(params, config)
end
@doc """
Retrieve details about a specific user role specified by ID.
## see
https://auth0.com/docs/api/management/v2/roles/get-roles-by-id
"""
@spec get_role(id, config) :: {:ok, map()} | error
def get_role(id, %Config{} = config \\ %Config{}) do
Roles.get(id, config)
end
@doc """
Delete a specific user role from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone.
## see
https://auth0.com/docs/api/management/v2/roles/delete-roles-by-id
"""
@spec delete_role(id, config) :: {:ok, String.t()} | error
def delete_role(id, %Config{} = config \\ %Config{}) do
Roles.delete(id, config)
end
@doc """
Modify the details of a specific user role specified by ID.
## see
https://auth0.com/docs/api/management/v2/roles/patch-roles-by-id
"""
@spec update_role(id, map(), config) ::
{:ok, map()} | error
def update_role(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.update(id, params, config)
end
@doc """
Retrieve detailed list (name, description, resource server) of permissions granted by a specified user role.
## see
https://auth0.com/docs/api/management/v2/roles/get-role-permission
"""
@spec get_role_permissions(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_role_permissions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.list_permissions(id, params, config)
end
@doc """
Remove one or more permissions from a specified user role.
## see
https://auth0.com/docs/api/management/v2/roles/delete-role-permission-assignment
"""
@spec remove_role_permissions(id, map(), config) ::
{:ok, String.t()} | error
def remove_role_permissions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.remove_permissions(id, params, config)
end
@doc """
Add one or more permissions to a specified user role.
## see
https://auth0.com/docs/api/management/v2/roles/post-role-permission-assignment
"""
@spec associate_role_permissions(id, map(), config) ::
{:ok, String.t()} | error
def associate_role_permissions(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Roles.associate_permissions(id, params, config)
end
@doc """
Retrieve list of users associated with a specific role.
## see
https://auth0.com/docs/api/management/v2/roles/get-role-user
"""
@spec get_role_users(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_role_users(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.list_users(id, params, config)
end
@doc """
Assign one or more users to an existing user role.
## see
https://auth0.com/docs/api/management/v2/roles/post-role-users
"""
@spec assign_role_users(id, map(), config) ::
{:ok, String.t()} | error
def assign_role_users(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Roles.assign_users(id, params, config)
end
@doc """
Create a supplemental signal.
## see
https://auth0.com/docs/api/management/v2/supplemental-signals/post-supplemental-signals
"""
@spec create_supplemental_signal(map(), config) :: {:ok, map()} | error
def create_supplemental_signal(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
SupplementalSignals.create(params, config)
end
@doc """
Retrieve a supplemental signal by its ID.
## see
https://auth0.com/docs/api/management/v2/supplemental-signals/get-supplemental-signals-by-id
"""
@spec get_supplemental_signal(id, config) :: {:ok, map()} | error
def get_supplemental_signal(id, %Config{} = config \\ %Config{}) do
SupplementalSignals.get(id, config)
end
@doc """
Retrieve a filtered list of rules. Accepts a list of fields to include or exclude.
## see
https://auth0.com/docs/api/management/v2/rules/get-rules
"""
@spec get_rules(map(), config) ::
{:ok, list(map()) | map()} | error
def get_rules(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Rules.list(params, config)
end
@doc """
Create a new rule.
## see
https://auth0.com/docs/api/management/v2/rules/post-rules
"""
@spec create_rule(map(), config) ::
{:ok, map()} | error
def create_rule(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Rules.create(params, config)
end
@doc """
Retrieve rule details. Accepts a list of fields to include or exclude in the result.
## see
https://auth0.com/docs/api/management/v2/rules/get-rules-by-id
"""
@spec get_rule(id, map(), config) ::
{:ok, map()} | error
def get_rule(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Rules.get(id, params, config)
end
@doc """
Delete a rule.
## see
https://auth0.com/docs/api/management/v2/rules/delete-rules-by-id
"""
@spec delete_rule(id, config) :: {:ok, String.t()} | error
def delete_rule(id, %Config{} = config \\ %Config{}) do
Rules.delete(id, config)
end
@doc """
Update an existing rule.
## see
https://auth0.com/docs/api/management/v2/rules/patch-rules-by-id
"""
@spec update_rule(id, map(), config) ::
{:ok, map()} | error
def update_rule(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Rules.update(id, params, config)
end
@doc """
Retrieve rules config variable keys.
## see
https://auth0.com/docs/api/management/v2/rules-configs/get-rules-configs
"""
@spec get_rules_configs(config) ::
{:ok, list(map())} | error
def get_rules_configs(%Config{} = config \\ %Config{}) do
RulesConfigs.list(config)
end
@doc """
Delete a rules config variable identified by its key.
## see
https://auth0.com/docs/api/management/v2/rules-configs/delete-rules-configs-by-key
"""
@spec delete_rules_config(key, config) :: {:ok, String.t()} | error
def delete_rules_config(key, %Config{} = config \\ %Config{}) do
RulesConfigs.delete(key, config)
end
@doc """
Sets a rules config variable.
## see
https://auth0.com/docs/api/management/v2/rules-configs/put-rules-configs-by-key
"""
@spec set_rules_config(key, map(), config) ::
{:ok, map()} | error
def set_rules_config(key, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
RulesConfigs.set(key, params, config)
end
@doc """
Retrieves self-service profiles. Currently only one profile can be created per tenant.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/get-self-service-profiles
"""
@spec get_self_service_profiles(map(), config) ::
{:ok, map()} | error
def get_self_service_profiles(%{} = params, %Config{} = config) do
SelfServiceProfiles.list(params, config)
end
@doc """
Creates a self-service profile. Currently only one profile can be created per tenant.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/post-self-service-profiles
"""
@spec create_self_service_profile(map(), config) ::
{:ok, map()} | error
def create_self_service_profile(%{} = params, %Config{} = config) do
SelfServiceProfiles.create(params, config)
end
@doc """
Retrieves a self-service profile by Id.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/get-self-service-profiles-by-id
"""
@spec get_self_service_profile(id, config) ::
{:ok, map()} | error
def get_self_service_profile(id, %Config{} = config) do
SelfServiceProfiles.get(id, config)
end
@doc """
Deletes a self-service profile by Id.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/delete-self-service-profiles-by-id
"""
@spec delete_self_service_profile(id, config) ::
{:ok, map()} | error
def delete_self_service_profile(id, %Config{} = config) do
SelfServiceProfiles.delete(id, config)
end
@doc """
Updates a self-service profile.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/patch-self-service-profiles-by-id
"""
@spec update_self_service_profile(id, map(), config) ::
{:ok, map()} | error
def update_self_service_profile(id, %{} = params, %Config{} = config) do
SelfServiceProfiles.update(id, params, config)
end
@doc """
Creates an sso-access ticket to initiate the Self Service SSO Flow using a self-service profile.
## see
https://auth0.com/docs/api/management/v2/self-service-profiles/post-sso-ticket
"""
@spec create_self_service_profile_sso_ticket(id, map(), config) ::
{:ok, map()} | error
def create_self_service_profile_sso_ticket(id, %{} = params, %Config{} = config) do
SelfServiceProfiles.create_sso_ticket(id, params, config)
end
@doc """
Retrieve session information.
## see
https://auth0.com/docs/api/management/v2/sessions/get-session
"""
@spec get_session(id, config) ::
{:ok, map()} | error
def get_session(id, %Config{} = config \\ %Config{}) do
Sessions.get(id, config)
end
@doc """
Delete a session by ID.
## see
https://auth0.com/docs/api/management/v2/sessions/delete-session
"""
@spec delete_session(id, config) ::
{:ok, String.t()} | error
def delete_session(id, %Config{} = config \\ %Config{}) do
Sessions.delete(id, config)
end
@doc """
Revokes a session by ID and all associated refresh tokens.
## see
https://auth0.com/docs/api/management/v2/sessions/revoke-session
"""
@spec revoke_session(id, config) ::
{:ok, String.t()} | error
def revoke_session(id, %Config{} = config \\ %Config{}) do
Sessions.revoke(id, config)
end
@doc """
Retrieve the number of active users that logged in during the last 30 days.
## see
https://auth0.com/docs/api/management/v2/stats/get-active-users
"""
@spec get_active_users_count(config) :: {:ok, integer} | error
def get_active_users_count(%Config{} = config \\ %Config{}) do
Stats.count_active_users(config)
end
@doc """
Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred each day within a specified date range.
## see
https://auth0.com/docs/api/management/v2/stats/get-daily
"""
@spec get_daily_stats(config) :: {:ok, list(map())} | error
def get_daily_stats(%Config{} = config \\ %Config{}) do
Stats.list_daily(config)
end
@doc """
Retrieve tenant settings. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/tenants/tenant-settings-route
"""
@spec get_tenant_setting(map(), config) ::
{:ok, map()} | error
def get_tenant_setting(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Tenants.get_setting(params, config)
end
@doc """
Update settings for a tenant.
## see
https://auth0.com/docs/api/management/v2/tenants/patch-settings
"""
@spec update_tenant_setting(map(), config) ::
{:ok, map()} | error
def update_tenant_setting(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Tenants.update_setting(params, config)
end
@doc """
Create an email verification ticket for a given user. An email verification ticket is a generated URL that the user can consume to verify their email address.
## see
https://auth0.com/docs/api/management/v2/tickets/post-email-verification
"""
@spec create_email_verification_ticket(map(), config) ::
{:ok, map()} | error
def create_email_verification_ticket(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Tickets.create_email_verification(params, config)
end
@doc """
Create a password change ticket for a given user. A password change ticket is a generated URL that the user can consume to start a reset password flow.
## see
https://auth0.com/docs/api/management/v2/tickets/post-password-change
"""
@spec create_password_change_ticket(map(), config) ::
{:ok, map()} | error
def create_password_change_ticket(
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Tickets.create_password_change(params, config)
end
@doc """
Retrieve details of all Brute-force Protection blocks for a user with the given identifier (username, phone number, or email).
## see
https://auth0.com/docs/api/management/v2/user-blocks/get-user-blocks
"""
@spec get_user_block(map(), config) ::
{:ok, map()} | error
def get_user_block(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserBlocks.get(params, config)
end
@doc """
Remove all Brute-force Protection blocks for the user with the given identifier (username, phone number, or email).
## see
https://auth0.com/docs/api/management/v2/user-blocks/delete-user-blocks
"""
@spec unblock_user_block(map(), config) ::
{:ok, String.t()} | error
def unblock_user_block(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserBlocks.unblock(params, config)
end
@doc """
Retrieve details of all Brute-force Protection blocks for the user with the given ID.
## see
https://auth0.com/docs/api/management/v2/user-blocks/get-user-blocks-by-id
"""
@spec get_user_block_by_user_id(id, map(), config) ::
{:ok, map()} | error
def get_user_block_by_user_id(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserBlocks.get_by_user_id(id, params, config)
end
@doc """
Remove all Brute-force Protection blocks for the user with the given ID.
## see
https://auth0.com/docs/api/management/v2/user-blocks/delete-user-blocks-by-id
"""
@spec unblock_user_block_by_user_id(id, config) :: {:ok, String.t()} | error
def unblock_user_block_by_user_id(id, %Config{} = config \\ %Config{}) do
UserBlocks.unblock_by_user_id(id, config)
end
@doc """
Retrieve details of users.
## see
https://auth0.com/docs/api/management/v2/users/get-users
"""
@spec get_users(map(), config) ::
{:ok, list(map()) | map()} | error
def get_users(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.list(params, config)
end
@doc """
Create a new user for a given database or passwordless connection.
## see
https://auth0.com/docs/api/management/v2/users/post-users
"""
@spec create_user(map(), config) ::
{:ok, map()} | error
def create_user(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.create(params, config)
end
@doc """
Retrieve a list of token exchange profiles.
## see
https://auth0.com/docs/api/management/v2/token-exchange-profiles/get-token-exchange-profiles
"""
@spec get_token_exchange_profiles(map(), config) :: {:ok, list(map())} | error
def get_token_exchange_profiles(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
TokenExchangeProfiles.list(params, config)
end
@doc """
Create a token exchange profile.
## see
https://auth0.com/docs/api/management/v2/token-exchange-profiles/post-token-exchange-profiles
"""
@spec create_token_exchange_profile(map(), config) :: {:ok, map()} | error
def create_token_exchange_profile(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
TokenExchangeProfiles.create(params, config)
end
@doc """
Retrieve a token exchange profile by its ID.
## see
https://auth0.com/docs/api/management/v2/token-exchange-profiles/get-token-exchange-profiles-by-id
"""
@spec get_token_exchange_profile(id, config) :: {:ok, map()} | error
def get_token_exchange_profile(id, %Config{} = config \\ %Config{}) do
TokenExchangeProfiles.get(id, config)
end
@doc """
Delete a token exchange profile.
## see
https://auth0.com/docs/api/management/v2/token-exchange-profiles/delete-token-exchange-profiles-by-id
"""
@spec delete_token_exchange_profile(id, config) :: {:ok, String.t()} | error
def delete_token_exchange_profile(id, %Config{} = config \\ %Config{}) do
TokenExchangeProfiles.delete(id, config)
end
@doc """
Update a token exchange profile.
## see
https://auth0.com/docs/api/management/v2/token-exchange-profiles/patch-token-exchange-profiles-by-id
"""
@spec update_token_exchange_profile(id, map(), config) :: {:ok, map()} | error
def update_token_exchange_profile(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
TokenExchangeProfiles.update(id, params, config)
end
@doc """
Retrieve a list of verifiable credentials.
## see
https://auth0.com/docs/api/management/v2/verifiable-credentials/get-verifiable-credentials
"""
@spec get_verifiable_credentials(map(), config) :: {:ok, list(map())} | error
def get_verifiable_credentials(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
VerifiableCredentials.list(params, config)
end
@doc """
Create a verifiable credential.
## see
https://auth0.com/docs/api/management/v2/verifiable-credentials/post-verifiable-credentials
"""
@spec create_verifiable_credential(map(), config) :: {:ok, map()} | error
def create_verifiable_credential(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
VerifiableCredentials.create(params, config)
end
@doc """
Retrieve a verifiable credential by its ID.
## see
https://auth0.com/docs/api/management/v2/verifiable-credentials/get-verifiable-credentials-by-id
"""
@spec get_verifiable_credential(id, config) :: {:ok, map()} | error
def get_verifiable_credential(id, %Config{} = config \\ %Config{}) do
VerifiableCredentials.get(id, config)
end
@doc """
Delete a verifiable credential.
## see
https://auth0.com/docs/api/management/v2/verifiable-credentials/delete-verifiable-credentials-by-id
"""
@spec delete_verifiable_credential(id, config) :: {:ok, String.t()} | error
def delete_verifiable_credential(id, %Config{} = config \\ %Config{}) do
VerifiableCredentials.delete(id, config)
end
@doc """
Update a verifiable credential.
## see
https://auth0.com/docs/api/management/v2/verifiable-credentials/patch-verifiable-credentials-by-id
"""
@spec update_verifiable_credential(id, map(), config) :: {:ok, map()} | error
def update_verifiable_credential(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
VerifiableCredentials.update(id, params, config)
end
@doc """
Retrieve a list of user attribute profiles.
## see
https://auth0.com/docs/api/management/v2/user-attribute-profiles/get-user-attribute-profiles
"""
@spec get_user_attribute_profiles(map(), config) :: {:ok, list(map())} | error
def get_user_attribute_profiles(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserAttributeProfiles.list(params, config)
end
@doc """
Create a user attribute profile.
## see
https://auth0.com/docs/api/management/v2/user-attribute-profiles/post-user-attribute-profiles
"""
@spec create_user_attribute_profile(map(), config) :: {:ok, map()} | error
def create_user_attribute_profile(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserAttributeProfiles.create(params, config)
end
@doc """
Retrieve a user attribute profile by its ID.
## see
https://auth0.com/docs/api/management/v2/user-attribute-profiles/get-user-attribute-profiles-by-id
"""
@spec get_user_attribute_profile(id, config) :: {:ok, map()} | error
def get_user_attribute_profile(id, %Config{} = config \\ %Config{}) do
UserAttributeProfiles.get(id, config)
end
@doc """
Delete a user attribute profile.
## see
https://auth0.com/docs/api/management/v2/user-attribute-profiles/delete-user-attribute-profiles-by-id
"""
@spec delete_user_attribute_profile(id, config) :: {:ok, String.t()} | error
def delete_user_attribute_profile(id, %Config{} = config \\ %Config{}) do
UserAttributeProfiles.delete(id, config)
end
@doc """
Update a user attribute profile.
## see
https://auth0.com/docs/api/management/v2/user-attribute-profiles/patch-user-attribute-profiles-by-id
"""
@spec update_user_attribute_profile(id, map(), config) :: {:ok, map()} | error
def update_user_attribute_profile(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UserAttributeProfiles.update(id, params, config)
end
@doc """
Retrieve user details. A list of fields to include or exclude may also be specified.
## see
https://auth0.com/docs/api/management/v2/users/get-users-by-id
"""
@spec get_user(id, map(), config) ::
{:ok, map()} | error
def get_user(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get(id, params, config)
end
@doc """
Delete a user by user ID. This action cannot be undone.
## see
https://auth0.com/docs/api/management/v2/users/delete-users-by-id
"""
@spec delete_user(id, config) :: {:ok, String.t()} | error
def delete_user(id, %Config{} = config \\ %Config{}) do
Users.delete(id, config)
end
@doc """
Update a user.
## see
https://auth0.com/docs/api/management/v2/users/patch-users-by-id
"""
@spec update_user(id, map(), config) ::
{:ok, map()} | error
def update_user(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.update(id, params, config)
end
@doc """
Retrieve detailed list of authentication methods associated with a specified user.
## see
https://auth0.com/docs/api/management/v2/users/get-authentication-methods
"""
@spec list_user_authentication_methods(id, map(), config) ::
{:ok, list(map()) | map()} | error
def list_user_authentication_methods(id, %{} = params, %Config{} = config) do
Users.list_authentication_methods(id, params, config)
end
@doc """
Remove all authentication methods (i.e., enrolled MFA factors) from the specified user account. This action cannot be undone.
## see
https://auth0.com/docs/api/management/v2/users/delete-authentication-methods
"""
@spec delete_user_authentication_methods(id, config) ::
{:ok, String.t()} | error
def delete_user_authentication_methods(id, %Config{} = config) do
Users.delete_authentication_methods(id, config)
end
@doc """
Create an authentication method. Authentication methods created via this endpoint will be auto confirmed and should already have verification completed.
## see
https://auth0.com/docs/api/management/v2/users/post-authentication-methods
"""
@spec create_user_authentication_methods(id, map(), config) ::
{:ok, map()} | error
def create_user_authentication_methods(id, %{} = params, %Config{} = config) do
Users.create_authentication_methods(id, params, config)
end
@doc """
Replace the specified user authentication methods with supplied values.
## see
https://auth0.com/docs/api/management/v2/users/put-authentication-methods
"""
@spec update_user_authentication_methods(id, map(), config) ::
{:ok, list(map())} | error
def update_user_authentication_methods(id, %{} = params, %Config{} = config) do
Users.update_authentication_methods(id, params, config)
end
@doc """
Get an authentication method by ID
## see
https://auth0.com/docs/api/management/v2/users/get-authentication-methods-by-authentication-method-id
"""
@spec get_user_authentication_method(id, authentication_method_id, config) ::
{:ok, map()} | error
def get_user_authentication_method(id, authentication_method_id, %Config{} = config) do
Users.get_authentication_method(id, authentication_method_id, config)
end
@doc """
Remove the authentication method with the given ID from the specified user.
## see
https://auth0.com/docs/api/management/v2/users/delete-authentication-methods-by-authentication-method-id
"""
@spec delete_user_authentication_method(id, authentication_method_id, config) ::
{:ok, String.t()} | error
def delete_user_authentication_method(id, authentication_method_id, %Config{} = config) do
Users.delete_authentication_method(id, authentication_method_id, config)
end
@doc """
Modify the authentication method with the given ID from the specified user.
## see
https://auth0.com/docs/api/management/v2/users/patch-authentication-methods-by-authentication-method-id
"""
@spec update_user_authentication_method(id, authentication_method_id, map(), config) ::
{:ok, map()} | error
def update_user_authentication_method(
id,
authentication_method_id,
%{} = params,
%Config{} = config
) do
Users.update_authentication_method(id, authentication_method_id, params, config)
end
@doc """
Remove all authenticators registered to a given user ID, such as OTP, email, phone, and push-notification. This action cannot be undone.
## see
https://auth0.com/docs/api/management/v2/users/delete-authenticators
"""
@spec delete_user_authenticators(id, config) ::
{:ok, String.t()} | error
def delete_user_authenticators(id, %Config{} = config) do
Users.delete_authenticators(id, config)
end
@doc """
Retrieve the first multi-factor authentication enrollment that a specific user has confirmed.
## see
https://auth0.com/docs/api/management/v2/users/get-enrollments
"""
@spec get_user_enrollments(id, config) ::
{:ok, list(map())} | error
def get_user_enrollments(id, %Config{} = config \\ %Config{}) do
Users.get_enrollments(id, config)
end
@doc """
Link two user accounts together forming a primary and secondary relationship. On successful linking, the endpoint returns the new array of the primary account identities.
## see
https://auth0.com/docs/api/management/v2/users/post-identities
"""
@spec link_user_identities(id, map(), config) ::
{:ok, list(map())} | error
def link_user_identities(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Users.link_identities(id, params, config)
end
@doc """
Unlink a specific secondary account from a target user. This action requires the ID of both the target user and the secondary account.
## see
https://auth0.com/docs/api/management/v2/users/delete-user-identity-by-user-id
"""
@spec unlink_user_identities(id, provider, user_id, config) ::
{:ok, list(map())} | error
def unlink_user_identities(
id,
provider,
user_id,
%Config{} = config \\ %Config{}
) do
Users.unlink_identities(id, provider, user_id, config)
end
@doc """
Retrieve log events for a specific user.
## see
https://auth0.com/docs/api/management/v2/users/get-logs-by-user
"""
@spec get_user_logs(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_user_logs(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_logs(id, params, config)
end
@doc """
Invalidate all remembered browsers across all authentication factors for a user.
## see
https://auth0.com/docs/api/management/v2/users/post-invalidate-remember-browser
"""
@spec invalidate_user_remembered_browser_for_multifactor(id, config) ::
{:ok, String.t()} | error
def invalidate_user_remembered_browser_for_multifactor(
id,
%Config{} = config \\ %Config{}
) do
Users.invalidate_remembered_browser_for_multifactor(id, config)
end
@doc """
Remove a multifactor authentication configuration from a user's account. This forces the user to manually reconfigure the multi-factor provider.
## see
https://auth0.com/docs/api/management/v2/users/delete-multifactor-by-provider
"""
@spec delete_user_multifactor(id, map(), config) ::
{:ok, String.t()} | error
def delete_user_multifactor(
id,
%{} = params \\ %{},
%Config{} = config \\ %Config{}
) do
Users.delete_multifactor(id, params, config)
end
@doc """
Retrieve list of the specified user's current Organization memberships. User must be specified by user ID.
## see
https://auth0.com/docs/api/management/v2/users/get-user-organizations
"""
@spec get_user_organizations(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_user_organizations(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_organizations(id, params, config)
end
@doc """
Retrieve all permissions associated with the user.
## see
https://auth0.com/docs/api/management/v2/users/get-permissions
"""
@spec get_user_permissions(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_user_permissions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_permissions(id, params, config)
end
@doc """
Remove permissions from a user.
## see
https://auth0.com/docs/api/management/v2/users/delete-permissions
"""
@spec remove_user_permissions(id, map(), config) ::
{:ok, String.t()} | error
def remove_user_permissions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.remove_permissions(id, params, config)
end
@doc """
Assign permissions to a user.
## see
https://auth0.com/docs/api/management/v2/users/post-permissions
"""
@spec assign_user_permissions(id, map(), config) ::
{:ok, String.t()} | error
def assign_user_permissions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.assign_permissions(id, params, config)
end
@doc """
Remove an existing multi-factor authentication (MFA) recovery code and generate a new one. If a user cannot access the original device or account used for MFA enrollment, they can use a recovery code to authenticate.
## see
https://auth0.com/docs/api/management/v2/users/post-recovery-code-regeneration
"""
@spec regenerate_user_recovery_code(id, config) ::
{:ok, map()} | error
def regenerate_user_recovery_code(
id,
%Config{} = config \\ %Config{}
) do
Users.regenerate_recovery_code(id, config)
end
@doc """
Revokes selected resources related to a user (sessions, refresh tokens, ...).
## see
https://auth0.com/docs/api/management/v2/users/user-revoke-access
"""
@spec revoke_user_selected_resources(id, map(), config) ::
{:ok, String.t()} | error
def revoke_user_selected_resources(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.revoke_selected_resources(id, params, config)
end
@doc """
Retrieve detailed list of all user roles currently assigned to a user.
## see
https://auth0.com/docs/api/management/v2/users/get-user-roles
"""
@spec get_user_roles(id, map(), config) ::
{:ok, list(map()) | map()} | error
def get_user_roles(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_roles(id, params, config)
end
@doc """
Remove one or more specified user roles assigned to a user.
## see
https://auth0.com/docs/api/management/v2/users/delete-user-roles
"""
@spec remove_user_roles(id, map(), config) ::
{:ok, String.t()} | error
def remove_user_roles(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.remove_roles(id, params, config)
end
@doc """
Assign one or more existing user roles to a user.
## see
https://auth0.com/docs/api/management/v2/users/post-user-roles
"""
@spec assign_user_roles(id, map(), config) ::
{:ok, String.t()} | error
def assign_user_roles(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.assign_roles(id, params, config)
end
@doc """
Retrieve details for a user's refresh tokens.
## see
https://auth0.com/docs/api/management/v2/users/get-refresh-tokens-for-user
"""
@spec get_user_refresh_tokens(id, map(), config) ::
{:ok, map()} | error
def get_user_refresh_tokens(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_refresh_tokens(id, params, config)
end
@doc """
Delete all refresh tokens for a user.
## see
https://auth0.com/docs/api/management/v2/users/delete-refresh-tokens-for-user
"""
@spec delete_user_refresh_tokens(id, config) ::
{:ok, String.t()} | error
def delete_user_refresh_tokens(id, %Config{} = config \\ %Config{}) do
Users.delete_refresh_tokens(id, config)
end
@doc """
Retrieve details for a user's sessions.
## see
https://auth0.com/docs/api/management/v2/users/get-sessions-for-user
"""
@spec get_user_sessions(id, map(), config) ::
{:ok, map()} | error
def get_user_sessions(id, %{} = params \\ %{}, %Config{} = config \\ %Config{}) do
Users.get_sessions(id, params, config)
end
@doc """
Delete all sessions for a user.
## see
https://auth0.com/docs/api/management/v2/users/delete-sessions-for-user
"""
@spec delete_user_sessions(id, config) ::
{:ok, String.t()} | error
def delete_user_sessions(id, %Config{} = config \\ %Config{}) do
Users.delete_sessions(id, config)
end
@doc """
Find users by email. If Auth0 is the identity provider (idP), the email address associated with a user is saved in lower case, regardless of how you initially provided it.
## see
https://auth0.com/docs/api/management/v2/users-by-email/get-users-by-email
"""
@spec get_users_by_email(map(), config) ::
{:ok, list(map())} | error
def get_users_by_email(%{} = params \\ %{}, %Config{} = config \\ %Config{}) do
UsersByEmail.list(params, config)
end
end