Skip to Content

Java SDK (dev.orderly:orderly-java)

Server-side Java SDK for creating embed sessions. Java 17+ required. No external dependencies — uses java.net.http.HttpClient.

Installation

Maven

<dependency> <groupId>dev.orderly</groupId> <artifactId>orderly-java</artifactId> <version>0.1.0</version> </dependency>

Gradle

implementation 'dev.orderly:orderly-java:0.1.0'

Quick Start

import dev.orderly.Orderly; import dev.orderly.CreateSessionParams; import dev.orderly.EmbedSession; Orderly orderly = new Orderly("oh_your_secret_key"); EmbedSession session = orderly.createEmbedSession( new CreateSessionParams.Builder("user-123") .name("Acme Corp") .build() ); String clientSecret = session.clientSecret(); // est_...

Spring Boot Example

import dev.orderly.Orderly; import dev.orderly.CreateSessionParams; import dev.orderly.EmbedSession; import dev.orderly.OrderlyException; import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController public class OrderlyController { private final Orderly orderly = new Orderly(System.getenv("ORDERLY_API_KEY")); @PostMapping("/api/orderly/session") public Map<String, String> createSession(@AuthenticationPrincipal User user) throws OrderlyException { EmbedSession session = orderly.createEmbedSession( new CreateSessionParams.Builder(user.getId()) .name(user.getCompanyName()) .email(user.getEmail()) .build() ); return Map.of("clientSecret", session.clientSecret()); } }

API Reference

new Orderly(apiKey)

ParameterTypeDescription
apiKeyStringYour Orderly secret key (oh_...)

new Orderly(apiKey, baseUrl)

ParameterTypeDescription
apiKeyStringYour Orderly secret key (oh_...)
baseUrlStringAPI base URL (default: https://api.orderly.dev)

orderly.createEmbedSession(params)

Creates a session token. Throws OrderlyException on API errors.

CreateSessionParams.Builder methods:

MethodTypeRequiredDescription
Builder(externalId)StringYesUnique user ID in your system
.name(name)StringNoDisplay name
.email(email)StringNoEmail address
.allowedBridgeTypes(types)List<String>NoRestrict bridge types
.enabledFeatures(features)List<String>NoFeature modules
.scopes(scopes)List<String>NoPermission scopes
.ttl(ttl)intNoSession TTL in seconds

EmbedSession record:

FieldTypeDescription
clientSecret()Stringest_ token for the frontend
sessionId()StringSession ID
expiresAt()StringISO 8601 expiration
scopes()List<String>Granted scopes
enabledFeatures()List<String>Enabled features

Error Handling

import dev.orderly.OrderlyException; try { EmbedSession session = orderly.createEmbedSession( new CreateSessionParams.Builder("user-123").build() ); } catch (OrderlyException e) { System.err.println("API error: " + e.getMessage()); System.err.println("Status code: " + e.getStatusCode()); }