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

# Create

> wiseguard_create_alias: create an alias for a website, or reuse the one you have.

## wiseguard\_create\_alias

Creates an email alias you can give a website instead of your real address. With `site_domain`, it returns the site's existing alias instead of making another.

Each call costs [credits](/guides/credits#what-each-tool-costs), also when you get back an alias you already have.

<Badge color="blue" shape="pill">Changes data</Badge> **Scope:** `aliases:write`

### Input

| Name | Type | Required | Description |
| - | - | - | - |
| `label` | string | Yes | What the alias is for, like `Netflix`. 1 to 80 characters. |
| `site_domain` | string | No | The website the alias is for, like `netflix.com`. Up to 253 characters. A URL or subdomain works too. |
| `new_alias` | boolean | No | Create a new alias even if the site already has one. Defaults to `false`. Only when you ask. |

### How reuse works

1. If the agent sends the same `label` and `site_domain` again within 5 minutes, it gets the alias it just made. Retries don't create duplicates.
2. If `site_domain` is set and `new_alias` is `false`, you get your newest alias for that site, if you have one. `reused` is `true`.
3. Otherwise, WiseGuard creates a new alias.

`site_domain` is reduced to the main domain first, so `www.netflix.com` and `https://www.netflix.com/login` both match `netflix.com`.

Reuse includes paused aliases. When the match is paused, the agent gets the alias and this message, and should ask you what to do:

```text wrap theme={null}
maple.river.stone@wiseguard.app already covers netflix.com but is paused. Ask the user whether to resume it or create a new one (call again with new_alias: true).
```

Reused aliases don't count toward the [rate limit](/guides/limits-and-behaviour#creating-aliases). Only new ones do.

### Output

| Field | Type | Description |
| - | - | - |
| `id` | string | The alias ID. |
| `address` | string | The full alias address. |
| `label` | string | What the alias is for. |
| `state` | string | `active` or `paused`. |
| `site_domain` | string or null | The website the alias is for. |
| `created_at` | string | When the alias was created (ISO 8601). |
| `forwarding` | boolean | Whether mail to this alias is forwarded to you. |
| `reused` | boolean | `true` when you got an existing alias instead of a new one. |

### Errors

Not enough credits. See [When you run out](/guides/credits#when-you-run-out).

The site isn't a website domain, for example an IP address or `localhost`:

```text wrap theme={null}
"localhost" is not a website domain. Pass one like netflix.com, or leave site_domain out.
```

Your plan is inactive:

```text wrap theme={null}
The user's WiseGuard plan is inactive (trial_expired). Tell them to renew at https://dashboard.wiseguard.ai/billing. Don't retry.
```

The part in brackets is your billing state, for example `trial_frozen`, `trial_expired`, `refunded` or `no_subscription`.

Your plan's alias limit is reached:

```text wrap theme={null}
The plan's alias limit is reached (25 of 25 used). Suggest the user deletes aliases they no longer use.
```

The numbers are your plan's limit and how many aliases you have now.

Too many aliases created recently:

```text wrap theme={null}
Too many aliases created recently. The user can create more in about 42 minutes. Don't retry before then.
```

The minutes are the real time left until the limit resets.

A short-lived problem on our side:

```text wrap theme={null}
Creating the alias failed temporarily. Retry once.
```

### Example prompt

```text wrap theme={null}
Make me an alias for netflix.com.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.