diff --git a/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/core/Temerity.kt b/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/core/Temerity.kt
index 97261a23863e7f1c0bd6739d798f72434e1062c8..685947d248b9561c27d7318e8bffebc1369dbe59 100644
--- a/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/core/Temerity.kt
+++ b/temerity/src/commonMain/kotlin/edu/ucsc/its/temerity/core/Temerity.kt
@@ -596,13 +596,26 @@ public class Temerity internal constructor(
     startTime: LocalDate,
     endTime: LocalDate,
   ): List<DeviceRecordingSession> = withContext(libraryCoroutineDispatcher) {
-    val request = platformApi.getDeviceSchedule(
-      deviceId,
-      startTime.applyScheduledSessionDateFormat(),
-      endTime.applyScheduledSessionDateFormat(),
-    )
-    val response = request.executeApiResponse<String>()
-    decodeResponseCatching(response)
+    try {
+      val request = platformApi.getDeviceSchedule(
+        deviceId,
+        startTime.applyScheduledSessionDateFormat(),
+        endTime.applyScheduledSessionDateFormat(),
+      )
+      val response = request.executeApiResponse<String>()
+      return@withContext decodeResponseCatching(response)
+    } catch (e: Exception) {
+      when (e) {
+        is BreakException -> {
+          if (config.optDebugEnabled) {
+            get<KermitLogger>(named("libraryLogger")).d("Caught BreakException() from decodeResponseCatching() notifying we're done reading recording sessions from API: ${e.page} pages read")
+          }
+          return@withContext emptyList<DeviceRecordingSession>()
+        }
+
+        else -> throw e
+      }
+    }
   }
 
   public override suspend fun getStorageAnalyticsReport(groupId: Long): ByteArray = withContext(libraryCoroutineDispatcher) {
diff --git a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
index 87a59821f0318ea4551199a3d0f5a614608a5df0..5f61a923904ca0d4e6f143dc254f76f62181308d 100644
--- a/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
+++ b/temerity/src/jvmTest/kotlin/edu/ucsc/its/temerity/test/ProdReportTests.kt
@@ -258,5 +258,18 @@ private class ProdReportTests : TemProdFunSpec() {
         File(saveFilename).shouldNotBeEmpty()
       }
     }
+
+    test("PlatformClient can fetch a list of courses recorded the previous day") {
+      runBlocking {
+        val yesterday = today.minus(1, DateTimeUnit.DAY)
+        val devices = testTemerity.getDevices()
+        val schedule = arrayListOf<Pair<String, List<DeviceRecordingSession>>>()
+        devices.forEach { device ->
+          val deviceDailySchedule = testTemerity.getDeviceSchedule(device.deviceId, yesterday.minus(1, DateTimeUnit.DAY), yesterday)
+          schedule.add(Pair(device.stationName, deviceDailySchedule))
+        }
+        schedule.toDataFrame().writeCSV("DeviceSchedule-$yesterday.csv")
+      }
+    }
   }
 }