juspay/hyperswitch · error · Error
External Vault Connector Create Call Failed ${response.body.
Error message
External Vault Connector Create Call Failed ${response.body.error.message} What it means
Thrown by the externalVaultConnectorCreateCallTest command (cypress-tests/cypress/support/commands.js:1785) when creating a vault_processor connector via POST /account/{merchantId}/connectors returns non-200 while success was expected. On success it stores the new merchant_connector_id under `${mcaPrefix}Id` (default 'vaultConnector').
Source
Thrown at cypress-tests/cypress/support/commands.js:1785
if (response.status === 200) {
expect(response.body.connector_name).to.equal(
createConnectorBody.connector_name
);
expect(response.body.connector_type).to.equal(
"vault_processor"
);
expect(response.body).to.have.property("merchant_connector_id")
.and.to.not.be.empty;
globalState.set(
`${mcaPrefix}Id`,
response.body.merchant_connector_id
);
} else {
cy.task(
"cli_log",
"response status -> " + JSON.stringify(response.status)
);
throw new Error(
`External Vault Connector Create Call Failed ${response.body.error.message}`
);
}
} else {
expect(response.status).to.equal(expectedStatus);
}
});
});
}
);
}
);
Cypress.Commands.add(
"createAuthenticationProcessorConnectorTest",
(
createConnectorBody,
globalState,View on GitHub (pinned to 9b8b89dc37)
Solutions
- Read the cli_log'd status and server message — 400 usually means body/creds shape, 401 api-key, 500 backend or vault unreachable
- Verify the creds.json entry for createConnectorBody.connector_name is present and current
- Confirm the target environment supports external vault / vault_processor connectors
- Check the profile under `${profilePrefix}Id` exists
- Delete duplicates left by partial prior runs
Defensive patterns
Strategy: try-catch
Validate before calling
cy.readFile(globalState.get('connectorAuthFilePath')).then((json) => {
const { authDetails } = getValueByKey(JSON.stringify(json), createConnectorBody.connector_name);
if (!authDetails) {
throw new Error(`No vault creds for ${createConnectorBody.connector_name} — add them or skip vault specs`);
}
}); Try / catch
cy.on('fail', (err) => {
if (err.message.includes('External Vault Connector Create Call Failed')) {
throw new Error(`Vault connector setup failed — check vault creds/environment support: ${err.message}`);
}
throw err;
}); Prevention
- Provision external-vault creds per environment before enabling vault suites
- Confirm the environment supports the vault_processor connector type
- Watch the cli_log status: 500 often means the vault service is unreachable
When it happens
Trigger: Vault-processor credentials in creds.json invalid (wrong external-vault API keys); the named connector not supported as connector_type='vault_processor'; missing or incompatible fields in createConnectorBody; profile_id mismatch; a duplicate vault connector already on the profile.
Common situations: Running vault-related specs without external-vault service credentials configured for the environment; the vault_processor connector type only existing in newer API versions; environment-specific creds files diverging.
Related errors
- No credentials found for ${connectorName} in creds.json — sk
- Connector Create Call Failed ${response.body.error.message}
- Payment Method Delete Call Failed with error message: ${resp
- Business Profile call failed ${response.body.error.message}
- Business Profile Update Failed: ${response.body.error?.messa
AI-assisted analysis of juspay/hyperswitch@9b8b89dc37 (2026-08-16).
Data as JSON: /api/errors/ed6b64ae69bf6133.
Report an issue: GitHub.