UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip ixp projects

Syntax and options for `uip ixp projects`, which creates and manages IXP training projects — model publishing, metrics, and taxonomy import/export.

uip ixp projects creates and manages IXP training projects: the top-level container for a taxonomy, training documents, and trained model versions. See Concepts on the parent page for the taxonomy model and training-loop overview.

Synopsis​

uip ixp projects list [-l, --limit <n>] [--offset <n>]
uip ixp projects get <project-name>
uip ixp projects delete <project-name> -y
uip ixp projects update-title <project-name> <new-title>
uip ixp projects update-prompt <project-name> --prompt <text>
uip ixp projects get-taxonomy <project-name>
uip ixp projects import-taxonomy <project-name> <file>
uip ixp projects configure-model <project-name> [--model <version>] [--preprocessing <type>]
uip ixp projects get-metrics <project-name> [-m, --model-version <version>]
uip ixp projects publish <project-name> [-m, --model-version <version>] [--tag live|staging] [-d, --description <text>]
uip ixp projects unpublish <project-name> -m, --model-version <version>
uip ixp projects untag <project-name> --tag live|staging
uip ixp projects list-models <project-name>
uip ixp projects create <name> [folder-path] [-d, --description <text>] [--skip-taxonomy]
uip ixp projects list [-l, --limit <n>] [--offset <n>]
uip ixp projects get <project-name>
uip ixp projects delete <project-name> -y
uip ixp projects update-title <project-name> <new-title>
uip ixp projects update-prompt <project-name> --prompt <text>
uip ixp projects get-taxonomy <project-name>
uip ixp projects import-taxonomy <project-name> <file>
uip ixp projects configure-model <project-name> [--model <version>] [--preprocessing <type>]
uip ixp projects get-metrics <project-name> [-m, --model-version <version>]
uip ixp projects publish <project-name> [-m, --model-version <version>] [--tag live|staging] [-d, --description <text>]
uip ixp projects unpublish <project-name> -m, --model-version <version>
uip ixp projects untag <project-name> --tag live|staging
uip ixp projects list-models <project-name>
uip ixp projects create <name> [folder-path] [-d, --description <text>] [--skip-taxonomy]

uip ixp projects list​

List all IXP training projects in the tenant.

Options​

ShortLongValueDefaultDescription
-l--limit <number>1-1000050Number of items to return.
—--offset <number>0-10000000Number of items to skip.

Example​

uip ixp projects list
uip ixp projects list

Data shape (--output json)​

{
  "Code": "IxpProjectsList",
  "Data": {
    "Projects": [
      {
        "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
        "Name": "my-invoices",
        "Title": "My Invoices",
        "CreatedAt": "2026-04-01T10:00:00Z",
        "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
      }
    ],
    "Total": 1,
    "Offset": 0,
    "Limit": 1
  }
}
{
  "Code": "IxpProjectsList",
  "Data": {
    "Projects": [
      {
        "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
        "Name": "my-invoices",
        "Title": "My Invoices",
        "CreatedAt": "2026-04-01T10:00:00Z",
        "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
      }
    ],
    "Total": 1,
    "Offset": 0,
    "Limit": 1
  }
}

The whole response, including Data, is forwarded from the IXP API verbatim — keys keep their native PascalCase here, but see each other verb's note on casing since it varies by endpoint.

uip ixp projects get​

Get an IXP training project by name.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Example​

uip ixp projects get my-invoices
uip ixp projects get my-invoices

Data shape (--output json)​

{
  "Code": "IxpProjectsGet",
  "Data": {
    "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
    "Name": "my-invoices",
    "Title": "My Invoices",
    "CreatedAt": "2026-04-01T10:00:00Z",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
  }
}
{
  "Code": "IxpProjectsGet",
  "Data": {
    "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
    "Name": "my-invoices",
    "Title": "My Invoices",
    "CreatedAt": "2026-04-01T10:00:00Z",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
  }
}

uip ixp projects delete​

Permanently delete a project — its documents, taxonomy, and trained models. Irreversible; requires --yes.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

ShortLongDescription
-y--yesConfirm this irreversible operation. Required — the CLI never prompts.

Example​

uip ixp projects delete my-invoices --yes
uip ixp projects delete my-invoices --yes

Data shape (--output json)​

{ "Code": "IxpProjectsDelete", "Data": { "Status": "ok" } }
{ "Code": "IxpProjectsDelete", "Data": { "Status": "ok" } }

