Skip to main content
POST
Publish a version
Each version holds the complete, ordered rule list; send every rule you want in the new version, not only the changes. Published versions never change, so TTS requests pinned to an older version keep using its rules. Set expected_latest_version_id to the dictionary’s current latest_version_id, or null for the first version. If another version was published in the meantime, the request returns 409. Fetch the new latest version, merge its rules with your changes, and publish again with its ID; resending your original list would drop the other publisher’s changes. For the rule fields, rule types and limits, see Write Pronunciation Rules.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

dictionary_id
string
required

Body

application/json
expected_latest_version_id
string | null

Optimistic-concurrency guard: the latest version ID the caller believes is current, or null for the first publish. A mismatch returns 409.

Example:

"1c3e5a7b9d0f4a2c8e6b4d1f3a5c7e9b"

description
string
default:""

Optional version note (up to 1024 characters).

Maximum string length: 1024
Example:

"Add the new product names"

items
PronunciationDictionaryItemPayload · object[]

Complete ordered rule list for the new version (up to 5000 rules). Keys must be unique within the version; order is the engine's application order.

Maximum array length: 5000

Response

Document created, URL follows

A version with its full ordered rule list.

id
string
required

Stable version identifier.

Example:

"1c3e5a7b9d0f4a2c8e6b4d1f3a5c7e9b"

dictionary_id
string
required

Dictionary this version belongs to.

Example:

"9b2f5c0d4e6a4f4c8a1d3e5f7a9b0c2d"

description
string
required

Version note entered when publishing.

Example:

"Add the new product names"

created_at
string<date-time>
required

Publish time (UTC).

Example:

"2026-11-05T04:02:44Z"

items
PronunciationDictionaryV1Item · object[]
required

Rules in application order.

version_number
integer | null

Monotonic version number within the dictionary. Null only for versions published before version numbers existed.

Example:

3

added_count
integer
default:0

Rules added relative to the previous version.

Example:

2

removed_count
integer
default:0

Rules removed relative to the previous version.

Example:

0

changed_count
integer
default:0

Rules whose key, value, type or case sensitivity changed.

Example:

1

item_count
integer
default:0

Total number of rules in this version.

Example:

12