diff --git a/include/libcamera/internal/camera.h b/include/libcamera/internal/camera.h
index 18f5c32a1..d5d869887 100644
--- a/include/libcamera/internal/camera.h
+++ b/include/libcamera/internal/camera.h
@@ -17,6 +17,7 @@
 #include <libcamera/base/class.h>
 
 #include <libcamera/camera.h>
+#include <libcamera/metadata_list_plan.h>
 
 namespace libcamera {
 
@@ -41,6 +42,8 @@ public:
 
 	uint32_t requestSequence_;
 
+	MetadataListPlan metadataPlan_;
+
 	const CameraControlValidator *validator() const { return validator_.get(); }
 
 private:
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index c180a5fdd..31f5ad94b 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -660,6 +660,14 @@ Camera::Private::~Private()
  * over a single capture session.
  */
 
+/**
+ * \var Camera::Private::metadataPlan_
+ * \brief The set of metadata supported by the camera
+ *
+ * The metadata information shall be initialised by the pipeline handler when
+ * creating the camera.
+ */
+
 static const char *const camera_state_names[] = {
 	"Available",
 	"Acquired",
