> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Coverage

> Coverage endpoint: check which input words are not yet in Rime's pronunciation dictionary.

All requests require authentication with a bearer token in the `Authorization` header: `Authorization: Bearer YOUR_API_KEY`. See [API authentication](/docs/api-authentication) for how to create a key.

## Overview

This API endpoint allows you to determine which words are included in the Rime dictionary out of the box.

We can add new words to our dictionary as needed in about a week — reach out to your account manager via Slack or email, or contact [sales@rime.ai](mailto:sales@rime.ai), if you need faster turnaround or have an SLA. Or you can immediately [generate a custom pronunciation](/docs/custom-pronunciation), which uses the [Rime phonetic alphabet](/platform/rime-phonetic-alphabet) — write it by hand, or create one from a recording with the [Phonemize API](/api-reference/other/phonemize).

If a word is not in our dictionary, our TTS model will still attempt a pronunciation, which is often suitable if the spelling follows typical linguistic patterns.

## Example

A request takes only the string `text`, for example:

```bash theme={null}
curl -X POST https://users.rime.ai/oov \
     -H 'Authorization: Bearer <authorization>' \
     -d '{"text": "This is just a testt. This, is, also, a, testtt"}';
```

The response will include an array with any strings not covered by the current Rime dictionary:

```bash theme={null}
["testt","testtt"]
```

## Variable Parameters

<ParamField body="text" type="string" required>
  A string one or more words you'd like to check for coverage in our dictionary. Words can be separated by spaces, commas, or newlines.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://users.rime.ai/oov \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --fail \
    --data '{
    "text": "<string>"
  }'
  ```

  ```python Python theme={null}
  import requests

  url = "https://users.rime.ai/oov"

  payload = {
      "text": "<string>"
  }
  headers = {
      "Accept": "application/json",
      "Authorization": "Bearer <authorization>",
      "Content-Type": "application/json"
  }

  response = requests.request("POST", url, json=payload, headers=headers)

  print(response.text)
  ```

  ```javascript JavaScript theme={null}
  const options = {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      Authorization: 'Bearer <authorization>',
      'Content-Type': 'application/json'
    },
    body: '{"text":"<string>"}'
  };

  fetch('https://users.rime.ai/oov', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
  ```

  ```php PHP theme={null}
  <?php

  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://users.rime.ai/oov",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "{\n  \"text\": \"<string>\"\n}",
    CURLOPT_HTTPHEADER => [
      "Accept: application/json",
      "Authorization: Bearer <authorization>",
      "Content-Type: application/json"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```go Go theme={null}
  package main

  import (
    "fmt"
    "strings"
    "net/http"
    "io/ioutil"
  )

  func main() {

    url := "https://users.rime.ai/oov"

    payload := strings.NewReader("{\n  \"text\": \"<string>\"\n}")

    req, _ := http.NewRequest("POST", url, payload)

    req.Header.Add("Accept", "application/json")
    req.Header.Add("Authorization", "Bearer <authorization>")
    req.Header.Add("Content-Type", "application/json")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

  }
  ```

  ```java Java theme={null}
  HttpResponse<String> response = Unirest.post("https://users.rime.ai/oov")
    .header("Accept", "application/json")
    .header("Authorization", "Bearer <authorization>")
    .header("Content-Type", "application/json")
    .body("{\n  \"text\": \"<string>\"\n}")
    .asString();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 — words not in dictionary theme={null}
  ["testt", "testtt"]
  ```

  ```json 200 — all words covered theme={null}
  []
  ```
</ResponseExample>
