# IRecordingSession Immutable snapshot of a completed recording's metadata. Returned by `IRecordingManager.stopRecording()`. --- ## Source ```java package gg.lode.recap.api.recording; import java.util.UUID; public interface IRecordingSession { String getId(); String getName(); String getPlayerName(); UUID getPlayerUuid(); long getStartTimestamp(); long getEndTimestamp(); int getDurationTicks(); double getDurationSeconds(); String getWorldName(); double getOriginX(); double getOriginY(); double getOriginZ(); boolean isPersist(); } ``` --- ## Methods | Method | Description | |---|---| | `getId()` | Unique UUID for this recording. | | `getName()` | The name assigned to the recording. | | `getPlayerName()` | In-game name of the recorded player. | | `getPlayerUuid()` | UUID of the recorded player. | | `getStartTimestamp()` | Epoch milliseconds when recording started. | | `getEndTimestamp()` | Epoch milliseconds when recording ended. | | `getDurationTicks()` | Total frame count. | | `getDurationSeconds()` | Duration in seconds (frames / 20.0). | | `getWorldName()` | World where the recording took place. | | `getOriginX/Y/Z()` | Player position at recording start. | | `isPersist()` | `true` if full recording, `false` if rolling buffer mode. | --- ## Example ```java IRecordingSession session = RecapAPI.getRecordingManager().stopRecording(player, "evidence-123"); if (session != null) { player.sendMessage("Saved " + session.getDurationSeconds() + "s recording: " + session.getName()); } ``` --- ## Related Pages - [[Recap/API/IRecordingManager]] — start, stop, and manage recordings - [[Recap/API/RecapAPI]] — accessor class