The official Java SDK
The ReplayCore Java SDK is the recommended way to call the developer API from Java. It is open source and lives at https://github.com/forgevector-software-limited/replaycore-java-sdk. It is a thin, dependency-free client (Java 8 or newer, JDK only) that wraps the same rc_live_ REST surface documented in this section, so you do not have to build and sign HTTP requests or parse JSON by hand.
It has zero third-party runtime dependencies, which makes it safe to shade into a Bukkit, Paper, or Velocity plugin. It ships both a synchronous client and an async client returning CompletableFuture, so it sits cleanly in a plugin event loop.
What it does
The SDK covers the public developer API: list and search replays, fetch replay metadata, add timeline markers, list and manage connected or pending server setups, and read or change the allowlisted workspace setup surface. Its generic, origin-bound JSON method keeps future documented endpoints usable before a new typed model ships. Synchronous and CompletableFuture variants cover every operation.
Workspace setup includes recorder configuration, capture and retention, categories, integrations, Network Portals, custom domains, resource packs, team roles, delegated grants and permission groups. Management calls remain bound to the key creator and recheck that member's live permissions.
Add it to your build
Releases are served through JitPack. Add the JitPack repository, then the dependency.
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.forgevector-software-limited:replaycore-java-sdk:v1.6.0'
}Quickstart
Mint an rc_live_ key in the panel under Settings, then Developer API, give it the replays:read scope (and replays:write if you intend to add markers), and pass it to the client builder. Never hard-code the key: read it from an environment variable or your plugin config.
ReplayCoreClient client = ReplayCoreClient.builder()
.apiKey(System.getenv("REPLAYCORE_API_KEY")) // an rc_live_ key from the panel
.build();
ReplayPage page = client.listReplays(
ReplayQuery.builder()
.pageSize(25)
.gameMode("bedwars")
.starred(true)
.build());