# Requirements

> Check what a ReportingCloud client needs: an account, HTTPS and JSON, plus the .NET target frameworks, PHP versions, Java build and Ruby gem of each SDK.

- **Product:** ReportingCloud
- **Section:** Documentation
- **Kind:** Topic
- **Path:** ReportingCloud > Installation Guide > Requirements
- **1499 words**
- **Web URL:** https://docs.textcontrol.com/reporting-cloud/installation/requirements/
- **LLMs URL:** https://docs.textcontrol.com/reporting-cloud/installation/requirements/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/reporting-cloud/installation/requirements/llms-full.txt

---

The only software a ReportingCloud application needs on your side is the client that sends the requests: your own code, a script or one of the SDKs. The service itself runs on Text Control's servers, and a client needs an account, credentials and a way to send HTTPS requests with JSON. The SDKs add requirements of their own, a .NET target framework, a PHP version, a JDK or a Ruby gem, which the tables below list.

### What Every Client Needs

| Requirement | Details |
|---|---|
| A ReportingCloud account | A 30-day trial, a Free account or an account with a subscription. See [Creating an Account](https://docs.textcontrol.com/reporting-cloud/installation/account/llms-full.txt). |
| Credentials | An API key of the account or its user name (the email address you signed up with) and password. See [API Keys](https://docs.textcontrol.com/reporting-cloud/installation/api-keys/llms-full.txt). |
| HTTPS | Every endpoint is below `https://api.reporting.cloud/v1/`. The Web API answers on HTTPS only and accepts TLS 1.2 and TLS 1.3, not TLS 1.0 or 1.1, so the client must be able to open outgoing HTTPS connections with TLS 1.2 or later to `api.reporting.cloud`. |
| An HTTP client | It sends GET, POST, PUT and DELETE requests with an `Authorization` header and JSON bodies, and reads JSON responses. |
| Base64 | Templates and documents travel as Base64 strings in the JSON, so the client encodes the files it sends and decodes the documents it gets back. |
| A web browser | For the ReportingCloud portal at `https://portal.reporting.cloud/`, where you create API keys, edit templates and add subscriptions. |

Any language that can send such requests works without an SDK: the [Web API](https://docs.textcontrol.com/reporting-cloud/getting-started/web-api/llms-full.txt) tutorial creates a first document with curl.

### SDK Requirements

The SDKs wrap the HTTP requests of the Web API in classes and methods. Each has its own runtime requirements, and two of them authenticate with the user name and password of the account only:

| SDK | Package | Newest version | Runs on | Authentication |
|---|---|---|---|---|
| .NET | `TXTextControl.ReportingCloud` on nuget.org | 1.205.500, September 2, 2019 | .NET Framework 4.5 or later, .NET Core and .NET 5 or later, .NET Standard 1.3 | API key or user name and password |
| PHP | `textcontrol/textcontrol-reportingcloud` on Packagist | 4.0.5, June 27, 2024 | PHP 8.3 or a later 8.x version, with the `dom`, `json` and `libxml` extensions | API key; user name and password are deprecated |
| Java | None. You build it from its source code on GitHub. | 1.3 in the build file, last changed in March 2019 | Compiled for Java 8, built with JDK 8; needs the Gson 1.7.2 library and JavaFX | User name and password only |
| Ruby | `txtextcontrol-reportingcloud` on RubyGems | 1.2.1, March 4, 2019 | No minimum Ruby version declared, no runtime dependencies | User name and password only |

[Installing an SDK](https://docs.textcontrol.com/reporting-cloud/installation/sdks/llms-full.txt) installs each of them, and [SDKs](https://docs.textcontrol.com/reporting-cloud/sdks/llms-full.txt) compares what they offer.

### .NET

`TXTextControl.ReportingCloud` is a multi-target package. NuGet picks the build that fits your project:

| Build in the package | Used by | Dependencies |
|---|---|---|
| `net45` | .NET Framework 4.5 or later | `Microsoft.AspNet.WebApi` 5.2.6, `Newtonsoft.Json` 10.0.3 |
| `netcoreapp1.1` | .NET Core and .NET 5 or later, including .NET 10 | `Microsoft.NETCore.App` 1.1.2, `Newtonsoft.Json` 10.0.3 |
| `netstandard1.3` | Platforms that implement .NET Standard 1.3 | `NETStandard.Library` 1.6.1, `Newtonsoft.Json` 10.0.3 |

- **.NET 10.** A .NET 10 console application references the `netcoreapp1.1` build, compiles and sends its requests with it.
- **.NET Framework.** A .NET Framework 4.8 project references the `net45` build.
- **Vulnerability warnings.** Restoring the package in a .NET 10 project reports `NU1903` warnings for its dependencies `Microsoft.NETCore.App` 1.1.2, `Microsoft.NETCore.Jit` 1.1.2 and `Newtonsoft.Json` 10.0.3. [Installing an SDK](https://docs.textcontrol.com/reporting-cloud/installation/sdks/#net) shows what you can do about them.

### PHP

The Composer package `textcontrol/textcontrol-reportingcloud` states its PHP version per release, and Composer installs the newest release your PHP version allows:

| Release | Published | PHP | Dependencies |
|---|---|---|---|
| 4.0.3 to 4.0.5 | June 2024 | 8.3 or a later 8.x version | `guzzlehttp/guzzle` 7 with `ctw/ctw-http` 4 |
| 4.0.0 to 4.0.2 | September 2023 | 8.1 or a later 8.x version | `guzzlehttp/guzzle` 7 with `ctw/ctw-http` 3 |

On PHP 8.1 and 8.2, `composer require textcontrol/textcontrol-reportingcloud:^4.0` installs 4.0.2. Below PHP 8.1, no 4.x release installs.

Every release needs the PHP extensions `dom`, `json` and `libxml`.

Releases for older PHP versions were published under the earlier package name `textcontrol/txtextcontrol-reportingcloud`: 3.0.0 for PHP 7.4 and 8.0, and 2.0.0 to 2.6.2 for PHP 7.1 and later 7.x versions. Packagist also lists the releases 2.6.3 to 2.6.8 and 4.0.0 to 4.0.6 under that name, all dated July 7, 2022. Packagist marks that package as abandoned in favor of `textcontrol/textcontrol-reportingcloud`, and the README of the SDK says that these versions are no longer maintained.

### Java

The Java SDK is not published to Maven Central or another package repository. You build it from the repository [txtextcontrol-reportingcloud-java](https://github.com/TextControl/txtextcontrol-reportingcloud-java):

- **JDK 8.** The README of the repository names the Java JDK 8 for the build, and the build file compiles for Java 1.8.
- **Gradle.** The repository contains the Gradle wrapper, which downloads Gradle 2.9 for the build.
- **Gson and JavaFX.** Your application needs `com.google.code.gson:gson` 1.7.2 on its classpath next to the SDK, and JavaFX for the class `FindAndReplaceBody`, which uses `javafx.util.Pair`: a JDK that includes JavaFX, or the library `org.openjfx:javafx-base`.

### Ruby

The gem `txtextcontrol-reportingcloud` declares no runtime dependencies. It loads the libraries `net/http`, `json`, `ostruct` and `cgi`, which it expects Ruby to provide. Its gem specification declares no minimum Ruby version. Version 1.2.1 of March 4, 2019 is the newest release, and the repository [txtextcontrol-reportingcloud-ruby](https://github.com/TextControl/txtextcontrol-reportingcloud-ruby) contains the same version.

### Next Steps

- [Creating an Account](https://docs.textcontrol.com/reporting-cloud/installation/account/llms-full.txt): sign up for the 30-day trial.
- [API Keys](https://docs.textcontrol.com/reporting-cloud/installation/api-keys/llms-full.txt): create the key your client sends.
- [Installing an SDK](https://docs.textcontrol.com/reporting-cloud/installation/sdks/llms-full.txt): add the .NET, PHP, Java or Ruby SDK to your project.
- [Architecture](https://docs.textcontrol.com/reporting-cloud/overview/architecture/llms-full.txt): how your client, the Web API and the portal fit together.

---

## Nearby

- **Previous:** [Installation Guide](https://docs.textcontrol.com/reporting-cloud/installation/llms-full.txt)
- **Next:** [Creating an Account](https://docs.textcontrol.com/reporting-cloud/installation/account/llms-full.txt)
