> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Consent

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/generaltranslationinc/Q_4pAdRoZm2wi1v5/docs/images/cdy7uua7fh8z/6cK6DkpOJYTjubOGu2vpID/80c03b32275a2c332fe3216df0eca5c7/Consent.png?fit=max&auto=format&n=Q_4pAdRoZm2wi1v5&q=85&s=2b3ee5165e9d6a9073155b8650a21205" alt="" width="363" height="634" data-path="docs/images/cdy7uua7fh8z/6cK6DkpOJYTjubOGu2vpID/80c03b32275a2c332fe3216df0eca5c7/Consent.png" />
</Frame>

ConsentMembers

```ts Example theme={null}
import Consent from '@auth0/auth0-acul-js/consent';
const consentManager = new Consent();
const handleAccept = async () => {
 try {
   await consentManager.accept();
   console.log('Consent accepted successfully.');
 } catch (err) {
   console.error('Error accepting consent:', err);
 }
};
```

## Constructors

<ParamField body="Consent" type="Constructor">
  Creates an instance of the `Consent` screen manager.
  The constructor initializes the `BaseContext` and sets up the `screen` property
  with an instance of `ScreenOverride` tailored for the consent screen.

  #### Throws

  If the Universal Login Context is not available or if the
  current screen name in the context does not match `Consent.screenIdentifier`.
</ParamField>

## Properties

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnConsent">ScreenMembersOnConsent</a></span>}>
  Holds the specific screen data and properties for the Consent screen,
  processed by `ScreenOverride`. This includes the list of `scopes` being requested
  and the `hideScopes` flag.
</ParamField>

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>} />

<ParamField body="screenIdentifier" type="string" />

## Methods

<ParamField body="accept" type="Promise<void>">
  Submits the user's decision to accept (grant) the requested permissions.
  This method prepares and posts form data to the `/u/consent?state=<transaction_state>` endpoint
  with `action: "accept"`. The transaction state is automatically included in both the
  URL query parameter and the form body.

  A promise that resolves once the form submission is initiated.
  Typically, a successful submission leads to a server-side redirect.

  #### Throws

  Throws an error if `FormHandler` encounters an unrecoverable issue
  during submission (e.g., network error). Server-side validation errors
  from Auth0 (like "invalid\_request") are not thrown as JavaScript errors
  but are made available in `this.transaction.errors` after the operation.

  ```typescript Example theme={null}
  import Consent from '@auth0/auth0-acul-js/consent';
  const consentManager = new Consent();
  const handleAccept = async () => {
   try {
     await consentManager.accept();
     console.log('Consent accepted successfully.');
   } catch (err) {
     console.error('Error accepting consent:', err);
   }
  };
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional. An object for any custom key-value pairs
      to be sent with the request. These parameters will be
      included in the form data submitted to the server.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="deny" type="Promise<void>">
  Submits the user's decision to deny (reject) the requested permissions.
  This method prepares and posts form data to the `/u/consent?state=<transaction_state>` endpoint
  with `action: "deny"`. The transaction state is automatically included in both the
  URL query parameter and the form body.

  A promise that resolves once the form submission is initiated.
  A successful submission usually results in a server-side redirect.

  #### Throws

  Throws an error if `FormHandler` encounters an issue (e.g., network error).
  Server-side validation errors are reflected in `this.transaction.errors`.

  ```typescript Example theme={null}
  import Consent from '@auth0/auth0-acul-js/consent';
  const consentManager = new Consent();
  const handleDeny = async () => {
   try {
     await consentManager.deny();
     console.log('Form denied successfully.');
   } catch (err) {
     console.error('Failed to deny form:', error);
   }
  };

  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional. An object for any custom key-value pairs
      to be sent with the request. These parameters will be
      included in the form data submitted to the server.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  Retrieves the array of transaction errors from the context, or an empty array if none exist.

  An array of error objects from the transaction context.
</ParamField>
