{"record":{"id":"dc9c91e9aec42342","repo":"langflow-ai/langflow","slug":"external-credentials-do-not-allow-this-action","errorCode":null,"errorMessage":"External credentials do not allow this action","messagePattern":"External credentials do not allow this action","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"src/backend/base/langflow/api/v1/endpoints.py","lineNumber":1348,"sourceCode":"async def get_version():\n    return get_version_info()\n\n\n@router.post(\"/custom_component\", status_code=HTTPStatus.OK, include_in_schema=False)\nasync def custom_component(\n    raw_code: CustomComponentRequest,\n    user: CurrentActiveUser,\n    request: Request,\n) -> CustomComponentResponse:\n    # Building a custom component instantiates (and partially executes) posted\n    # code. That is a create/write-class action, so enforce the external access\n    # ceiling directly: a \"viewer\" external identity is denied while\n    # editor/admin (and all non-external users) pass unchanged. This route is\n    # not tied to a single owned resource, so the deny-only primitive is used\n    # instead of an ``ensure_*_permission`` guard.\n    external_context = get_current_external_access_context()\n    if external_context is not None and not external_access_allows(\"create\", external_context):\n        raise HTTPException(\n            status_code=status.HTTP_403_FORBIDDEN,\n            detail=\"External credentials do not allow this action\",\n        )\n\n    settings_service = get_settings_service()\n    settings = settings_service.settings\n    all_known = None\n    if _requires_component_hash_lookups(settings, user):\n        # Lazily compute hash lookups if they haven't been built yet\n        # (e.g. during startup before the cache is fully populated).\n        get_component_hash_lookups_for_validation()\n        all_known = component_cache.all_known_hashes\n        if all_known is None:\n            raise HTTPException(\n                status_code=status.HTTP_503_SERVICE_UNAVAILABLE,\n                detail=\"Component templates are still initializing. Please try again in a few seconds.\",\n            )\n","sourceCodeStart":1330,"sourceCodeEnd":1366,"githubUrl":"https://github.com/langflow-ai/langflow/blob/976ec789d2886a86de109c044d089d68e96c9a35/src/backend/base/langflow/api/v1/endpoints.py#L1330-L1366","documentation":"Error \"External credentials do not allow this action\" thrown in langflow-ai/langflow.","triggerScenarios":"Occurs when a request authenticated with externally managed credentials attempts an action those credentials are not permitted to perform.","commonSituations":"See trigger scenarios.","solutions":["Use credentials with the required scope for this action, or perform the action with an interactive user session instead of external credentials."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"976ec789d2886a86de109c044d089d68e96c9a35","analyzedAt":"2026-08-14T18:23:12.227Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}