n8n-io/n8n · error · NodeOperationError
API key is required to use Zep Cloud
Error message
API key is required to use Zep Cloud
What it means
Fires in MemoryZep.supplyData when the Zep credential is marked as Zep Cloud but no API key was entered on the credential. Zep Cloud requires the API key for authentication; the node stops the memory supply (and thus the AI chain) at configuration time rather than failing later at runtime with an auth error.
Solutions
- Add the Zep Cloud API key to the zepApi credential
- Or switch to the self-hosted (open source) mode with an API URL
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/@n8n/nodes-langchain/nodes/memory/MemoryZep/MemoryZep.node.ts:147 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/a067855f70e637f7.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/nodes-langchain/nodes/memory/MemoryZep/MemoryZep.node.ts:147
apiUrl?: string;
cloud?: boolean;
}>('zepApi');
const nodeVersion = this.getNode().typeVersion;
let sessionId;
if (nodeVersion >= 1.2) {
sessionId = getSessionId(this, itemIndex);
} else {
sessionId = this.getNodeParameter('sessionId', itemIndex) as string;
}
let memory: BaseChatMemory;
if (credentials.cloud) {
if (!credentials.apiKey) {
throw new NodeOperationError(this.getNode(), 'API key is required to use Zep Cloud');
}
memory = new WhiteSpaceTrimmedZepCloudMemory({
sessionId,
apiKey: credentials.apiKey,
memoryType: 'perpetual',
memoryKey: 'chat_history',
returnMessages: true,
inputKey: 'input',
outputKey: 'output',
separateMessages: false,
});
} else {
if (!credentials.apiUrl) {
throw new NodeOperationError(this.getNode(), 'API url is required to use Zep Open Source');
}
memory = new ZepMemory({
sessionId,
baseURL: credentials.apiUrl,View on GitHub (pinned to 5ac6606e81)