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

# allow()

> Use this method to add a domain to the allowlist

<Warning>
  We recommend only using this method in `local` mode to populate new entries
  in the allowlist. In `cloud` mode, the allowlist is populated automatically.
</Warning>

## Example

<CodeGroup>
  ```js Code theme={null}
  await detector.allow("google.com");

  console.log(await detector.url("https://google.com"));
  ```

  ```js Output theme={null}
  {
      ok: true,
      url: "google.com",
      status: "ALLOWED"
  }
  ```
</CodeGroup>

## Parameters

<ParamField body="url" type="string" required>
  The URL to allow. This can be a full URL or a domain.

  Ex. `https://google.com` or `google.com`
</ParamField>

## Return Value

The return value is a promise that resolves with a result object.

### Success

If the addition was successful, the object will contain the following properties:

<ParamField body="result" type="object" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="ok" type="true" required>
      This property will be `true` if the addition was successful.
    </ParamField>

    <ParamField body="url" type="string">
      The `url` property is the URL that was added.
    </ParamField>
  </Expandable>
</ParamField>

### Failure

However, if the addition was unsuccessful, the object will contain the following:

<ParamField body="result" type="object" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="ok" type="false" required>
      This property will be `false` if the addition was unsuccessful.
    </ParamField>

    <ParamField body="url" type="string">
      The `url` property is the URL that we tried to add.
    </ParamField>

    <ParamField body="error" type="string">
      The `error` property will contain a human-readable error message.
    </ParamField>
  </Expandable>
</ParamField>
