# SDKs

> Compare the ReportingCloud SDKs for .NET, PHP, Java and Ruby: packages, runtime requirements, authentication, endpoints they lack and how current each one is.

- **Product:** ReportingCloud
- **Section:** Documentation
- **Kind:** Topic
- **Path:** ReportingCloud > SDKs
- **1064 words**
- **Web URL:** https://docs.textcontrol.com/reporting-cloud/sdks/
- **LLMs URL:** https://docs.textcontrol.com/reporting-cloud/sdks/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/reporting-cloud/sdks/llms-full.txt

---

Do you need an SDK to use ReportingCloud? No: the Web API takes JSON over HTTPS, and any language that can send such a request can merge templates and manage the template storage, as [Web API](https://docs.textcontrol.com/reporting-cloud/getting-started/web-api/llms-full.txt) in Getting Started does with curl. The SDKs for .NET, PHP, Java and Ruby save you that plumbing. Each one turns the endpoints into methods of a class, so that merging a template is one call with your data.

The SDKs differ in how current they are and in how they authenticate. The comparison below helps you choose one, and the page of each language shows its package, a merge example and its methods.

### What an SDK Does

- **It authenticates every request.** You pass your credentials once, when you create the instance, and the SDK sends them with each request. The .NET and PHP SDKs can send an API key; the Java and Ruby SDKs know only the user name and password of the account.
- **It builds the JSON body.** Objects, arrays or hashes with your merge data and settings become the request body. The .NET, PHP and Java SDKs encode documents as Base64 strings; the Ruby SDK takes them already encoded.
- **It decodes the response.** The .NET, PHP and Java SDKs return documents as binary data; the Ruby SDK returns the Base64 strings.
- **It reports errors.** A request that the Web API refuses becomes an exception whose message holds the response body.

All four are open source, published by Text Control on GitHub under a BSD license.

### Compare the SDKs

|  | .NET | PHP | Java | Ruby |
|---|---|---|---|---|
| Package | `TXTextControl.ReportingCloud` on NuGet | `textcontrol/textcontrol-reportingcloud` on Packagist | None; you build it from the source on GitHub | `txtextcontrol-reportingcloud` on RubyGems |
| Latest version | 1.205.500, September 2, 2019 | 4.0.5, June 27, 2024 | 1.3, last change March 4, 2019 | 1.2.1, March 4, 2019 |
| Requires | .NET Framework 4.5, .NET Standard 1.3 or .NET Core 1.1; works in .NET 10 projects | PHP 8.3 or a later 8.x version | JDK 8 | No minimum Ruby version declared |
| Authentication | API key or user name and password | API key; user name and password are deprecated | User name and password | User name and password |
| Endpoints not covered | None | Sharing | Document thumbnails, sharing, tracked changes | Document thumbnails, sharing, tracked changes |
| Status | No release since September 2019 | No release since June 2024; the repository was last changed in November 2025 | No change since March 2019 | No release since March 2019 |

The dates are those of the package registries and the repositories. For PHP applications built with Laminas MVC, the module `textcontrol/textcontrol-laminas-reportingcloud` makes the PHP SDK available as a service, as [PHP](https://docs.textcontrol.com/reporting-cloud/sdks/php/#laminas-module) describes.

The registries still list two older packages, `TXTextControl.ReportingCloud.Core` and `textcontrol/txtextcontrol-reportingcloud`; don't use them in new projects, as [.NET](https://docs.textcontrol.com/reporting-cloud/sdks/dotnet/#package-and-requirements) and [PHP](https://docs.textcontrol.com/reporting-cloud/sdks/php/#package-and-requirements) explain.

### Find the Right Page

| If you want to | Read |
|---|---|
| Merge, convert and manage templates from C# | [.NET](https://docs.textcontrol.com/reporting-cloud/sdks/dotnet/llms-full.txt) |
| Use ReportingCloud from PHP or a Laminas application | [PHP](https://docs.textcontrol.com/reporting-cloud/sdks/php/llms-full.txt) |
| Build the Java SDK and call it from a Java application | [Java](https://docs.textcontrol.com/reporting-cloud/sdks/java/llms-full.txt) |
| Use the Ruby gem | [Ruby](https://docs.textcontrol.com/reporting-cloud/sdks/ruby/llms-full.txt) |
| Install a package with NuGet, Composer or RubyGems | [Installing an SDK](https://docs.textcontrol.com/reporting-cloud/installation/sdks/llms-full.txt) |
| Build a first application step by step | [Getting Started](https://docs.textcontrol.com/reporting-cloud/getting-started/llms-full.txt) |
| Call the Web API without an SDK | [Web API](https://docs.textcontrol.com/reporting-cloud/getting-started/web-api/llms-full.txt) |
| Look up the endpoint behind a method | [API Reference](https://docs.textcontrol.com/reporting-cloud/reference/llms-full.txt) |

### Where to Start

1. Create an account, as [Creating an Account](https://docs.textcontrol.com/reporting-cloud/installation/account/llms-full.txt) describes, and for the .NET or PHP SDK an API key, as [API Keys](https://docs.textcontrol.com/reporting-cloud/installation/api-keys/llms-full.txt) shows.
2. Choose an SDK from the comparison above and install its package with [Installing an SDK](https://docs.textcontrol.com/reporting-cloud/installation/sdks/llms-full.txt).
3. Follow the tutorial for your platform in [Getting Started](https://docs.textcontrol.com/reporting-cloud/getting-started/llms-full.txt), or open the page of your SDK for its methods.

### Pages in This Section

- [.NET](https://docs.textcontrol.com/reporting-cloud/sdks/dotnet/llms-full.txt): the NuGet package, the `ReportingCloud` class, its methods and the differences between its target frameworks.
- [PHP](https://docs.textcontrol.com/reporting-cloud/sdks/php/llms-full.txt): the Composer package, its options and methods, the demo scripts and the Laminas module.
- [Java](https://docs.textcontrol.com/reporting-cloud/sdks/java/llms-full.txt): building the SDK from source, its Basic authentication and its methods.
- [Ruby](https://docs.textcontrol.com/reporting-cloud/sdks/ruby/llms-full.txt): the gem, its Basic authentication and its methods.

---

## In This Section

- [.NET](https://docs.textcontrol.com/reporting-cloud/sdks/dotnet/llms-full.txt): Call ReportingCloud from C# with the TXTextControl.ReportingCloud NuGet package: target frameworks, API keys, MergeDocument and the endpoints of its methods.
- [Java](https://docs.textcontrol.com/reporting-cloud/sdks/java/llms-full.txt): Build the ReportingCloud Java SDK from its GitHub source with Gradle, sign in with user name and password, merge a template and map each method to its endpoint.
- [PHP](https://docs.textcontrol.com/reporting-cloud/sdks/php/llms-full.txt): Merge templates from PHP with textcontrol/textcontrol-reportingcloud: Composer setup, options, mergeDocument, exceptions, demo scripts and the Laminas module.
- [Ruby](https://docs.textcontrol.com/reporting-cloud/sdks/ruby/llms-full.txt): Use the txtextcontrol-reportingcloud gem from Ruby: Basic authentication, merge_document with hashes and Base64 results, errors and the endpoint of each method.

---

## Nearby

- **Previous:** [Errors and Status Codes](https://docs.textcontrol.com/reporting-cloud/document-processing/errors/llms-full.txt)
- **Next:** [.NET](https://docs.textcontrol.com/reporting-cloud/sdks/dotnet/llms-full.txt)
