Dictionaries API
Create organization-scoped replacement rules and apply them to DIVE or FRTTS synthesis requests.
Create dictionary
Creates a dictionary with an empty entries object.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1Authentication and headers
Store API keys in server environment variables and send them only in request headers.
X-API-Key: {YOUR_API_KEY}
Content-Type: application/jsonRequest fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Required | Dictionary name. 1–100 characters |
description | string | Optional | Description. Up to 500 characters |
caseSensitive | boolean | Optional | Whether English replacements are case-sensitive. Default true |
Request example
{
"name": "Product pronunciations",
"description": "Brand and product replacement rules",
"caseSensitive": true
}Response
Created
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Required | ID of the created dictionary. |
{
"id": "550e8400-e29b-41d4-a716-446655440000"
}E4201 · Invalid JSON or field type
The body is not a JSON object, or name, description, or caseSensitive has the wrong type.
E5002 · Dictionary DB/RPC temporarily unavailable
The plan check, dictionary count lookup, or dictionary storage DB/RPC is temporarily unavailable.
List dictionaries
Lists the organization's active dictionaries in creation order.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1Authentication and headers
Store API keys in server environment variables and send them only in request headers.
X-API-Key: {YOUR_API_KEY}Response
List response
| Field | Type | Required | Description |
|---|---|---|---|
dictionaries | object[] | Required | List of id, name, description, and caseSensitive values. |
{
"dictionaries": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Product pronunciations",
"description": "Brand and product replacement rules",
"caseSensitive": true
}
]
}E5002 · Dictionary DB temporarily unavailable
The dictionary list database is temporarily unavailable.
Get dictionary
Gets one dictionary, including its entries.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}Authentication and headers
Store API keys in server environment variables and send them only in request headers.
X-API-Key: {YOUR_API_KEY}Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Required | Dictionary ID to retrieve. |
Response
Dictionary response
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Required | Dictionary ID. |
name | string | Required | Dictionary name. |
description | string | null | Optional | Description. |
entries | Record<string, string> | Required | Source and replacement text pairs. |
caseSensitive | boolean | Required | Whether matching is case-sensitive. |
createdAt | ISO 8601 | Required | Creation timestamp. |
updatedAt | ISO 8601 | Required | Last-updated timestamp. |
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Product pronunciations",
"description": null,
"entries": { "API": "A P I" },
"caseSensitive": true,
"createdAt": "2026-07-28T00:00:00.000Z",
"updatedAt": "2026-07-28T00:00:00.000Z"
}E4301 · Dictionary not found or inaccessible
The dictionary does not exist in this organization or belongs to another organization.
E5002 · Dictionary DB/RPC temporarily unavailable
The dictionary lookup DB/RPC is temporarily unavailable.
Update dictionary
Updates only the supplied fields; at least one field is required.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}Authentication and headers
Store API keys in server environment variables and send them only in request headers.
X-API-Key: {YOUR_API_KEY}
Content-Type: application/jsonPath parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Required | Dictionary ID to update. |
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Optional | New name. 1–100 characters |
description | string | Optional | New description. Up to 500 characters |
caseSensitive | boolean | Optional | New case-sensitivity setting. |
entries | Record<string, string> | Optional | Complete replacement-rules object. Each key and value is at most 100 characters; entry count is plan-limited |
Request example
{
"entries": {
"API": "A P I",
"Humelo": "Humelo"
}
}Response
Updated
The response body is empty.
E4201 · Invalid JSON or field type
The body is not a JSON object, or name, description, caseSensitive, or entries has the wrong type. Whitespace-only names and entry keys or values are rejected, and the string "false" is not coerced to boolean false. Rejected requests do not modify the database row.
E4301 · Dictionary not found or inaccessible
The dictionary does not exist in this organization or belongs to another organization.
E5002 · Dictionary DB/RPC temporarily unavailable
The ownership check, plan-limit check, or dictionary storage DB/RPC is temporarily unavailable.
Delete dictionary
Deletes a dictionary owned by the organization.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}Authentication and headers
Store API keys in server environment variables and send them only in request headers.
X-API-Key: {YOUR_API_KEY}Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Required | Dictionary ID to delete. |
Response
Deleted
The response body is empty.
E4301 · Dictionary not found or inaccessible
The dictionary does not exist in this organization or belongs to another organization.
E5002 · Dictionary DB temporarily unavailable
The ownership check or dictionary deletion database is temporarily unavailable.