diff --git a/runtime/onert/api/nnfw/include/nnfw_experimental.h b/runtime/onert/api/nnfw/include/nnfw_experimental.h
index 92e2601acf0..7f7f157f4fb 100644
--- a/runtime/onert/api/nnfw/include/nnfw_experimental.h
+++ b/runtime/onert/api/nnfw/include/nnfw_experimental.h
@@ -116,10 +116,13 @@ NNFW_STATUS nnfw_output_tensorindex(nnfw_session *session, const char *tensornam
  */
 NNFW_STATUS nnfw_set_backends_per_operation(nnfw_session *session, const char *backend_settings);
 
-/*
- * Prepare session to be ready for inference
+/**
+ * @brief Prepare session to be ready for inference
+ *
  * This phase may finalize model compilation, scheduling, and additional settings.
  *
+ * @deprecated Deprecated since 1.22.1
+ *
  * @param session the session to be prepared
  * @return NNFW_STATUS_NO_ERROR if successful
  */
@@ -132,6 +135,8 @@ NNFW_STATUS nnfw_prepare_pipeline(nnfw_session *session, const char *map_file_pa
  * function can be reused for many inferences. \p lengths must be greater or equal than the operand
  * requires. if you give empty \p inputs to this function, then this function will join all threads.
  *
+ * @deprecated Deprecated since 1.22.1
+ *
  * @param[in] session Session to the input is to be set
  * @param[in] inputs  Raw buffers for input, it must be \p std::vector<void *> type pointer for
  * multiple input model
@@ -148,6 +153,8 @@ NNFW_STATUS nnfw_push_pipeline_input(nnfw_session *session, void *inputs, void *
  * This function must be called after {@link nnfw_prepare_pipeline}, \p outputs given to this
  * function must be cleared for memory management.
  *
+ * @deprecated Deprecated since 1.22.1
+ *
  * @param[in]   session Session from last outputs is to be extracted
  * @param[out]  outputs Raw buffer for outputs, it must be \p std::vector<void *> type pointer for
  * multiple output model
diff --git a/runtime/onert/api/nnfw/src/nnfw_api.cc b/runtime/onert/api/nnfw/src/nnfw_api.cc
index c728d305e4a..4be0a2d6b1b 100644
--- a/runtime/onert/api/nnfw/src/nnfw_api.cc
+++ b/runtime/onert/api/nnfw/src/nnfw_api.cc
@@ -270,7 +270,7 @@ NNFW_STATUS nnfw_register_custom_op_info(nnfw_session *session, const char *id,
 
 NNFW_STATUS nnfw_apply_tensorinfo(nnfw_session *, uint32_t, nnfw_tensorinfo)
 {
-  return NNFW_STATUS_DEPRECATED_API;
+  return nnfw_session::deprecated("nnfw_apply_tensorinfo: Deprecated");
 }
 
 NNFW_STATUS nnfw_set_input_tensorinfo(nnfw_session *session, uint32_t index,
@@ -365,23 +365,19 @@ NNFW_STATUS nnfw_set_backends_per_operation(nnfw_session *session, const char *b
   return session->set_backends_per_operation(backend_settings);
 }
 
-NNFW_STATUS nnfw_prepare_pipeline(nnfw_session *session, const char *map_file_path)
+NNFW_STATUS nnfw_prepare_pipeline(nnfw_session *, const char *)
 {
-  NNFW_RETURN_ERROR_IF_NULL(session);
-  return session->prepare_pipeline(map_file_path);
+  return nnfw_session::deprecated("nnfw_prepare_pipeline: Deprecated");
 }
 
-NNFW_STATUS nnfw_push_pipeline_input(nnfw_session *session, void *inputs, void *lengths)
+NNFW_STATUS nnfw_push_pipeline_input(nnfw_session *, void *, void *)
 {
-  NNFW_RETURN_ERROR_IF_NULL(session);
-  return session->push_pipeline_input((std::vector<void *> *)inputs,
-                                      (std::vector<uint32_t> *)lengths);
+  return nnfw_session::deprecated("nnfw_push_pipeline_input: Deprecated");
 }
 
-NNFW_STATUS nnfw_pop_pipeline_output(nnfw_session *session, void *outputs)
+NNFW_STATUS nnfw_pop_pipeline_output(nnfw_session *, void *)
 {
-  NNFW_RETURN_ERROR_IF_NULL(session);
-  return session->pop_pipeline_output((std::vector<void *> *)outputs);
+  return nnfw_session::deprecated("nnfw_pop_pipeline_output: Deprecated");
 }
 
 NNFW_STATUS nnfw_set_workspace(nnfw_session *session, const char *dir)
diff --git a/runtime/onert/api/nnfw/src/nnfw_api_internal.cc b/runtime/onert/api/nnfw/src/nnfw_api_internal.cc
index 6238f811253..6d0fd52dc94 100644
--- a/runtime/onert/api/nnfw/src/nnfw_api_internal.cc
+++ b/runtime/onert/api/nnfw/src/nnfw_api_internal.cc
@@ -511,12 +511,6 @@ NNFW_STATUS nnfw_session::prepare()
   return NNFW_STATUS_NO_ERROR;
 }
 
-NNFW_STATUS nnfw_session::prepare_pipeline(const char *)
-{
-  std::cerr << "Pipeline prepare_pipeline: deprecated feature " << std::endl;
-  return NNFW_STATUS_ERROR;
-}
-
 NNFW_STATUS nnfw_session::run()
 {
   if (!isStatePreparedOrFinishedRun())
@@ -870,18 +864,6 @@ NNFW_STATUS nnfw_session::output_tensorinfo(uint32_t index, nnfw_tensorinfo *ti)
   return NNFW_STATUS_NO_ERROR;
 }
 
-NNFW_STATUS nnfw_session::push_pipeline_input(std::vector<void *> *, std::vector<uint32_t> *)
-{
-  std::cerr << "Pipeline push_pipeline_input: deprecated feature " << std::endl;
-  return NNFW_STATUS_ERROR;
-}
-
-NNFW_STATUS nnfw_session::pop_pipeline_output(std::vector<void *> *)
-{
-  std::cerr << "Pipeline pop_pipeline_output: deprecated feature " << std::endl;
-  return NNFW_STATUS_ERROR;
-}
-
 NNFW_STATUS nnfw_session::register_custom_operation(const std::string &id,
                                                     nnfw_custom_eval eval_func)
 {
@@ -982,6 +964,12 @@ NNFW_STATUS nnfw_session::set_workspace(const char *dir)
   return NNFW_STATUS_NO_ERROR;
 }
 
+NNFW_STATUS nnfw_session::deprecated(const char *msg)
+{
+  std::cerr << msg << std::endl;
+  return NNFW_STATUS_DEPRECATED_API;
+}
+
 NNFW_STATUS nnfw_session::set_config(const char *key, const char *value)
 {
   if (!isStateModelLoaded())
diff --git a/runtime/onert/api/nnfw/src/nnfw_api_internal.h b/runtime/onert/api/nnfw/src/nnfw_api_internal.h
index 5518ef9db89..e298d6a7795 100644
--- a/runtime/onert/api/nnfw/src/nnfw_api_internal.h
+++ b/runtime/onert/api/nnfw/src/nnfw_api_internal.h
@@ -123,7 +123,6 @@ struct nnfw_session
   ~nnfw_session();
   NNFW_STATUS load_model_from_nnpackage(const char *package_file_path);
   NNFW_STATUS prepare();
-  NNFW_STATUS prepare_pipeline(const char *map_file_path);
   NNFW_STATUS run();
 
   NNFW_STATUS run_async();
@@ -148,6 +147,8 @@ struct nnfw_session
 
   NNFW_STATUS set_workspace(const char *dir);
 
+  static NNFW_STATUS deprecated(const char *msg);
+
   //
   // Internal-only API
   //
@@ -160,9 +161,6 @@ struct nnfw_session
   //
   // Experimental API
   //
-  NNFW_STATUS push_pipeline_input(std::vector<void *> *inputs, std::vector<uint32_t> *lengths);
-  NNFW_STATUS pop_pipeline_output(std::vector<void *> *outputs);
-
   NNFW_STATUS register_custom_operation(const std::string &id, nnfw_custom_eval eval_func);
   NNFW_STATUS input_tensorindex(const char *tensorname, uint32_t *index);
   NNFW_STATUS output_tensorindex(const char *tensorname, uint32_t *index);
diff --git a/tests/nnfw_api/src/NNPackageTests/SingleSession.test.cc b/tests/nnfw_api/src/NNPackageTests/SingleSession.test.cc
index 912dadf20bf..3fb2d37785e 100644
--- a/tests/nnfw_api/src/NNPackageTests/SingleSession.test.cc
+++ b/tests/nnfw_api/src/NNPackageTests/SingleSession.test.cc
@@ -129,3 +129,11 @@ TEST_F(ValidationTestSingleSession, neg_internal_set_config)
   ASSERT_EQ(nnfw_set_config(nullptr, "TRACING_MODE", "0"), NNFW_STATUS_UNEXPECTED_NULL);
   ASSERT_EQ(nnfw_set_config(nullptr, "GRAPH_DOT_DUMP", "0"), NNFW_STATUS_UNEXPECTED_NULL);
 }
+
+TEST_F(ValidationTestSessionCreated, neg_deprecated_api)
+{
+  EXPECT_EQ(nnfw_apply_tensorinfo(nullptr, 0, nnfw_tensorinfo{}), NNFW_STATUS_DEPRECATED_API);
+  EXPECT_EQ(nnfw_prepare_pipeline(nullptr, nullptr), NNFW_STATUS_DEPRECATED_API);
+  EXPECT_EQ(nnfw_push_pipeline_input(nullptr, nullptr, nullptr), NNFW_STATUS_DEPRECATED_API);
+  EXPECT_EQ(nnfw_pop_pipeline_output(nullptr, nullptr), NNFW_STATUS_DEPRECATED_API);
+}