FlowiseAI/Flowise · critical · Error

Azure Foundry Endpoint is missing in credentials.

Error message

Azure Foundry Endpoint is missing in credentials.

What it means

Thrown by AzureRerankRetriever.init when getCredentialParam('azureFoundryEndpoint', ...) returns falsy. Even with a valid key, Azure AI Foundry requires the per-deployment inference endpoint URL; without it the rerank call has no target. The check runs immediately after the API-key check.

Source

Thrown at packages/components/nodes/retrievers/AzureRerankRetriever/AzureRerankRetriever.ts:131

                name: 'text',
                description: 'Concatenated string from pageContent of documents',
                baseClasses: ['string', 'json']
            }
        ]
    }

    async init(nodeData: INodeData, input: string, options: ICommonObject): Promise<any> {
        const baseRetriever = nodeData.inputs?.baseRetriever as BaseRetriever
        const model = nodeData.inputs?.model as string
        const query = nodeData.inputs?.query as string
        const credentialData = await getCredentialData(nodeData.credential ?? '', options)
        const azureApiKey = getCredentialParam('azureFoundryApiKey', credentialData, nodeData)
        if (!azureApiKey) {
            throw new Error('Azure Foundry API Key is missing in credentials.')
        }
        const azureEndpoint = getCredentialParam('azureFoundryEndpoint', credentialData, nodeData)
        if (!azureEndpoint) {
            throw new Error('Azure Foundry Endpoint is missing in credentials.')
        }
        const topK = nodeData.inputs?.topK as string
        const k = topK ? parseFloat(topK) : (baseRetriever as VectorStoreRetriever).k ?? 4
        const maxChunksPerDoc = nodeData.inputs?.maxChunksPerDoc as string
        const maxChunksPerDocValue = maxChunksPerDoc ? parseFloat(maxChunksPerDoc) : 10
        const output = nodeData.outputs?.output as string

        const azureCompressor = new AzureRerank(azureApiKey, azureEndpoint, model, k, maxChunksPerDocValue)

        const retriever = new ContextualCompressionRetriever({
            baseCompressor: azureCompressor,
            baseRetriever: baseRetriever
        })

        if (output === 'retriever') return retriever
        else if (output === 'document') return await retriever._getRelevantDocuments(query ? query : input)
        else if (output === 'text') {
            let finaltext = ''

View on GitHub (pinned to abe4a8601a)

Solutions

  1. From Azure AI Foundry portal, copy the model's inference endpoint URL into the credential's azureFoundryEndpoint field.
  2. Ensure the URL includes https:// and the full deployment path.
  3. Re-select the credential on the node after editing.
  4. Confirm the field name matches azureFoundryEndpoint exactly.

Example fix

// before: endpoint field empty
// after: credential.azureFoundryEndpoint = 'https://<resource>.services.ai.azure.com/models/rerank'
Defensive patterns

Strategy: validation

Validate before calling

function isValidEndpoint(url: string): boolean {
  try { const u = new URL(url); return u.protocol === 'https:' && !!u.hostname } catch { return false }
}
if (!azureEndpoint || !isValidEndpoint(azureEndpoint)) {
  throw new Error('A valid HTTPS Azure Foundry endpoint URL is required.')
}

Type guard

function isAzureEndpointUrl(s: unknown): s is string {
  if (typeof s !== 'string' || s.length === 0) return false
  try { const u = new URL(s); return u.protocol === 'https:' } catch { return false }
}

Try / catch

try {
  await retriever.init(nodeData, input, options)
} catch (e) {
  if (e instanceof Error && /Endpoint is missing/.test(e.message)) {
    // prompt for endpoint URL in credential
  }
  throw e
}

Prevention

When it happens

Trigger: Credential bound but azureFoundryEndpoint field left blank; only a regional prefix was entered; URL stored in a differently named field.

Common situations: User copied only the key and forgot the endpoint from the Azure portal; confused the Foundry endpoint with the resource management endpoint; trailing/leading whitespace stripped to empty.

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/e5a5030f4b8814ae. Report an issue: GitHub.