diff --git a/include/libcamera/ipa/core.mojom b/include/libcamera/ipa/core.mojom
index bce79724..0ff643d2 100644
--- a/include/libcamera/ipa/core.mojom
+++ b/include/libcamera/ipa/core.mojom
@@ -134,6 +134,14 @@ module libcamera;
  * sensor model.
  */
 
+/**
+ * \var IPACameraSensorInfo::id
+ * \brief The image sensor id name
+ *
+ * The sensor id name is a free-formed string that uniquely identifies the
+ * sensor in the system. The ID satisfies the requirements to be used as a camera ID.
+ */
+
 /**
  * \var IPACameraSensorInfo::bitsPerPixel
  * \brief The number of bits per pixel of the image format produced by the
@@ -239,6 +247,7 @@ module libcamera;
  */
 struct IPACameraSensorInfo {
 	string model;
+	string id;
 
 	uint32 bitsPerPixel;
 	uint32 cfaPattern;
diff --git a/src/libcamera/sensor/camera_sensor.cpp b/src/libcamera/sensor/camera_sensor.cpp
index 5c89da07..fb3e172a 100644
--- a/src/libcamera/sensor/camera_sensor.cpp
+++ b/src/libcamera/sensor/camera_sensor.cpp
@@ -914,6 +914,7 @@ int CameraSensor::sensorInfo(IPACameraSensorInfo *info) const
 		return -EINVAL;
 
 	info->model = model();
+	info->id = id();
 
 	/*
 	 * The active area size is a static property, while the crop
