From 2a4e8107e4a9c3b43703c609b91c4e6929192e37 Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 19 Jun 2026 15:33:36 +0100 Subject: [PATCH 1/6] Add global.rt.speechmatics.com to Realtime endpoints docs (DEL-33496) --- docs/api-ref/realtime-transcription-websocket.mdx | 4 ++++ docs/get-started/authentication.mdx | 15 +++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/api-ref/realtime-transcription-websocket.mdx b/docs/api-ref/realtime-transcription-websocket.mdx index b8e6da37..4b1807cd 100644 --- a/docs/api-ref/realtime-transcription-websocket.mdx +++ b/docs/api-ref/realtime-transcription-websocket.mdx @@ -23,6 +23,10 @@ import realtimeSchema from "!asyncapi-schema-loader!@site/spec/realtime.yaml";

wss://eu.rt.speechmatics.com/v2/

+:::info +You can also connect to `wss://global.rt.speechmatics.com/v2/`, which automatically routes to the lowest-latency region. Customers with data residency requirements should use a regional endpoint (`eu.rt` / `us.rt`) instead. See [Supported endpoints](/get-started/authentication#supported-endpoints). +::: + ## Protocol overview A basic Realtime session will have the following message exchanges: diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index 7a0bf6ec..591b6d79 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -87,10 +87,17 @@ The EU2 and US2 Batch SaaS endpoints are provided for enterprise customer high a Speechmatics Realtime SaaS supports the following endpoints for production use: -| Customer type | Region | Endpoint | -| ------------- | ------------ | ---------------------- | -| All | EU1 (Europe) | eu.rt.speechmatics.com | -| All | US1 (USA) | us.rt.speechmatics.com | +| Customer type | Region | Endpoint | +| ------------- | ----------------------- | -------------------------- | +| All | Global (lowest-latency) | global.rt.speechmatics.com | +| All | EU1 (Europe) | eu.rt.speechmatics.com | +| All | US1 (USA) | us.rt.speechmatics.com | + +`global.rt.speechmatics.com` automatically routes each connection to the lowest-latency region, so you do not have to choose one. The regional endpoints remain available if you want to pin to a specific region. + +:::warning +`global.rt.speechmatics.com` may route a connection to any region. If you have data residency or compliance requirements, use a regional endpoint (`eu.rt.speechmatics.com` or `us.rt.speechmatics.com`) instead. +::: From 349faae8e6778e81697831babc99d617599fdd24 Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 26 Jun 2026 15:51:14 +0100 Subject: [PATCH 2/6] Address PR review comments (DEL-33496) --- docs/api-ref/realtime-transcription-websocket.mdx | 2 +- docs/get-started/authentication.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api-ref/realtime-transcription-websocket.mdx b/docs/api-ref/realtime-transcription-websocket.mdx index 4b1807cd..f2bb7fa6 100644 --- a/docs/api-ref/realtime-transcription-websocket.mdx +++ b/docs/api-ref/realtime-transcription-websocket.mdx @@ -24,7 +24,7 @@ import realtimeSchema from "!asyncapi-schema-loader!@site/spec/realtime.yaml"; :::info -You can also connect to `wss://global.rt.speechmatics.com/v2/`, which automatically routes to the lowest-latency region. Customers with data residency requirements should use a regional endpoint (`eu.rt` / `us.rt`) instead. See [Supported endpoints](/get-started/authentication#supported-endpoints). +You can also connect to `wss://global.rt.speechmatics.com/v2/`, which automatically routes to the lowest-latency region. See [Supported endpoints](/get-started/authentication#supported-endpoints). ::: ## Protocol overview diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index 591b6d79..e2a3838d 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -89,7 +89,7 @@ Speechmatics Realtime SaaS supports the following endpoints for production use: | Customer type | Region | Endpoint | | ------------- | ----------------------- | -------------------------- | -| All | Global (lowest-latency) | global.rt.speechmatics.com | +| All | Global | global.rt.speechmatics.com | | All | EU1 (Europe) | eu.rt.speechmatics.com | | All | US1 (USA) | us.rt.speechmatics.com | From be97a3efe4ee631e8e12b3cdfc6405aa5e453158 Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 3 Jul 2026 11:11:53 +0100 Subject: [PATCH 3/6] Note RT temp keys work cross-region; correct Batch region param (DEL-33644) --- docs/get-started/authentication.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index e2a3838d..0fb950f9 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -156,6 +156,8 @@ curl -X GET "https://eu1.asr.api.speechmatics.com/v2/jobs/" \ For Realtime transcription, temporary keys allow the end-user to start a websocket connection with Speechmatics directly, without exposing your long-lived API key. This will reduce the latency of transcription, as well as development effort. +A Realtime temporary key is not tied to a region. The same key works with any Realtime endpoint, including `global.rt.speechmatics.com`. + The example request below will create a temporary key which can be used to start any number of Realtime transcription settings for 60 seconds: ```bash @@ -184,7 +186,7 @@ Note that when starting a Realtime transcription session in the browser, you mus |--------------|-----------|----------------------------------------------------------- | `ttl` | Yes | Integer: 60-86400. The temporary key's time to live in seconds. **Note** We suggest using the shortest TTL possible to minimise security risks. | `client_ref` | No | String. When provided, `batch` tokens can only create and retrieve jobs with that reference; without it, they can access any job. **Must** be set when temporary keys are exposed to end-users to prevent accessing another user's data. `client_ref` is ignored when requesting `rt` tokens. -| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Defines the region where the temporary key is valid. +| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Accepted for backward compatibility; temporary keys are no longer scoped to a region. ## Next steps From 83fc53d6f422545f8255b56a5d92335e1b3cfb65 Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 3 Jul 2026 11:47:16 +0100 Subject: [PATCH 4/6] Address PR review: region scoping, table labels, WebSocket casing (DEL-33644) --- docs/get-started/authentication.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index 0fb950f9..c554989b 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -34,7 +34,7 @@ curl -X GET "https://eu1.asr.api.speechmatics.com/v2/jobs/" \ -For server-side calls, your API key must be provided in the header of the [Websocket connection request](/api-ref/realtime-transcription-websocket#handshake-responses). For example: +For server-side calls, your API key must be provided in the header of the [WebSocket connection request](/api-ref/realtime-transcription-websocket#handshake-responses). For example: ```bash GET /v2/ HTTP/1.1 Host: eu.rt.speechmatics.com @@ -43,7 +43,7 @@ Connection: Upgrade Authorization: Bearer YOUR_API_KEY User-Agent: Python/3.8 websockets/8.1 ``` -For client-side calls, we recommend using [temporary keys](#temporary-keys) (JWTs) to authenticate your requests. These can be passed as a query param to the [Websocket connection request](/api-ref/realtime-transcription-websocket#handshake-responses) URL. For example: +For client-side calls, we recommend using [temporary keys](#temporary-keys) (JWTs) to authenticate your requests. These can be passed as a query param to the [WebSocket connection request](/api-ref/realtime-transcription-websocket#handshake-responses) URL. For example: ```bash wss://eu.rt.speechmatics.com/v2?jwt=$TEMP_KEY @@ -87,11 +87,11 @@ The EU2 and US2 Batch SaaS endpoints are provided for enterprise customer high a Speechmatics Realtime SaaS supports the following endpoints for production use: -| Customer type | Region | Endpoint | -| ------------- | ----------------------- | -------------------------- | -| All | Global | global.rt.speechmatics.com | -| All | EU1 (Europe) | eu.rt.speechmatics.com | -| All | US1 (USA) | us.rt.speechmatics.com | +| Customer type | Region | Endpoint | +| ------------- | ------------ | ------------------------------ | +| All | All regions | **global.rt.speechmatics.com** | +| All | EU1 (Europe) | **eu.rt.speechmatics.com** | +| All | US1 (USA) | **us.rt.speechmatics.com** | `global.rt.speechmatics.com` automatically routes each connection to the lowest-latency region, so you do not have to choose one. The regional endpoints remain available if you want to pin to a specific region. @@ -154,7 +154,7 @@ curl -X GET "https://eu1.asr.api.speechmatics.com/v2/jobs/" \ -For Realtime transcription, temporary keys allow the end-user to start a websocket connection with Speechmatics directly, without exposing your long-lived API key. This will reduce the latency of transcription, as well as development effort. +For Realtime transcription, temporary keys allow the end-user to start a WebSocket connection with Speechmatics directly, without exposing your long-lived API key. This will reduce the latency of transcription, as well as development effort. A Realtime temporary key is not tied to a region. The same key works with any Realtime endpoint, including `global.rt.speechmatics.com`. @@ -186,7 +186,7 @@ Note that when starting a Realtime transcription session in the browser, you mus |--------------|-----------|----------------------------------------------------------- | `ttl` | Yes | Integer: 60-86400. The temporary key's time to live in seconds. **Note** We suggest using the shortest TTL possible to minimise security risks. | `client_ref` | No | String. When provided, `batch` tokens can only create and retrieve jobs with that reference; without it, they can access any job. **Must** be set when temporary keys are exposed to end-users to prevent accessing another user's data. `client_ref` is ignored when requesting `rt` tokens. -| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Accepted for backward compatibility; temporary keys are no longer scoped to a region. +| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Accepted for backward compatibility; the key is no longer scoped to a region. Batch jobs are still created in the region of the endpoint used. ## Next steps From c0287895f2ce54e9e970af36d52d6bf0330715ac Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 3 Jul 2026 12:19:44 +0100 Subject: [PATCH 5/6] Trim region param note (DEL-33644) --- docs/get-started/authentication.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index c554989b..3ea49eb8 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -186,7 +186,7 @@ Note that when starting a Realtime transcription session in the browser, you mus |--------------|-----------|----------------------------------------------------------- | `ttl` | Yes | Integer: 60-86400. The temporary key's time to live in seconds. **Note** We suggest using the shortest TTL possible to minimise security risks. | `client_ref` | No | String. When provided, `batch` tokens can only create and retrieve jobs with that reference; without it, they can access any job. **Must** be set when temporary keys are exposed to end-users to prevent accessing another user's data. `client_ref` is ignored when requesting `rt` tokens. -| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Accepted for backward compatibility; the key is no longer scoped to a region. Batch jobs are still created in the region of the endpoint used. +| `region` | No | String: `eu` (default), `usa`, or `au` (Batch transcription only). Accepted for backward compatibility; the key is no longer scoped to a region. ## Next steps From da6a406d6ddf9ab1f400b9f3945aa8510b59239f Mon Sep 17 00:00:00 2001 From: Jimmy Jose Pulikkan Date: Fri, 3 Jul 2026 15:13:45 +0100 Subject: [PATCH 6/6] Address review: drop RT Customer type column, reword routing note (DEL-33644) --- docs/api-ref/realtime-transcription-websocket.mdx | 2 +- docs/get-started/authentication.mdx | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/api-ref/realtime-transcription-websocket.mdx b/docs/api-ref/realtime-transcription-websocket.mdx index f2bb7fa6..6a5bb40d 100644 --- a/docs/api-ref/realtime-transcription-websocket.mdx +++ b/docs/api-ref/realtime-transcription-websocket.mdx @@ -24,7 +24,7 @@ import realtimeSchema from "!asyncapi-schema-loader!@site/spec/realtime.yaml"; :::info -You can also connect to `wss://global.rt.speechmatics.com/v2/`, which automatically routes to the lowest-latency region. See [Supported endpoints](/get-started/authentication#supported-endpoints). +You can either pin to a specific region for data residency or connect to `wss://global.rt.speechmatics.com/v2/`, which automatically routes each connection to the nearest region for lowest latency. See [Supported endpoints](/get-started/authentication#supported-endpoints). ::: ## Protocol overview diff --git a/docs/get-started/authentication.mdx b/docs/get-started/authentication.mdx index 3ea49eb8..6b3b303c 100644 --- a/docs/get-started/authentication.mdx +++ b/docs/get-started/authentication.mdx @@ -87,13 +87,13 @@ The EU2 and US2 Batch SaaS endpoints are provided for enterprise customer high a Speechmatics Realtime SaaS supports the following endpoints for production use: -| Customer type | Region | Endpoint | -| ------------- | ------------ | ------------------------------ | -| All | All regions | **global.rt.speechmatics.com** | -| All | EU1 (Europe) | **eu.rt.speechmatics.com** | -| All | US1 (USA) | **us.rt.speechmatics.com** | +| Region | Endpoint | +| ------------ | ------------------------------ | +| All regions | **global.rt.speechmatics.com** | +| EU1 (Europe) | **eu.rt.speechmatics.com** | +| US1 (USA) | **us.rt.speechmatics.com** | -`global.rt.speechmatics.com` automatically routes each connection to the lowest-latency region, so you do not have to choose one. The regional endpoints remain available if you want to pin to a specific region. +`global.rt.speechmatics.com` automatically routes each connection to the nearest region for lowest latency, so you don't have to select one. The regional endpoints remain available if you want to pin to a specific region. :::warning `global.rt.speechmatics.com` may route a connection to any region. If you have data residency or compliance requirements, use a regional endpoint (`eu.rt.speechmatics.com` or `us.rt.speechmatics.com`) instead.