Skip to main content
Version: 1.0.0

Installation

Add com.candescent.forge:di-java-sdk to your Maven project, configure credentials, and make your first API call.

Requirements

RequirementNotes
Java 17+Required by the SDK — see Troubleshooting for version errors
Maven 3.8+Or Gradle with equivalent dependency resolution

1. Add the dependency

Add the SDK to your pom.xml:

<dependency>
<groupId>com.candescent.forge</groupId>
<artifactId>di-java-sdk</artifactId>
<version>1.0.0</version>
</dependency>

Or add to build.gradle:

dependencies {
implementation 'com.candescent.forge:di-java-sdk:1.0.0'
}

The package is published to Maven Central. See the Maven Central package page for other build tools.

2. Verify installation

Create a minimal class (for example CheckSdk.java):

import com.candescent.di.CandescentClient;
import com.candescent.di.Environment;

public class CheckSdk {
public static void main(String[] args) {
System.out.println("SDK loaded: " + (CandescentClient.class != null));
System.out.println("Environments: " + Environment.STAGE + ", " + Environment.PRODUCTION);
}
}

Compile and run:

Bash
mvn compile exec:java -Dexec.mainClass="CheckSdk"

3. Configure credentials

Obtain a Client ID, Client Secret, and Institution ID from the Developer Console quickstart guide, then export them:

Bash
export CANDESCENT_CLIENT_ID=your-client-id
export CANDESCENT_CLIENT_SECRET=your-client-secret
export CANDESCENT_INSTITUTION_ID=your-institution-id
export CANDESCENT_ENVIRONMENT=stage # sandbox, stage, or production

Set credentials in your shell or environment configuration, then use CandescentClient.fromEnv().

4. Make your first API call

With credentials configured, call a live endpoint. This example lists accounts for a user — a common first integration check.

Create ListAccounts.java:

import com.candescent.di.CandescentClient;
import com.candescent.di.generated.model.AccountsResponse;

public class ListAccounts {
public static void main(String[] args) throws Exception {
try (CandescentClient client = CandescentClient.fromEnv()) {
AccountsResponse accounts = client.accounts()
.callList()
.hostUserId(System.getenv().getOrDefault("CANDESCENT_HOST_USER_ID", "user-12345"))
.execute();
int count = accounts.getAccounts() != null ? accounts.getAccounts().size() : 0;
System.out.println("Found " + count + " accounts");
}
}
}

Run it:

Bash
mvn compile exec:java -Dexec.mainClass="ListAccounts"

The SDK obtains and caches OAuth tokens automatically — you do not set Authorization headers manually.

tip

Pass either hostUserId or loginId per request — not both.

Package layout

PackagePurpose
com.candescent.diCandescentClient, Environment, ClientConfig
com.candescent.di.authOAuth token providers (V1 + V2)
com.candescent.di.errorsTyped exception hierarchy
com.candescent.di.paginationPageIterator
com.candescent.di.operationsStandalone per-operation helpers (serverless, scripts)
com.candescent.di.registryOperation metadata
com.candescent.di.generatedOpenAPI-generated API classes and models

Next step

Quick Start — authentication, accounts, business banking, and standalone operations.