uip ixp projects update-title​

Update the display title of a project. The proxy keeps the dataset and project titles in sync server-side.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.
<new-title>yesNew display title.

Example​

uip ixp projects update-title my-invoices "My Invoices"
uip ixp projects update-title my-invoices "My Invoices"

Data shape (--output json)​

{
  "Code": "IxpProjectsUpdateTitle",
  "Data": {
    "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
    "Name": "my-invoices",
    "Title": "My Invoices",
    "CreatedAt": "2026-04-01T10:00:00Z",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
  }
}
{
  "Code": "IxpProjectsUpdateTitle",
  "Data": {
    "Id": "3d8f1b67-2c5e-4a09-bf3d-9e1a4c7b820f",
    "Name": "my-invoices",
    "Title": "My Invoices",
    "CreatedAt": "2026-04-01T10:00:00Z",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my-invoices/my-invoices"
  }
}

uip ixp projects update-prompt​

Update the project's overall extraction instructions — the taxonomy-wide prompt giving the model context relevant across every field group. Matches the IXP UI's "Overall extraction instructions" field on the Manage Taxonomy page. Distinct from a field group's own prompt (taxonomy groups update-prompts) and per-field prompts (taxonomy fields update-prompts).

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

LongValueRequiredDescription
--prompt <text>stringyesNew overall extraction instructions. Replaces the existing value.

Example​

uip ixp projects update-prompt my-invoices --prompt "Extract key information from US vendor invoices, including header fields and line items."
uip ixp projects update-prompt my-invoices --prompt "Extract key information from US vendor invoices, including header fields and line items."

Data shape (--output json)​

{ "Code": "IxpProjectsUpdatePrompt", "Data": { "Status": "ok" } }
{ "Code": "IxpProjectsUpdatePrompt", "Data": { "Status": "ok" } }

uip ixp projects get-taxonomy​

Export the project's raw IXP taxonomy artifact (data types + field groups). This is an IXP-internal format intended for re-import into another project (import-taxonomy), not a curated, human-readable view.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Example​

uip ixp projects get-taxonomy my-invoices --output json
uip ixp projects get-taxonomy my-invoices --output json

Data shape (--output json)​

{
  "Code": "IxpProjectsGetTaxonomy",
  "Data": {
    "status": "ok",
    "dataset": { "entity_defs": [], "label_groups": [] }
  }
}
{
  "Code": "IxpProjectsGetTaxonomy",
  "Data": {
    "status": "ok",
    "dataset": { "entity_defs": [], "label_groups": [] }
  }
}

Data is forwarded verbatim in the upstream dataset's own snake_case, not PascalCased.

uip ixp projects import-taxonomy​

Import a taxonomy from a local JSON file into an existing project. Accepts two file formats: { field_types, label_group } (the shape get-taxonomy/taxonomy-suggestion produce) or { entity_defs, label_groups } (the shape the taxonomy endpoint itself returns) — entity_defs/the first label_groups entry are passed through as-is when given the second format, to preserve properties like inherits_from the API requires.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.
<file>yesPath to taxonomy JSON file.

Example​

uip ixp projects import-taxonomy my-invoices ./taxonomy.json
uip ixp projects import-taxonomy my-invoices ./taxonomy.json

Data shape (--output json)​

{
  "Code": "IxpProjectsImportTaxonomy",
  "Data": {
    "ProjectName": "my-invoices",
    "FieldTypes": 4,
    "LabelDefs": 1,
    "Labels": ["Invoice"]
  }
}
{
  "Code": "IxpProjectsImportTaxonomy",
  "Data": {
    "ProjectName": "my-invoices",
    "FieldTypes": 4,
    "LabelDefs": 1,
    "Labels": ["Invoice"]
  }
}

Fails with an explicit error if the file has neither recognized shape (missing both field_types and label_group after normalization).

uip ixp projects configure-model​

Configure the extraction model settings for a project. The proxy reads the current config, merges in the supplied model/preprocessing, writes it back, and returns the merged config.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

LongValueDescription
--model <version>stringExtraction model name, validated server-side (e.g. gemini_2_5_flash, gemini_2_5_pro, gpt_4o_2024_05_13).
--preprocessing <type>none|table_mini|tableIntelligent pre-processing mode.

At least one of --model/--preprocessing is required — passing neither fails client-side before any call ("Nothing to configure").

