The official Java SDK for the Smartling Translation Management Platform. This library provides a type-safe, idiomatic Java interface to Smartling's REST APIs, enabling seamless integration of translation workflows into your applications.
- Automatic OAuth 2.0 Management - Built-in token acquisition, refresh, and secure credential handling
- Type-Safe API Clients - Strongly-typed interfaces with comprehensive error handling
- Multi-Module Architecture - Include only the API modules you need to minimize dependencies
- Production Ready - Battle-tested by hundreds of enterprise integrations with comprehensive test coverage
- Modern Java Support - Built with RESTEasy, Jackson, and Apache HttpClient
- Java 8 or higher (JDK 1.8+)
- Maven 3.6+ or Gradle 5.0+
- RESTEasy 4.7.10 (JAX-RS client implementation)
- Jackson 2.15.4 (JSON serialization)
- Apache HttpClient 4.5.14 (HTTP transport)
- SLF4J 1.7.28 (Logging facade)
Add the SDK to your pom.xml:
<dependency>
<groupId>com.smartling.api</groupId>
<artifactId>smartling-api-sdk</artifactId>
<version>1.26.2</version>
</dependency>Add the SDK to your build.gradle:
dependencies {
implementation 'com.smartling.api:smartling-api-sdk:1.26.2'
}The SDK automatically manages OAuth 2.0 authentication when you provide your API credentials:
import com.smartling.api.files.v2.FilesApi;
import com.smartling.api.files.v2.FilesApiFactory;
import com.smartling.api.v2.authentication.AuthenticationApi;
import com.smartling.api.v2.authentication.AuthenticationApiFactory;
import com.smartling.api.v2.client.ClientFactory;
import com.smartling.api.v2.client.DefaultClientConfiguration;
import com.smartling.api.v2.client.auth.Authenticator;
import com.smartling.api.v2.client.auth.BearerAuthSecretFilter;
public class SmartlingExample {
public static void main(String[] args) {
String userIdentifier = "YOUR_USER_IDENTIFIER";
String userSecret = "YOUR_USER_SECRET";
// Create a factory for building API clients
DefaultClientConfiguration clientConfiguration = DefaultClientConfiguration.builder().build();
ClientFactory clientFactory = new ClientFactory();
// Create the authenticator to be used by subsequent API calls
AuthenticationApi authenticationApi = new AuthenticationApiFactory(clientFactory).buildApi(clientConfiguration);
Authenticator authenticator = new Authenticator(userIdentifier, userSecret, authenticationApi);
// Create files API client
FilesApi filesApi = new FilesApiFactory(clientFactory)
.buildApi(new BearerAuthSecretFilter(authenticator), clientConfiguration);
// Use the API client
// ...
}
}For detailed examples and tutorials, visit our samples repository.
- Minimum Java Version: Java 8 (JDK 1.8)
- End of Support: December 1, 2026
- Status: Stable and production-ready
- Minimum Java Version: Java 17 (JDK 17)
- Release: Coming soon
- Migration Guide: Will be provided upon release
We recommend planning your migration to Java 17+ to ensure continued support beyond 2026.
- API Reference - Complete REST API documentation
- Java SDK Guide - SDK-specific documentation and best practices
- Help Center - API guides and tutorials
- Code Samples - Working examples and integration patterns
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Issues
- Security Issues: Please report privately to security@smartling.com
We welcome contributions from the community! Before submitting significant changes:
- Open an issue to discuss your proposed changes with the maintainers
- Fork the repository and create a feature branch
- Ensure all tests pass and add new tests for your changes
- Submit a pull request with a clear description of your changes
For Smartling employees, please refer to the internal wiki for contribution guidelines.
This project is licensed under the Apache License 2.0.
Smartling | Website | API Documentation