Skip to content

feat(documents): extract with IXP models deployed to a folder - #1933

Draft
PG-Thomas wants to merge 2 commits into
feat/documents-framework-v2from
feat/documents-folder-models
Draft

PG-Thomas wants to merge 2 commits into
feat/documents-framework-v2from
feat/documents-folder-models

Conversation

@PG-Thomas

@PG-Thomas PG-Thomas commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

What

DocumentsService can only reach IXP projects by name and tag. IXP models that a solution deploys into an Orchestrator folder have their own Document Understanding routes (du_/api/framework/models/{name}/...), and the SDK can't call them. This PR adds:

  • extract_with_model(model_name, file | file_path, folder_key=None) (and _async): digitize, extract, and wait for the result.
  • ModelExtractionResponse, which carries the model name and the extraction result. Folder models have no project id or tag, and their results have no DataProjection.

The folder routes accept only the X-UiPath-FolderKey header (X-UiPath-FolderPath returns 400 [RequestMissingRequiredField]), so the method takes a folder key and defaults to the current job's folder (UIPATH_FOLDER_KEY). The existing project code is unchanged.

How it was tested

  • Unit tests: sync and async, the folder key argument, the current-folder default, an encoded model name, and the error without any folder. The uipath-platform suite, ruff and mypy pass.
  • Live run against a tenant with folder-deployed models (invoices-ixp): sync with a folder key and async with UIPATH_FOLDER_KEY both returned all seven field groups.

These routes exist only in Framework API v2, so they always call v2, whatever the DocumentsFrameworkV2 flag says.

Version bumped to 0.2.38, because #1929 takes 0.2.37.

- add extract_with_model on the du_/api/framework/models/{name} routes
- address the model's folder by key, as these routes reject a folder path
  header; default to the current folder's key
@PG-Thomas
PG-Thomas force-pushed the feat/documents-folder-models branch from c259b8a to 69e8599 Compare October 13, 2026 06:59
@github-actions

Copy link
Copy Markdown

🚨 Heads up: uipath-integrations cross-tests are FAILING 🚨

Your changes may break one or more integrations in uipath-integrations-python:

  • uipath-openai-agents
  • uipath-google-adk
  • uipath-agent-framework
  • uipath-llamaindex
  • uipath-pydantic-ai

⚠️ These checks are NOT enforced by branch protection rules. Please review the failures before merging.

🔍 Inspect the failed run →

@github-actions

Copy link
Copy Markdown

🚨 Heads up: uipath-langchain cross-tests are FAILING 🚨

Your changes may break the uipath-langchain-python integration.

⚠️ These checks are NOT enforced by branch protection rules. Please review the failures before merging.

🔍 Inspect the failed run →

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:uipath-integrations test:uipath-langchain Triggers tests in the uipath-langchain-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant