# GET /v1/fonts/list

> List the fonts available to ReportingCloud templates, Windows fonts and many Google Fonts, as a JSON string array, with samples in HTTP, C#, Java, Ruby and PHP.

- **Product:** ReportingCloud
- **Section:** Documentation
- **Kind:** Endpoint
- **Path:** ReportingCloud > API Reference > Web API > Fonts > /list > GET /v1/fonts/list
- **1995 words**
- **Web URL:** https://docs.textcontrol.com/reporting-cloud/reference/web-api/fonts/list/get/
- **LLMs URL:** https://docs.textcontrol.com/reporting-cloud/reference/web-api/fonts/list/get/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/reporting-cloud/reference/web-api/fonts/list/get/llms-full.txt

---

`GET` `https://api.reporting.cloud/v1/fonts/list`

### Description

Returns the names of the fonts installed on the service, which templates can use: the Windows fonts, such as Arial, Calibri and Times New Roman, and many Google Fonts. Not every Google Font is installed (Inter, Roboto Condensed, Roboto Mono and Ubuntu are missing, for example), so check a font against the list before you use it in a template.

### Examples

#### HTTP

Request:

```bash
curl -u username:password \
  -X GET "https://api.reporting.cloud/v1/fonts/list"
```

Results:

```json
[
  "ABeeZee",
  "Abel",
  "Abhaya Libre",
  "Abhaya Libre ExtraBold",
  "Abhaya Libre Medium",
  "Abhaya Libre SemiBold"
]
```

The response is shortened here: it holds 1,707 names, in alphabetical order, from `ABeeZee` to `Zilla Slab SemiBold`.

#### C#

Request:

```csharp
using System;
using System.Collections.Generic;
using TXTextControl.ReportingCloud;

class RCSamples
{
    public static void ListFonts()
    {
        ReportingCloud rc = new ReportingCloud(
            "username",
            "password",
            new Uri("https://api.reporting.cloud"));

        // List all fonts
        string[] fonts = rc.ListFonts();

        foreach (string font in fonts)
        {
            Console.WriteLine(font);
        }
    }
}
```

Results:

```text
ABeeZee
Abel
Abhaya Libre
Abhaya Libre ExtraBold
Abhaya Libre Medium
Abhaya Libre SemiBold
...
```

#### Java

Request:

```java
import com.textcontrol.reportingcloud.ReportingCloud;

import java.io.IOException;
import java.util.List;

public class ReportingCloudSample {
    public static void main(String[] args) throws IOException {
        ReportingCloud r = new ReportingCloud("username", "password");
        List<String> fonts = r.listFonts();

        System.out.println("Fonts: " + String.join(", ", fonts));
    }
}
```

Results:

```text
Fonts: ABeeZee, Abel, Abhaya Libre, Abhaya Libre ExtraBold, Abhaya Libre Medium, Abhaya Libre SemiBold, ...
```

#### Ruby

Request:

```ruby
#!/usr/bin/env ruby

require "txtextcontrol/reportingcloud"

reporting_cloud = TXTextControl::ReportingCloud::ReportingCloud.new("username", "password")
fonts = reporting_cloud.list_fonts

puts "Fonts: #{fonts.join(", ")}"
```

Results:

```text
Fonts: ABeeZee, Abel, Abhaya Libre, Abhaya Libre ExtraBold, Abhaya Libre Medium, Abhaya Libre SemiBold, ...
```

#### PHP

Request:

```php
<?php

require_once __DIR__ . '/vendor/autoload.php';

use TextControl\ReportingCloud\ReportingCloud;

$reportingCloud = new ReportingCloud([
    'api_key' => (string) getenv('REPORTINGCLOUD_API_KEY'),
]);

var_dump($reportingCloud->getFontList());
```

Results:

```text
array(1707) {
  [0]=>
  string(7) "ABeeZee"
  [1]=>
  string(4) "Abel"
  [2]=>
  string(12) "Abhaya Libre"
  [3]=>
  string(22) "Abhaya Libre ExtraBold"
  [4]=>
  string(19) "Abhaya Libre Medium"
  [5]=>
  string(21) "Abhaya Libre SemiBold"
  ...
}
```

### Authorization

This endpoint requires a "ReportingCloud-APIKey" or a "Basic" user authorization to access the user account, data and templates. Only one of these two methods is required.

[API Keys](https://docs.textcontrol.com/reporting-cloud/installation/api-keys/llms-full.txt) describes how to create an API key, and [Authentication](https://docs.textcontrol.com/reporting-cloud/document-processing/authentication/llms-full.txt) explains both header forms.

#### ReportingCloud-APIKey

| Header field | Description |
|---|---|
| Authorization | **Required**. A valid ReportingCloud account is required. The Authorization field is constructed as follows: An API key needs to be generated in the portal or with [PUT /v1/account/apikey](https://docs.textcontrol.com/reporting-cloud/reference/web-api/account/apikey/put/llms-full.txt). The authorization method and a space, "ReportingCloud-APIKey ", is then put before the actual API key string. For example: `Authorization: ReportingCloud-APIKey oMDM4MrAqL9QEOpyzupnQW5NjvCNtvE5cVDaaLqxI` |

#### Basic

| Header field | Description |
|---|---|
| Authorization | **Required**. A valid ReportingCloud account is required. The Authorization field is constructed as follows: The user name and password are combined into a string separated by a colon, for example `username:password`. The resulting string is encoded using the RFC2045-MIME variant of Base64, except not limited to 76 char/line. The authorization method and a space, "Basic ", is then put before the encoded string. For example: `Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l` |

### Success Response

| Status | Description |
|---|---|
| 200 | On success, the HTTP status code in the response header is 200 (OK). The response body contains an array of strings with the font names, in alphabetical order. A name has at most 31 characters, so a longer one is cut off (`Fira Sans Extra Condensed Mediu`), and four names end with a space (`"Pompiere "`, `"Raleway Dots "`, `"Sue Ellen Francisco "`, `"Vidaloka "`), which the PHP SDK trims. |

### Error Response

| Status | Description |
|---|---|
| 403 | A 403 (Forbidden) is returned, if the user is not authorized. |
| 405 | A 405 (Method Not Allowed) is returned, if the request uses another HTTP method than GET. The Allow header of the response names GET. |
| 500 | A 500 (Internal Server Error) is returned, if the request has no Authorization header, an empty one or one that is not the authorization method, a space and the credentials. |

---

## Nearby

- **Previous:** [/v1/fonts/list](https://docs.textcontrol.com/reporting-cloud/reference/web-api/fonts/list/llms-full.txt)
- **Next:** [Proofing](https://docs.textcontrol.com/reporting-cloud/reference/web-api/proofing/llms-full.txt)
