Skip to main content

Class: ProjectSettingsManager

Manages settings for a project.

Constructors​

new ProjectSettingsManager()​

new ProjectSettingsManager(ctx, projectId): ProjectSettingsManager

Internal

Parameters​

ParameterType
ctxClientContext
projectIdstring

Returns​

ProjectSettingsManager

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:43

Methods​

delete()​

delete(): Promise<void>

Delete project settings

Returns​

Promise<void>

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:107


get()​

get(): Promise<object>

Get project settings

Returns​

Promise<object>

Project settings

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:52


getSecret()​

getSecret(): Promise<null | string>

Read the project secret in plaintext.

The secret is the shared key for HMAC-SHA256 authentication against the event ingest endpoint (it is what projectSecret in the client config signs with). Cortex caches it encrypted and decrypts on read, so this is the only way to recover the value for display or copying.

Returns​

Promise<null | string>

The decrypted secret, or null when none is cached — call syncSecret to fetch one from the Payment system

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:248


revokeSecret()​

revokeSecret(): Promise<boolean>

Clear the cached project secret.

Any integration still signing requests with the old value stops authenticating, so pair this with syncSecret after rotating the secret upstream rather than leaving the project without one.

Returns​

Promise<boolean>

Whether a secret was present and removed

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:285


syncSecret()​

syncSecret(): Promise<boolean>

Pull the project secret from the Payment system into Cortex's encrypted cache.

Cortex fetches it server-side using the caller's session, so the secret never travels through the browser. Run this when a project has no cached secret yet, or after the secret was rotated upstream.

Returns​

Promise<boolean>

Whether a secret was fetched and stored

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:267


update()​

update(body): Promise<object>

Partially update project settings.

Only the fields you pass are changed; everything else (provider config, secret, other flags) is preserved. Use this to tweak a single setting — e.g. the bot peer userData, or the ODIN SDK major (odinSdkVersion) the bot joins rooms with — without first reading the current settings or re-supplying the provider configuration.

Parameters​

ParameterTypeDescription
bodyobjectPartial settings to merge
body.accessKeyConfig?objectDescription Access Key config (required for access_key provider)
body.accessKeyConfig.accessKeystringDescription ODIN Access Key Example AK...
body.accessKeyConfig.botUserIdstringDescription Bot User ID Example transcription-bot
body.announcementJoinText?stringDescription Text spoken when the bot joins the room Example This conversation is now being recorded and transcribed.
body.announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the room Example Recording and transcription have stopped.
body.announcementsEnabled?booleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room.
body.botUserData?objectDescription Bot peer userData as JSON Example { * "name": "Transcription Bot", * "role": "bot" * }
body.debugAudioEnabled?booleanDescription Enable debug audio storage for transcription debugging (auto-deleted after 24h). Defaults to false when omitted.
body.e2eEncryptionMode?"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot
body.e2eEncryptionPassword?stringDescription Manual cipher password (only used when mode=manual). Stored encrypted at rest.
body.odinSdkVersion?"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with. Must match the SDK major used by the project's client applications (v1 = ODIN 1.x, v2 = ODIN 2.x — the two are not interoperable).
body.sanctionPush?booleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room.
body.tokenProviderType?"access_key" | "webservice" | "rooms"Description Token provider type
body.transcriptPush?"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room.
body.webserviceConfig?objectDescription Webservice config (required for webservice provider)
body.webserviceConfig.bodyTemplate?stringDescription Request body template with {{roomId}} placeholder Example {"roomId": "{{roomId}}"}
body.webserviceConfig.headers?objectDescription HTTP headers Example { * "Authorization": "Bearer xxx" * }
body.webserviceConfig.method"GET" | "POST"Description HTTP method Example POST @enum {string}
body.webserviceConfig.responseTokenPathstringDescription JSONPath to extract token from response Example data.token
body.webserviceConfig.urlstringDescription Token generation endpoint URL Example https://myserver.com/token

Returns​

Promise<object>

The updated settings

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:95


updateAnnouncements()​

updateAnnouncements(options): Promise<object>

