{"record":{"id":"9c290d003f45d543","repo":"onetimesecret/onetimesecret","slug":"incoming-config-already-exists-for-this-domain","errorCode":null,"errorMessage":"Incoming config already exists for this domain","messagePattern":"Incoming config already exists for this domain","errorType":"validation","errorClass":"Onetime::Problem","httpStatus":null,"severity":"error","filePath":"lib/onetime/models/custom_domain/incoming_config.rb","lineNumber":332,"sourceCode":"        # Check if a domain has incoming config.\n        #\n        # @param domain_id [String] CustomDomain identifier\n        # @return [Boolean] true if incoming config exists\n        def exists_for_domain?(domain_id)\n          return false if domain_id.to_s.empty?\n\n          exists?(domain_id)\n        end\n\n        # Create a new incoming config for a domain.\n        #\n        # @param domain_id [String] CustomDomain identifier\n        # @param attrs [Hash] Configuration attributes\n        # @return [CustomDomain::IncomingConfig] The created config\n        # @raise [Onetime::Problem] if config already exists\n        def create!(domain_id:, **attrs)\n          raise Onetime::Problem, 'domain_id is required' if domain_id.to_s.empty?\n          raise Onetime::Problem, 'Incoming config already exists for this domain' if exists_for_domain?(domain_id)\n\n          config = new(domain_id: domain_id)\n\n          config.enabled    = attrs[:enabled].to_s if attrs.key?(:enabled)\n          config.recipients = attrs[:recipients] if attrs.key?(:recipients)\n\n          now            = Familia.now.to_i\n          config.created = now\n          config.updated = now\n\n          config.save\n          config\n        end\n\n        # Delete incoming config for a domain.\n        #\n        # @param domain_id [String] CustomDomain identifier\n        # @return [Boolean] true if deleted, false if not found","sourceCodeStart":314,"sourceCodeEnd":350,"githubUrl":"https://github.com/onetimesecret/onetimesecret/blob/f81295e41bc3e808a3dd2cbea03ef65401a662e4/lib/onetime/models/custom_domain/incoming_config.rb#L314-L350","documentation":"Error \"Incoming config already exists for this domain\" thrown in onetimesecret/onetimesecret.","triggerScenarios":"Thrown at lib/onetime/models/custom_domain/incoming_config.rb:332 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Update or delete the existing incoming config for this domain instead of creating a new one."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f81295e41bc3e808a3dd2cbea03ef65401a662e4","analyzedAt":"2026-08-23T21:13:10.635Z","schemaVersion":2},"datasetVersion":"2026-08-24T02:17:37.098Z"}