# cPanel API 2 Functions - LeechProtect::setup

Warning:
The cPanel API 2 system is deprecated. We **strongly** recommend that you use [UAPI](/cpanel/introduction) instead of cPanel API 2.

## Description

This function configures Leech Protection on a cPanel account.

Warning:
We **strongly** recommend that you use [UAPI](/cpanel/introduction/) instead of cPanel API 2. However, no equivalent UAPI function exists.

## Examples

WHM API (JSON)


```undefined syntaxhighlighter-pre
https://hostname.example.com:2087/cpsess##########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=LeechProtect&cpanel_jsonapi_func=setup&dir=%2Fhome%2Fexample%2Fpublic_html%2Fnewdir&item=url&type=html
```

Note:
For more information, read our [Calls from the WHM API](/whm/use-whm-api-to-call-cpanel-api-and-uapi) documentation.

LiveAPI PHP Class


```undefined syntaxhighlighter-pre
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.

// Checks the Leech Protection status on a directory
$check_leech = $cpanel->api2(
    'LeechProtect', 'setup',
    array(
        'dir'  => '/home/example/public_html/newdir',
        'item' => 'url',
        'type' => 'html',
)
);
```

Note:
For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system).

LiveAPI Perl Module


```undefined syntaxhighlighter-pre
my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.

# Sets the "en" locale for the account
my $check_leech = $cpliveapi->api2(
    'LeechProtect', 'setup',
    {
        'dir'  => '/home/example/public_html/newdir',
        'item' => 'url',
        'type' => 'html',
    }
);
```

Note:
For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system).

cPanel Tag System (deprecated)

Warnings:
- cPanel tags are **deprecated**. We **strongly** recommend that you **only** use the [LiveAPI](/guides/guide-to-the-liveapi-system) system to call the cPanel APIs. Examples are **only** present in order to help developers move from the old cPanel tag system to our [LiveAPI](/guides/guide-to-the-liveapi-system).
- cPanel API 2 calls that use cPanel tags vary in code syntax and in their output.
- For more information, read our [Deprecated cPanel Tag Usage](/cpanel-api-2/cpanel-api-2-deprecate-cpanel-tag-usage) documentation.


Command Line


```undefined syntaxhighlighter-pre
cpapi2 --user=username LeechProtect setup dir=%2Fhome%2Fexample%2Fpublic_html%2Fnewdir item=url type=html
```

div
Notes:

- You **must** URI-encode values.
- `username` represents your account-level username.
- For more information and additional output options, read our [Guide to UAPI](/cpanel/introduction) documentation or run the `uapi --help` command.
- If you run CloudLinux™, you **must** use the full path of the `uapi` command:

```undefined syntaxhighlighter-pre
/usr/local/cpanel/bin/uapi
```


br
Output (JSON)


```undefined syntaxhighlighter-pre
 This function does not return output.
```

Note:
Use cPanel's [*API Shell*](https://docs.cpanel.net/cpanel/advanced/api-shell-for-cpanel) interface (*cPanel >> Home >> Advanced >> API Shell*) to directly test cPanel API calls.

## Parameters

table
thead
tr
th
strong
Parameter
th
strong
Type
th
strong
Description
th
strong
Possible values
th
strong
Example
tbody
tr
td
code
dir
td
em
string
td
p
strong
Required
p
The directory to query.
td
p
A valid absolute directory path.
td
code
/home/example/public_html/newdir
tr
td
code
item
td
em
string
td
p
strong
Required
p
The type of item to query.
td
ul
li
code
email
 — The notification email.
li
code
kill
 — Disable compromised accounts.
li
code
numhits
 — The maximum number of logins per username per two-hour period.
li
code
url
 — The URL to redirect leeches to.
td
code
url
tr
td
code
type
td
em
string
td
p
strong
Required
p
The output type.
td
ul
li
code
raw
 — Return non-formatted output.
li
code
html
 — Return HTML-formatted output.
li
code
uri
 — Return URI-encoded output.
li
code
check
 — Return 
code
checked
 if value is present.
td
code
uri
## Returns

table
thead
tr
th
Return
th
Type
th
Description
th
Possible Values
th
Example
tbody
tr
td
code
reason
td
em
string
td
div
p
A reason for failure.
p
This function only returns a 
code
reason
 value if it failed.
td
p
A string that describes the error.
td
code
This is an error message.
tr
td
code
result
td
em
Boolean
td
p
Whether the function succeeded.
td
ul
li
code
1
 — The function succeeded.
li
code
0
 — The function failed.
td
code
1