Configure the spoken recording announcement.

The transcription bot speaks a short notice into the room when it joins, and again just before it leaves, so participants know they are being recorded. In many jurisdictions — including the entire EU — recording a conversation without informing every participant is unlawful, so this is enabled by default and should only be switched off if your application obtains consent another way.

Every argument is optional and only the ones you pass are changed, so you can flip the switch without touching your copy, or edit the copy without touching the switch. The text is spoken as written in any language; changes apply to the next session, not to a room the bot is currently in.

Parameters​

ParameterTypeDescription
optionsobjectThe fields to change
options.enabled?booleanWhether the bot announces the recording at all
options.joinText?stringText spoken after joining (max 500 chars, non-blank)
options.leaveText?stringText spoken before leaving (max 500 chars, non-blank)

Returns​

Promise<object>

The updated settings

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:192


updateDebugAudio()​

updateDebugAudio(enabled): Promise<void>

Enable or disable debug audio recording for transcription debugging.

When enabled, the WAV file that was sent to the transcription API is stored alongside each transcribed message and can be downloaded via Session.downloadDebugAudio. Stored recordings are automatically deleted after 24 hours. Use this to diagnose bad transcription results (audio issues, background noise, clipping, etc).

Parameters​

ParameterTypeDescription
enabledbooleantrue to enable debug audio storage, false to disable

Returns​

Promise<void>

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:126


updateE2EEncryption()​

updateE2EEncryption(mode, password?): Promise<object>

Set the bot's end-to-end encryption mode.

Controls how the transcription bot derives the ODIN cipher password it uses to join rooms. This is the dedicated counterpart to setting e2eEncryptionMode/e2eEncryptionPassword through update — it applies the mode's password semantics directly:

  • "manual" — use password as the cipher password. Required on this call unless one is already stored; pass it whenever you want to change it.
  • "automatic" — the bot derives the password automatically; any stored password is cleared. password is ignored.
  • "disabled" — no end-to-end encryption; any stored password is cleared. password is ignored.

Parameters​

ParameterTypeDescription
mode"disabled" | "automatic" | "manual"The encryption mode to apply
password?stringCipher password, used only when mode is "manual"

Returns​

Promise<object>

The updated settings

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:156


updateTranscription()​

updateTranscription(transcriberInstanceId): Promise<object>

Select which transcription provider transcribes the project's rooms.

