# conflict

HTTP status: 409

## What the API sends

```
{"error":"conflict"}
```

## When it happens

A name, a slug or a hostname is already taken, or two changes to the same thing arrived at once. Some conflicts add a `reason` or a `message`.

## A project that is not empty

```
{"error":"conflict","message":"This project still has <list>."}
```

`<list>` names what is left in the project, for example `2 applications` or `1 application and 1 database`. Remove those first, then delete the project.

## An account that cannot be deleted yet

```
{"error":"conflict","reason":"plan_active","message":"Your plan is still active. Cancel it on the billing page first, then delete your account."}
```

```
{"error":"conflict","reason":"buckets_remaining","message":"A storage bucket still holds files. Empty or delete each bucket first, then delete your account."}
```

## Too many hostnames

```
{"error":"conflict","reason":"hostname_limit"}
```

An app can have 10 hostnames. Remove one before you add another. See [Domains](/docs/domains).

## What to do

Choose another name, slug or hostname, or do what the `message` says.

## What your tools show

The Astris CLI and the Astris MCP show `That name or hostname is already taken. Choose another and try again.`
