> ## 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.

The Rime API authenticates every request 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 endpoint returns the words in your input that are absent from Rime's pronunciation dictionary. Uncovered words are still synthesized using the model's predicted pronunciation, but brand names, technical terms, and names should be verified before production use.

Dictionary additions typically take about a week. Contact your account manager through Slack or email, or write to [sales@rime.ai](mailto:sales@rime.ai), if you need a different turnaround or have an SLA. For immediate Mist-family control (v1, v2, or English v3), [generate a custom pronunciation](/docs/custom-pronunciation) by hand or from a recording with the [Phonemize API](/api-reference/other/phonemize).

## 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>
  One or more words to check against Rime's pronunciation dictionary. Separate words with 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>