Pass the id of an installed, enabled transcription plugin instance (a plugin with kind: "audio" and the transcribe capability) — for example openai-transcription configured with your own OpenAI key or an OpenAI-compatible base URL. Minutes transcribed that way are billed by your provider, not by Cortex. Pass null to return to the default Cortex transcription (4Players' key, billed per audio minute).

Running sessions switch within about 30 seconds. Cortex never falls back to the billed default on its own if your provider fails. Test a new instance first with its health plugin endpoint.

Parameters​

ParameterTypeDescription
transcriberInstanceIdnull | stringPlugin instance id, or null for the default

Returns​

Promise<object>

The updated settings (see transcriberInstanceId)

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:225


upsert()​

upsert(body): Promise<object>

Create or update project settings (full payload).

Replaces the configuration — tokenProviderType is required. To change just one field, prefer update.

When configuring a project for ODIN 2.x clients, set odinSdkVersion: "v2" so the transcription bot joins rooms with a compatible SDK major (defaults to "v1" when omitted; the two majors are not interoperable).

Parameters​

ParameterTypeDescription
bodyobjectSettings payload
body.accessKeyConfig?objectDescription Access Key config (required for access_key provider)
body.accessKeyConfig.accessKeystringDescription ODIN Access Key Example AK...
body.accessKeyConfig.botUserIdstringDescription Bot User ID Example transcription-bot
body.announcementJoinText?stringDescription Text spoken when the bot joins the room Example This conversation is now being recorded and transcribed.
body.announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the room Example Recording and transcription have stopped.
body.announcementsEnabled?booleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room. Defaults to true.
body.botUserData?objectDescription Bot peer userData as JSON Example { * "name": "Transcription Bot", * "role": "bot" * }
body.debugAudioEnabled?booleanDescription Enable debug audio storage for transcription debugging (auto-deleted after 24h). Defaults to false when omitted.
body.e2eEncryptionMode?"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot
body.e2eEncryptionPassword?stringDescription Manual cipher password (only used when mode=manual). Stored encrypted at rest.
body.odinSdkVersion?"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with. Must match the SDK major used by the project's client applications (v1 = ODIN 1.x, v2 = ODIN 2.x — the two are not interoperable). Defaults to v1 when omitted.
body.sanctionPush?booleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room.
body.tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider type
body.transcriptPush?"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room.
body.webserviceConfig?objectDescription Webservice config (required for webservice provider)
body.webserviceConfig.bodyTemplate?stringDescription Request body template with {{roomId}} placeholder Example {"roomId": "{{roomId}}"}
body.webserviceConfig.headers?objectDescription HTTP headers Example { * "Authorization": "Bearer xxx" * }
body.webserviceConfig.method"GET" | "POST"Description HTTP method Example POST @enum {string}
body.webserviceConfig.responseTokenPathstringDescription JSONPath to extract token from response Example data.token
body.webserviceConfig.urlstringDescription Token generation endpoint URL Example https://myserver.com/token

Returns​

Promise<object>

Updated settings

NameTypeDescriptionDefined in
announcementJoinText?stringDescription Text spoken when the bot joins the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2890
announcementLeaveText?stringDescription Text spoken immediately before the bot leaves the roomodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2892
announcementsEnabledbooleanDescription Whether the bot speaks a recording announcement when joining and before leaving a room Default trueodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2888
appIdstringDescription App IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2832
botUserData?objectDescription Bot peer userDataodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2858
botUserId?stringDescription Bot User ID (for access_key provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2839
debugAudioEnabledbooleanDescription Whether debug audio storage is enabled for transcription debugging Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2867
e2eEncryptionMode"disabled" | "automatic" | "manual"Description End-to-end encryption mode for the bot Default disabled @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2875
e2eEncryptionPassword?stringDescription Decrypted manual cipher password (only returned when mode=manual). Will be removed once a webhook-based mechanism replaces at-rest storage.odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2877
hasAccessKeybooleanDescription Whether an ODIN access key is stored for this project (the key itself is never returned) Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2856
hasSecretbooleanDescription Whether a project secret is cached locally for HMAC authenticationodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2862
idstringDescription Settings IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2830
odinSdkVersion"v1" | "v2"Description ODIN SDK major the transcription bot joins rooms with (v1 = ODIN 1.x, v2 = ODIN 2.x) Default v1 @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2883
projectName?stringDescription Human-readable project name (synced from Payment system)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2869
sanctionPushbooleanDescription Let the bot tell the room about sanctions (cortex.sanction / cortex.mutes frames) and enforce voice mutes on the receiving side: clients stop hearing a muted peer, and the bot stops transcribing it. Only enable once your clients handle these frames. Defaults to false. Takes effect when the bot next joins a room. Default falseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2903
tokenProviderType"access_key" | "webservice" | "rooms"Description Token provider typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2837
transcriberInstanceIdnull | stringFormat: uuid Description Plugin instance that transcribes this project; null = the default Cortex transcription (billed per minute)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2908
transcriptPush"off" | "all" | "own"Description Push the live transcript into the ODIN room through the bot (Cortex Room Protocol, frame cortex.transcript): off = never (default), all = every segment to every peer, own = each segment only to the peer who spoke it. Takes effect when the bot next joins a room. Default off @enum {string}odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2898
webserviceBodyTemplate?stringDescription Request body template with {{roomId}} placeholderodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2849
webserviceHeaders?objectDescription HTTP headers sent to the token webserviceodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2845
webserviceMethod?stringDescription Webservice methododin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2843
webserviceResponseTokenPath?stringDescription JSONPath used to extract the token from the webservice responseodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2851
webserviceUrl?stringDescription Webservice URL (for webservice provider)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2841

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/settings.ts:74