diff --git a/ironic_python_agent/config.py b/ironic_python_agent/config.py
index 6c5ca9639..2fccb3a29 100644
--- a/ironic_python_agent/config.py
+++ b/ironic_python_agent/config.py
@@ -25,8 +25,10 @@ cli_opts = [
     cfg.StrOpt('api_url',
                default=APARAMS.get('ipa-api-url'),
                deprecated_name='api-url',
+               regex='^http(s?):\/\/.+',
                help='URL of the Ironic API. '
-                    'Can be supplied as "ipa-api-url" kernel parameter.'),
+                    'Can be supplied as "ipa-api-url" kernel parameter.'
+                    'The value must start with either http:// or https://.'),
 
     cfg.StrOpt('listen_host',
                default=APARAMS.get('ipa-listen-host', '0.0.0.0'),
diff --git a/releasenotes/notes/fail_ipa_start_if_ironic_api_invalid-7b78fcaba2141cc5.yaml b/releasenotes/notes/fail_ipa_start_if_ironic_api_invalid-7b78fcaba2141cc5.yaml
new file mode 100644
index 000000000..2f4ca3010
--- /dev/null
+++ b/releasenotes/notes/fail_ipa_start_if_ironic_api_invalid-7b78fcaba2141cc5.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+  - Accepting ``ipa-api-url`` value specified in the configuration
+    file that does not start with either ``https://`` or ``http://``.
+    Such value leads failure while contacting ironic-api.
+    This misconfiguration will be detected on ironic-python-agent start.
+    An exception will be raised and an error about the invalid value
+    will be logged.