Example​

uip ixp projects configure-model my-invoices --model gemini_2_5_pro --preprocessing table
uip ixp projects configure-model my-invoices --model gemini_2_5_pro --preprocessing table

Data shape (--output json)​

{
  "Code": "IxpProjectsConfigureModel",
  "Data": { "ProjectName": "my-invoices", "Config": {} }
}
{
  "Code": "IxpProjectsConfigureModel",
  "Data": { "ProjectName": "my-invoices", "Config": {} }
}

uip ixp projects get-metrics​

Get validation metrics for an IXP project.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

ShortLongValueDefaultDescription
-m--model-version <version>integer or latestlatestModel version to get metrics for.

Examples​

uip ixp projects get-metrics my-invoices --output json
uip ixp projects get-metrics my-invoices --output json
uip ixp projects get-metrics my-invoices --model-version 32 --output json
uip ixp projects get-metrics my-invoices --model-version 32 --output json

Data shape (--output json)​

{
  "Code": "IxpProjectsGetMetrics",
  "Data": {
    "ModelVersion": 35,
    "ValidatedDocuments": 8,
    "ProjectScore": 0.8662574291229248,
    "ProjectScoreQuality": "excellent",
    "FieldGroups": [
      { "FieldGroup": "Invoice", "F1": 0.8939051628112793, "Precision": 0.824999988079071, "Recall": 0.9753694534301758, "ErrorRate": 0.1621621549129486, "Documents": 8 }
    ],
    "Fields": [
      { "FieldGroup": "Invoice", "FieldId": "1e8eadeac608df18", "Name": "Invoice Number", "F1": 0.875, "Precision": 0.875, "Recall": 0.875, "ErrorRate": 0.125, "Documents": 8, "Annotations": 8, "Quality": "good" }
    ]
  }
}
{
  "Code": "IxpProjectsGetMetrics",
  "Data": {
    "ModelVersion": 35,
    "ValidatedDocuments": 8,
    "ProjectScore": 0.8662574291229248,
    "ProjectScoreQuality": "excellent",
    "FieldGroups": [
      { "FieldGroup": "Invoice", "F1": 0.8939051628112793, "Precision": 0.824999988079071, "Recall": 0.9753694534301758, "ErrorRate": 0.1621621549129486, "Documents": 8 }
    ],
    "Fields": [
      { "FieldGroup": "Invoice", "FieldId": "1e8eadeac608df18", "Name": "Invoice Number", "F1": 0.875, "Precision": 0.875, "Recall": 0.875, "ErrorRate": 0.125, "Documents": 8, "Annotations": 8, "Quality": "good" }
    ]
  }
}

A model that exists but hasn't been validated yet returns { "Metrics": null } instead of the flat shape above.

uip ixp projects publish​

Publish a model version, optionally tagging it live or staging.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

ShortLongValueDescription
-m--model-version <version>integerModel version to publish. Defaults to the latest (highest) trained version.
—--tag <live|staging>live|stagingOptionally tag the published version.
-d--description <text>stringDescription for the published version. An empty string clears an existing one.

Examples​

uip ixp projects publish my-invoices --model-version 4 --tag live --description "Q2 release"
uip ixp projects publish my-invoices --model-version 4 --tag live --description "Q2 release"
uip ixp projects publish my-invoices --model-version 4
uip ixp projects publish my-invoices --model-version 4
# --model-version defaults to the latest trained version
uip ixp projects publish my-invoices
# --model-version defaults to the latest trained version
uip ixp projects publish my-invoices

Data shape (--output json)​

{
  "Code": "IxpProjectsPublish",
  "Data": {
    "ProjectName": "my-invoices",
    "ModelVersion": 4,
    "Pinned": true,
    "Tag": { "Name": "live", "Version": 4, "UpdatedAt": "2026-04-29T00:00:00Z" },
    "Description": "Q2 release"
  }
}
{
  "Code": "IxpProjectsPublish",
  "Data": {
    "ProjectName": "my-invoices",
    "ModelVersion": 4,
    "Pinned": true,
    "Tag": { "Name": "live", "Version": 4, "UpdatedAt": "2026-04-29T00:00:00Z" },
    "Description": "Q2 release"
  }
}

Tag is null when --tag was omitted.

uip ixp projects unpublish​

Unpublish a model version. The version stays trained and listable; it is only removed from the published set.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

