diff --git a/src/service/clmcservice/graphapi/tests.py b/src/service/clmcservice/graphapi/tests.py
index 566626e96fe6a771948b1cd11cd7ee436181dedb..ce561546789202a96489e94790fc7cc17b300252 100644
--- a/src/service/clmcservice/graphapi/tests.py
+++ b/src/service/clmcservice/graphapi/tests.py
@@ -69,7 +69,10 @@ class TestGraphAPI(object):
          None, "not a timestamp", "A bad request error must have been raised in case of invalid URL parameters."),
         ('{"database": "TestInfluxDB", "retention_policy": "autogen", "service_function_chain_instance": "sfc_1", "service_functions": {"nginx": {"measurement_name": "nginx", "response_time_field": "mean(avg_processing_time)"}, "minio": {"measurement_name": "minio_http", "response_time_field": "mean(total_processing_time)/mean(total_requests_count)"}, "apache": {"measurement_name": "apache", "response_time_field": "mean(avg_processing_time)"}}}',
          2131212, None, "A bad request error must have been raised in case of invalid URL parameters."),
-
+        ('{"database": "DB-not-exists", "retention_policy": "autogen", "service_function_chain_instance": "sfc_1", "service_functions": {"nginx": {"measurement_name": "nginx", "response_time_field": "mean(avg_processing_time)"}, "minio": {"measurement_name": "minio_http", "response_time_field": "mean(total_processing_time)/mean(total_requests_count)"}, "apache": {"measurement_name": "apache", "response_time_field": "mean(avg_processing_time)"}}}',
+         2131212, 2131212, "A bad request error must have been raised in case of a non-existing database."),
+        ('{"database": "TestInfluxDB", "retention_policy-invalid": "autogen", "service_function_chain_instance": "sfc_1", "service_functions": {"nginx": {"measurement_name": "nginx", "response_time_field": "mean(avg_processing_time)"}, "minio": {"measurement_name": "minio_http", "response_time_field": "mean(total_processing_time)/mean(total_requests_count)"}, "apache": {"measurement_name": "apache", "response_time_field": "mean(avg_processing_time)"}}}',
+         2131212, 2131212, "A bad request error must have been raised in case of a non-existing retention policy."),
     ])
     def test_build_error_handling(self, body, from_timestamp, to_timestamp, error_msg):
         """
diff --git a/src/service/clmcservice/graphapi/views.py b/src/service/clmcservice/graphapi/views.py
index 9d7632ee34b788318778533a37d589c9aadc585c..62c312ec26b83c1c7bd6abf443e759fbf4071248 100644
--- a/src/service/clmcservice/graphapi/views.py
+++ b/src/service/clmcservice/graphapi/views.py
@@ -74,6 +74,14 @@ class GraphAPI(object):
         graph = Graph(host=self.request.registry.settings['neo4j_host'], password=self.request.registry.settings['neo4j_password'])
         influx_client = InfluxDBClient(host=self.request.registry.settings['influx_host'], port=self.request.registry.settings['influx_port'], timeout=10)
 
+        database_name = json_queries["database"]
+        if database_name not in [db["name"] for db in influx_client.get_list_database()]:
+            raise HTTPBadRequest("Database {0} not found.".format(database_name))
+
+        retention_policy = json_queries["retention_policy"]
+        if retention_policy not in [rp["name"] for rp in influx_client.get_list_retention_policies(database_name)]:
+            raise HTTPBadRequest("Retention policy {0} for database {1} not found.".format(retention_policy, database_name))
+
         from_timestamp = params['from'] * 10**9
         to_timestamp = params['to'] * 10**9