# SDK overview Use a commercetools SDK to interact with APIs using type-safe, language-specific code instead of plain HTTP calls. commercetools SDKs let you interact with the [HTTP API](/api/), [Import API](/api/import-export/overview.md), [Audit Log API](/api/history/overview.md), and [Checkout API](/checkout) using language-specific types, objects, and methods. The SDKs provide IDE autocompletion, type safety, encapsulation, and a domain-specific language for formulating valid requests. The SDKs are open source, available on GitHub, and autogenerated from commercetools [API specifications](/dev-tooling/api-specifications.md). Learn more about configuring your integrated developer environment in our self-paced Prepare your work environment module. ## Available SDKs | SDK | Language | License | GitHub repository | Get started | | --- | --- | --- | --- | --- | | Java SDK | Java and other JVM languages (Scala, Groovy, Clojure, Kotlin) | [Apache 2.0](https://github.com/commercetools/commercetools-sdk-java-v2/blob/main/LICENSE) | [commercetools-sdk-java-v2](https://github.com/commercetools/commercetools-sdk-java-v2) | [Get started](/dev-tooling/java-sdk-getting-started.md) | | TypeScript SDK | TypeScript | [MIT](https://github.com/commercetools/commercetools-sdk-typescript/blob/master/LICENSE) | [commercetools-sdk-typescript](https://github.com/commercetools/commercetools-sdk-typescript) | [Get started](/dev-tooling/ts-sdk-getting-started.md) | | PHP SDK | PHP | [MIT](https://github.com/commercetools/commercetools-sdk-php-v2/blob/master/LICENSE) | [commercetools-sdk-php-v2](https://github.com/commercetools/commercetools-sdk-php-v2) | [Get started](/dev-tooling/php-sdk-getting-started.md) | | .NET SDK | .NET | [Apache 2.0](https://github.com/commercetools/commercetools-dotnet-core-sdk-v2/blob/master/LICENSE) | [commercetools-dotnet-core-sdk-v2](https://github.com/commercetools/commercetools-dotnet-core-sdk-v2) | [Get started](/dev-tooling/dotnet-sdk-getting-started.md) | ## Relationship to the API reference The SDKs are autogenerated from commercetools [API specifications](/dev-tooling/api-specifications.md). As a result, each SDK reference mirrors the structure and content of the API reference. Resource types, fields, and endpoints correspond to the objects and methods you use in the SDK. Use each source for what it does best: - **API reference**: canonical, language-independent descriptions of resources, fields, enumerations, and endpoints. - **SDK reference**: language-specific signatures for the types, methods, and request builders that represent those resources and endpoints in your SDK. ## SDK references Each SDK includes a complete reference that documents the types, methods, and request builders available in that language. The references are published on GitHub Pages and generated from the most recent release. | SDK | Reference | | --- | --- | | Java SDK | [Java SDK reference](https://commercetools.github.io/commercetools-sdk-java-v2/javadoc/index.html) | | TypeScript SDK | [TypeScript SDK reference](https://commercetools.github.io/commercetools-sdk-typescript/) | | PHP SDK | [PHP SDK reference](https://commercetools.github.io/commercetools-sdk-php-v2/docs/html/index.html) | | .NET SDK | [.NET SDK reference](https://commercetools.github.io/commercetools-dotnet-core-sdk-v2/docs/html/namespaces.html) | ## Release schedule New SDK releases are published on the first Monday of the month, though occasional updates can occur. To stay informed about new releases, subscribe to the GitHub release feed or watch the repository for your SDK. ## Examples and resources Each SDK includes integration tests and code examples that demonstrate common tasks such as managing Customers and Products. | SDK | Integration tests | Code examples | | --- | --- | --- | | Java | [Integration tests](https://github.com/commercetools/commercetools-sdk-java-v2/blob/main/commercetools/commercetools-sdk-java-api/src/integrationTest) | [SDK code examples](/dev-tooling/sdk-example-code?activePath=java) | | TypeScript | [Integration tests](https://github.com/commercetools/commercetools-sdk-typescript/blob/master/packages/platform-sdk/test/integration-tests) | [SDK code examples](/dev-tooling/sdk-example-code?activePath=ts) | | PHP | [Integration tests](https://github.com/commercetools/commercetools-sdk-php-v2/tree/master/test/integration/Api) | [SDK code examples](/dev-tooling/sdk-example-code?activePath=php) | | .NET | [Integration tests](https://github.com/commercetools/commercetools-dotnet-core-sdk-v2/tree/master/commercetools.Sdk/IntegrationTests) | [SDK code examples](/dev-tooling/sdk-example-code?activePath=cs) | The .NET SDK also provides a [training repository](https://github.com/commercetools/commercetools-dotnet-sdk-training/tree/Training-SDKV2) with additional example use cases. ## Best practices Keep your SDK up to date to ensure you have the latest features, performance improvements, and security fixes. Never hardcode credentials such as `clientId` and `clientSecret` in your source code. Load them from environment variables, a secrets manager, or application configuration. For additional guidance, see the best practices pages for the [Java SDK](/dev-tooling/java-sdk-best-practices.md) and [TypeScript SDK](/dev-tooling/ts-sdk-best-practices.md). ## Report issues Report bugs and unexpected behaviors as GitHub issues in the relevant SDK repository. Include the SDK version, the specific error message, and any relevant log or stack trace. If an issue is urgent or critical for your business, contact the [commercetools support team](https://support.commercetools.com/). ## Related pages - [Area overview page with navigation](/dev-tooling.md) - [Search documentation and API specs](/search.md)