ShortLongValueRequiredDescription
-m--model-version <version>non-negative integeryesModel version to unpublish.

Example​

uip ixp projects unpublish my-invoices --model-version 4
uip ixp projects unpublish my-invoices --model-version 4

Data shape (--output json)​

{
  "Code": "IxpProjectsUnpublish",
  "Data": { "ProjectName": "my-invoices", "ModelVersion": 4, "Pinned": false }
}
{
  "Code": "IxpProjectsUnpublish",
  "Data": { "ProjectName": "my-invoices", "ModelVersion": 4, "Pinned": false }
}

uip ixp projects untag​

Remove a tag from a model version by name. Tag names are unique within a project, so this is unambiguous even if a version holds several tags. The version stays trained and published; only its tag pointer is cleared.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Options​

LongValueRequiredDescription
--tag <live|staging>live|stagingyesTag to remove, by name.

Example​

uip ixp projects untag my-invoices --tag live
uip ixp projects untag my-invoices --tag live

Data shape (--output json)​

{
  "Code": "IxpProjectsUntag",
  "Data": { "ProjectName": "my-invoices", "ModelVersion": 4, "RemovedTags": ["live"] }
}
{
  "Code": "IxpProjectsUntag",
  "Data": { "ProjectName": "my-invoices", "ModelVersion": 4, "RemovedTags": ["live"] }
}

uip ixp projects list-models​

List all model versions and tags for a project.

Arguments​

NameRequiredPurpose
<project-name>yesProject name.

Example​

uip ixp projects list-models my-invoices
uip ixp projects list-models my-invoices

Data shape (--output json)​

{
  "Code": "IxpProjectsListModels",
  "Data": { "Models": [], "Tags": [], "MaxPublished": 5 }
}
{
  "Code": "IxpProjectsListModels",
  "Data": { "Models": [], "Tags": [], "MaxPublished": 5 }
}

uip ixp projects create​

Create an IXP project. Given a folder of documents, uploads them and suggests a taxonomy from up to 8 evenly-sampled documents; without a folder, creates an empty project.

Arguments​

NameRequiredPurpose
<name>yesProject name.
[folder-path]noPath to a folder of documents. Omit to create an empty project — no upload, no taxonomy suggestion is possible without documents.

Options​

ShortLongDescription
-d--description <text>Description of what to extract from the documents — used as context for taxonomy suggestion.
—--skip-taxonomyCreate the project and upload documents without suggesting a taxonomy.

Uploads continue on individual file failures (each failure is collected, not fatal) — the command only fails outright if every upload in the folder fails. Taxonomy suggestion retries up to 3 times with a 5-second delay (the backend can intermittently 500 while OCR isn't ready yet for a PDF); if all 3 attempts fail, the project and its documents are still created — the error names the exact import-taxonomy command to run afterward.

Examples​

uip ixp projects create "My Invoices" ./training-set --description "extract invoice header fields"
uip ixp projects create "My Invoices" ./training-set --description "extract invoice header fields"
uip ixp projects create "My Invoices" ./training-set --skip-taxonomy
uip ixp projects create "My Invoices" ./training-set --skip-taxonomy
uip ixp projects create "My Invoices"
uip ixp projects create "My Invoices"

Data shape (--output json)​

{
  "Code": "IxpProjectsCreate",
  "Data": {
    "ProjectName": "my_invoices-a1b2c3d4-ixp",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my_invoices-a1b2c3d4-ixp/my_invoices-a1b2c3d4",
    "DocumentsUploaded": 12,
    "DocumentsFailed": 0
  }
}
{
  "Code": "IxpProjectsCreate",
  "Data": {
    "ProjectName": "my_invoices-a1b2c3d4-ixp",
    "ProjectUrl": "https://cloud.uipath.com/acme/DefaultTenant/reinfer_/ixp/my_invoices-a1b2c3d4-ixp/my_invoices-a1b2c3d4",
    "DocumentsUploaded": 12,
    "DocumentsFailed": 0
  }
}

FailedFiles (an array of {file, error}) is present only when at least one upload failed. When taxonomy suggestion succeeded, SuggestedTaxonomy is added with FieldTypes (name/title pairs) and LabelGroup (name plus LabelDefs). When --skip-taxonomy was passed, TaxonomySkipped: true is added instead. <name> is returned slugified and suffixed with a random id and -ixp — it is not the literal string you passed.

See also​

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated