Class: SanctionManager
Manages sanctions for a project.
Constructors
new SanctionManager()
Internal
Parameters
| Parameter | Type |
|---|---|
ctx | ClientContext |
projectId | string |
Returns
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:31
Methods
create()
Create a new sanction
Parameters
| Parameter | Type | Description |
|---|---|---|
body | object | Sanction creation payload |
body.endAt? | string | Description When the sanction ends (null = permanent) Example 2024-01-15T11:00:00Z |
body.externalUserId? | string | Description External user ID from ODIN (for cross-session sanctions) Example user_abc123 |
body.gatheringId? | string | Description Gathering (lobby) the sanction was issued in, so a game can list the sanctions of one lobby Example 550e8400-e29b-41d4-a716-446655440002 |
body.metadata? | object | Description Additional metadata (evidence, AI confidence, etc.) Example { * "confidence": 0.95, * "triggeredBy": "profanity_filter" * } |
body.participantId? | string | Description Participant ID to sanction (for session-scoped sanctions) Example 550e8400-e29b-41d4-a716-446655440000 |
body.reason? | string | Description Reason for the sanction Example Repeated use of profanity detected by automated filter |
body.scope? | object | Description Scope configuration for channel-specific sanctions Example { * "channels": [ * "team", * "proximity" * ] * } |
body.sessionId? | string | Description Session ID (for session-scoped sanctions) Example 550e8400-e29b-41d4-a716-446655440001 |
body.startAt? | string | Description When the sanction starts (defaults to now) Example 2024-01-15T10:00:00Z |
body.type | | "warn" | "mute" | "listen_only" | "text_only" | "rate_limit" | "shadow_mute" | "temp_ban" | "perm_ban" | "ranked_restriction" | "queue_delay" | "party_restriction" | "human_review" | Description Type of sanction to apply Example mute @enum {string} |
Returns
Promise<Sanction>
Live Sanction object
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:57
get()
Get a sanction by ID
Parameters
| Parameter | Type | Description |
|---|---|---|
sanctionId | string | Sanction ID |
Returns
Promise<Sanction>
Live Sanction object
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:71
getActive()
Get active sanctions for a user
Parameters
| Parameter | Type | Description |
|---|---|---|
externalUserId | string | External user ID from ODIN |
query? | object | Optional filter by sanction type |
query.type? | | "warn" | "mute" | "listen_only" | "text_only" | "rate_limit" | "shadow_mute" | "temp_ban" | "perm_ban" | "ranked_restriction" | "queue_delay" | "party_restriction" | "human_review" | Description Filter by specific sanction type |
Returns
Promise<object[]>
Array of active sanctions
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:114
getByParticipant()
Get all sanctions for a participant
Parameters
| Parameter | Type | Description |
|---|---|---|
participantId | string | Participant ID |
Returns
Promise<object[]>
Array of sanctions
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:99
getByUser()
Get all sanctions for a user by external user ID
Parameters
| Parameter | Type | Description |
|---|---|---|
externalUserId | string | External user ID from ODIN |
Returns
Promise<object[]>
Array of sanctions
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:85
list()
List sanctions for this project
Parameters
| Parameter | Type | Description |
|---|---|---|
query? | object | Optional filters (type, activeOnly, participantIds, externalUserId, sessionId, gatheringId, limit, offset). participantIds checks a whole lobby in one request. |
query.activeOnly? | boolean | Description Filter to only active sanctions |
query.externalUserId? | string | Description Only sanctions of this external user ID |
query.gatheringId? | string | Description Only sanctions issued in this gathering |
query.limit? | number | Description Pagination limit (max 200) |
query.offset? | number | Description Pagination offset |
query.participantIds? | string[] | Description Only sanctions of these participants (comma-separated or repeated). Lets a game check a whole lobby in one request. |
query.sessionId? | string | Description Only sanctions scoped to this session |
query.type? | | "warn" | "mute" | "listen_only" | "text_only" | "rate_limit" | "shadow_mute" | "temp_ban" | "perm_ban" | "ranked_restriction" | "queue_delay" | "party_restriction" | "human_review" | Description Filter by sanction type |
Returns
Promise<object>
Sanctions list with the total number of matches
| Name | Type | Description | Defined in |
|---|---|---|---|
sanctions | object[] | Description List of sanctions | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4468 |
total | number | Description Total count (for pagination) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4470 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:43
watch()
watch()
Live-subscribe to sanctions. With no argument, watches the whole collection; with a sanction ID, watches that single sanction. A revoked sanction stays in the collection with an updated status (it is not removed).
Returns
CollectionSubscription<object>
A CollectionSubscription (no id) or DocumentSubscription (with id)
| Name | Type | Description | Defined in |
|---|---|---|---|
createdAt | string | Format: date-time Description Creation timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4446 |
createdByUserId? | string | Description User who created the sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4441 |
endAt? | string | Format: date-time Description When sanction expires (null = permanent) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4439 |
externalUserId? | string | Description External user ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4410 |
gatheringId? | string | Description Gathering the sanction was issued in (if any) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4414 |
id | string | Description Sanction ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4402 |
isActive | boolean | Description Whether the sanction is currently active | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4460 |
metadata? | object | Description Additional metadata | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4427 |
participant? | object | Description Participant information (if available) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4464 |
participant.displayName | string | Description Display name of the participant | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4387 |
participant.externalUserId | string | Description External user ID from ODIN | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4389 |
participant.id | string | Description Participant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4383 |
participant.joinedAt? | string | Format: date-time Description When the participant first joined the project | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4398 |
participant.projectId | string | Description ODIN project ID this participant belongs to | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4385 |
participant.userData? | object | Description User data from ODIN (parsed JSON) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4391 |
participantId? | string | Description Participant ID (if session-scoped) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4408 |
projectId | string | Description Project the sanction belongs to | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4406 |
reason? | string | Description Reason for sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4425 |
revokedAt? | string | Format: date-time Description When sanction was revoked | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4456 |
revokedByUserId? | string | Description User who revoked the sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4458 |
scope? | object | Description Scope configuration | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4421 |
sessionId? | string | Description Session ID (if session-scoped) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4412 |
startAt | string | Format: date-time Description When sanction becomes active | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4434 |
status | string | Description Status: active, expired, or revoked | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4462 |
tenantId | string | Description Tenant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4404 |
type | | "warn" | "mute" | "listen_only" | "text_only" | "rate_limit" | "shadow_mute" | "temp_ban" | "perm_ban" | "ranked_restriction" | "queue_delay" | "party_restriction" | "human_review" | Description Type of sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4419 |
updatedAt | string | Format: date-time Description Last update timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4451 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:129
watch(sanctionId)
Parameters
| Parameter | Type |
|---|---|
sanctionId | string |
Returns
DocumentSubscription<object>
| Name | Type | Description | Defined in |
|---|---|---|---|
createdAt | string | Format: date-time Description Creation timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4446 |
createdByUserId? | string | Description User who created the sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4441 |
endAt? | string | Format: date-time Description When sanction expires (null = permanent) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4439 |
externalUserId? | string | Description External user ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4410 |
gatheringId? | string | Description Gathering the sanction was issued in (if any) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4414 |
id | string | Description Sanction ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4402 |
isActive | boolean | Description Whether the sanction is currently active | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4460 |
metadata? | object | Description Additional metadata | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4427 |
participant? | object | Description Participant information (if available) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4464 |
participant.displayName | string | Description Display name of the participant | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4387 |
participant.externalUserId | string | Description External user ID from ODIN | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4389 |
participant.id | string | Description Participant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4383 |
participant.joinedAt? | string | Format: date-time Description When the participant first joined the project | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4398 |
participant.projectId | string | Description ODIN project ID this participant belongs to | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4385 |
participant.userData? | object | Description User data from ODIN (parsed JSON) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4391 |
participantId? | string | Description Participant ID (if session-scoped) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4408 |
projectId | string | Description Project the sanction belongs to | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4406 |
reason? | string | Description Reason for sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4425 |
revokedAt? | string | Format: date-time Description When sanction was revoked | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4456 |
revokedByUserId? | string | Description User who revoked the sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4458 |
scope? | object | Description Scope configuration | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4421 |
sessionId? | string | Description Session ID (if session-scoped) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4412 |
startAt | string | Format: date-time Description When sanction becomes active | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4434 |
status | string | Description Status: active, expired, or revoked | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4462 |
tenantId | string | Description Tenant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4404 |
type | | "warn" | "mute" | "listen_only" | "text_only" | "rate_limit" | "shadow_mute" | "temp_ban" | "perm_ban" | "ranked_restriction" | "queue_delay" | "party_restriction" | "human_review" | Description Type of sanction | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4419 |
updatedAt | string | Format: date-time Description Last update timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:4451 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/sanctions.ts:130