# INVALID_ARGUMENTS

The arguments are inconsistent.

- **HTTP class:** 400
- **Retryable:** no

## What happened

The arguments pass the schema but contradict each other or the account; `error.field` and `error.reason` say which (reasons below).

## Fix

Fix the named argument as its reason says (see the `carnival_deploy` description) and call again.

## What to tell the user

Nothing.

## Agent hint

The exact `error.hint` text; Carnival fills each `<…>` for the call.

```text
<field> is invalid: <reason text>. Fix the arguments (see the carnival_deploy description) and call again.
```

## Reasons

| `error.reason` | `<reason text>` |
|---|---|
| `part_without_parts` | part and parts must be sent together |
| `bad_site_format` | site must be a slug like velvet-lantern-7kq2m or its URL |
| `deploy_not_in_account` | this deploy_id doesn't belong to this account; start again without it |
| `site_deploy_mismatch` | site doesn't match the deploy_id's site; omit site when continuing a deploy |
| `bad_cursor` | cursor must be the next_cursor of an earlier carnival_logs result; omit it for the newest events |

## Related

- [`SITE_NOT_FOUND`](https://carnival-staging.dev/docs/errors/SITE_NOT_FOUND.md): No such site in this account.
- [`DEPLOY_NOT_FOUND`](https://carnival-staging.dev/docs/errors/DEPLOY_NOT_FOUND.md): Unknown deploy_id.

All error codes: [error codes](https://carnival-staging.dev/docs/errors.md)
