{"record":{"id":"fa0e26914182e188","repo":"theforeman/foreman","slug":"unable-to-create-anonymous-api-user-seedhelper","errorCode":null,"errorMessage":"Unable to create anonymous API user: #{SeedHelper.format_errors user}","messagePattern":"Unable to create anonymous API user: #(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"db/seeds.d/035-admin.rb","lineNumber":39,"sourceCode":"  User.without_auditing do\n    user = User.new(:login => User::ANONYMOUS_CONSOLE_ADMIN, :firstname => \"Console\", :lastname => \"Admin\")\n    user.admin = true\n    user.auth_source = src_hidden\n    original_user, User.current = User.current, user\n    raise \"Unable to create anonymous console admin user: #{SeedHelper.format_errors user}\" unless user.save\n    User.current = original_user\n  end\nend\n\n# Anonymous API user is used for API access when oauth_map_users is disabled\n# It should be removed and replaced by per-user OAuth tokens (#1301)\nunless User.unscoped.find_by_login(User::ANONYMOUS_API_ADMIN).present?\n  User.without_auditing do\n    user = User.new(:login => User::ANONYMOUS_API_ADMIN, :firstname => \"API\", :lastname => \"Admin\")\n    user.admin = true\n    user.auth_source = src_hidden\n    original_user, User.current = User.current, user\n    raise \"Unable to create anonymous API user: #{SeedHelper.format_errors user}\" unless user.save\n    User.current = original_user\n  end\nend\n\n# First real admin user account\nadmin_login = ENV['SEED_ADMIN_USER'].presence || 'admin'\nif User.unscoped.find_by_login(admin_login).present?\n  puts \"User with login #{admin_login} already exists, not seeding as admin.\"\nelsif User.unscoped.only_admin.except_hidden.none?\n  User.without_auditing do\n    User.as_anonymous_admin do\n      user = User.new(:login => admin_login,\n        :firstname => ENV['SEED_ADMIN_FIRST_NAME'] || \"Admin\",\n        :lastname  => ENV['SEED_ADMIN_LAST_NAME'] || \"User\",\n        :mail      => (ENV['SEED_ADMIN_EMAIL'] || Setting[:administrator]).try(:dup))\n      user.admin = true\n      user.auth_source = src_internal\n      user.locale = ENV['SEED_ADMIN_LOCALE'] if ENV['SEED_ADMIN_LOCALE'].present?","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/db/seeds.d/035-admin.rb#L21-L57","documentation":"Error \"Unable to create anonymous API user: #{SeedHelper.format_errors user}\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at db/seeds.d/035-admin.rb:39 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6b05625475cfe6aac31a88f8c8ee6e62e4efe620","analyzedAt":"2026-08-23T17:46:34.094Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}