langflow-ai/langflow · error · ValueError

provider_data.tenant_id is required for watsonx-orchestrate

Error message

provider_data.tenant_id is required for watsonx-orchestrate provider accounts. Provide tenant_id explicitly or use a provider_data.url containing /instances/{tenant_id}.

What it means

Error "provider_data.tenant_id is required for watsonx-orchestrate provider accounts. Provide tenant_id explicitly or use a provider_data.url containing /instances/{tenant_id}." thrown in langflow-ai/langflow.

Source

Thrown at src/backend/base/langflow/api/v1/mappers/deployments/watsonx_orchestrate/mapper.py:226

        """Parse, validate, and resolve tenant for create provider_data.

        Returns the parsed payload and the resolved tenant_id.
        Used by ``resolve_provider_account_create`` which needs the
        tenant_id for the DB model.
        """
        parsed = self._parse_and_check_url(provider_data)
        tenant_id = parsed.tenant_id
        if not tenant_id:
            tenant_id = extract_tenant_from_url(
                parsed.url,
                WATSONX_ORCHESTRATE_DEPLOYMENT_ADAPTER_KEY,
            )
        if not tenant_id:
            msg = (
                "provider_data.tenant_id is required for watsonx-orchestrate provider accounts. "
                "Provide tenant_id explicitly or use a provider_data.url containing /instances/{tenant_id}."
            )
            raise ValueError(msg)
        return parsed, tenant_id

    def validate_create_provider_url(
        self,
        *,
        provider_data: dict[str, Any],
    ) -> str:
        return self._parse_and_check_url(provider_data).url

    def format_conflict_detail(
        self,
        raw_message: str,
        *,
        resource: str | None = None,
        resource_name: str | None = None,
    ) -> str:
        normalized_resource_name = str(resource_name or "").strip() or None
        if resource == "tool":

View on GitHub (pinned to 976ec789d2)

Solutions

  1. Set provider_data.tenant_id explicitly, or use a provider_data.url containing /instances/{tenant_id}.

When it happens

Trigger: Occurs when creating a watsonx Orchestrate provider account without provider_data.tenant_id and without an /instances/{tenant_id} segment in the URL.

Common situations: See trigger scenarios.


AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14). Data as JSON: /api/errors/d952194cd13eb5a8. Report an issue: GitHub.