# uip ixp deployments

> Syntax and options for `uip ixp deployments`, which deploys a trained IXP model version to an Orchestrator folder and manages existing deployments.

`uip ixp deployments` deploys a trained model version to an Orchestrator folder, making it callable at runtime by activities and Maestro Flow; moves an existing deployment to another version; and inspects the taxonomy pinned to a specific version. See [Concepts](./uip-ixp.md#concepts) on the parent page for how deploying relates to publishing a model version.

## Synopsis

```text
uip ixp deployments create <project-name> --version <n> --folder-key <guid> [--title <title>]
uip ixp deployments upgrade <project-name> <deployment-name> --version <n> --folder-key <guid>
uip ixp deployments list <project-name>
uip ixp deployments get-taxonomy <project-name> --version <n>
```

## uip ixp deployments create

Deploy a trained model version to an Orchestrator folder. Only ever **adds** a deployment — moving an existing one to a different version is `deployments upgrade`.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<project-name>` | yes | Project name. |

### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--version <number>` | non-negative integer | **yes** | Trained model version to deploy. Get available versions from [`projects list-models`](./uip-ixp-projects.md#uip-ixp-projects-list-models). |
| `--folder-key <guid>` | GUID | **yes** | Orchestrator folder key to deploy into. Get it from `uip or folders list --output json`. |
| `--title <title>` | string | no | Title to deploy under. Defaults to the project name minus its `-ixp` suffix. Comes back verbatim as `DeploymentTitle`; the backend slugs and suffixes it into the name the runtime resolves, returned as `DeploymentName`. |

A `409` conflict from the backend (the project already has a deployment in that folder) is enriched with a hint pointing you to `deployments upgrade` instead — the naive retry of re-running `create` with the same arguments would 404, since `upgrade` addresses the deployment by `DeploymentName`, not the title you passed.

### Examples

```bash
uip ixp deployments create my-invoices-a1b2c3d4-ixp --version 13 \
  --folder-key 3f0a91c7-1111-2222-3333-444455556666
```

```bash
uip ixp deployments create my-invoices-a1b2c3d4-ixp --version 13 \
  --folder-key 3f0a91c7-1111-2222-3333-444455556666 --title invoices
```

### Data shape (--output json)

```json
{
  "Code": "IxpDeploymentsCreate",
  "Data": {
    "ProjectName": "my-invoices-a1b2c3d4-ixp",
    "ModelVersion": 13,
    "FolderKey": "3f0a91c7-1111-2222-3333-444455556666",
    "DeploymentName": "my-invoices-a1b2c3d4-7c3f21e8-ixp",
    "DeploymentTitle": "my-invoices-a1b2c3d4"
  }
}
```

`DeploymentName` is always suffixed with a generated ID — never just the project name or title, even when `--title` is omitted.

## uip ixp deployments upgrade

Move an existing deployment to another trained model version, changing which version every runtime caller of that folder and name gets.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<project-name>` | yes | Project name. |
| `<deployment-name>` | yes | Deployment to move, addressed by the name the runtime resolves — the `DeploymentName` field of `deployments list`, **not** the title it was created under. |

### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--version <number>` | non-negative integer | **yes** | Trained model version to move the deployment to. |
| `--folder-key <guid>` | GUID | **yes** | Orchestrator folder key hosting the deployment. The same name can be deployed in several folders, so the folder is part of the deployment's identity. |

### Example

```bash
uip ixp deployments upgrade my-invoices-a1b2c3d4-ixp invoices-08963f00-ixp \
  --version 14 --folder-key 3f0a91c7-1111-2222-3333-444455556666
```

### Data shape (--output json)

```json
{
  "Code": "IxpDeploymentsUpgrade",
  "Data": {
    "ProjectName": "my-invoices-a1b2c3d4-ixp",
    "ModelVersion": 14,
    "FolderKey": "3f0a91c7-1111-2222-3333-444455556666",
    "DeploymentName": "invoices-08963f00-ixp",
    "DeploymentTitle": "invoices"
  }
}
```

## uip ixp deployments list

List the project's model deployments, across every version and folder it has been deployed to.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<project-name>` | yes | Project name. |

### Example

```bash
uip ixp deployments list my-invoices-a1b2c3d4-ixp
```

### Data shape (--output json)

```json
{
  "Code": "IxpDeploymentsList",
  "Data": [
    {
      "DeploymentName": "invoices-08963f00-ixp",
      "DeploymentTitle": "invoices",
      "ModelVersion": 13,
      "FolderKey": "3f0a91c7-1111-2222-3333-444455556666",
      "DeployedAt": "2026-08-18T11:26:25.367124+00:00"
    }
  ]
}
```

## uip ixp deployments get-taxonomy

Get the project taxonomy (data types + field groups) at a specific trained model version — the schema that powers that deployed model.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<project-name>` | yes | Project name. |

### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--version <number>` | non-negative integer | **yes** | Trained model version. Get available versions from `projects list-models`. |

### Example

```bash
uip ixp deployments get-taxonomy my-invoices --version 13 --output json
```

### Data shape (--output json)

```json
{
  "Code": "IxpDeploymentsGetTaxonomy",
  "Data": { "dataset": { "entity_defs": [], "label_groups": [] } }
}
```

`Data` is forwarded verbatim in the backend's raw snake_case, not PascalCased.

## Related

- [uip ixp](./uip-ixp.md) — concepts and the full resource directory.
- [uip ixp projects](./uip-ixp-projects.md) — `publish`/`list-models` to produce the version numbers this page deploys.

## See also

- [IXP tool overview](./uip-ixp.md)
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
