@opencx/mcp 1.15.86 → 1.15.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deactivate-org-user.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deactivate-org-user.spec.d.ts","sourceRoot":"","sources":["../src/deactivate-org-user.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
+ import { connectInMemory, fetchCallHeaders, fetchCallUrl, toolTextResultSchema, } from './spec-helpers.js';
3
+ describe.each([
4
+ { tool: 'deactivate_org_user', path: 'deactivate' },
5
+ { tool: 'reactivate_org_user', path: 'reactivate' },
6
+ ])('$tool', ({ tool, path }) => {
7
+ let client;
8
+ let cleanup;
9
+ let fetchSpy;
10
+ beforeEach(async () => {
11
+ fetchSpy = vi.fn();
12
+ vi.stubGlobal('fetch', fetchSpy);
13
+ ({ client, cleanup } = await connectInMemory({ coworkerSessionId: 'companion-session' }));
14
+ });
15
+ afterEach(async () => {
16
+ await cleanup();
17
+ vi.unstubAllGlobals();
18
+ });
19
+ it('posts to its own endpoint with caller auth and attribution, never to removal', async () => {
20
+ fetchSpy.mockResolvedValueOnce(new Response(null, { status: 204 }));
21
+ const result = toolTextResultSchema.parse(await client.callTool({ name: tool, arguments: { user_id: 42 } }));
22
+ expect(fetchSpy).toHaveBeenCalledOnce();
23
+ const [call] = fetchSpy.mock.calls;
24
+ if (!call)
25
+ throw new Error('The tool did not call the API');
26
+ expect(fetchCallUrl(call)).toBe(`https://api.test.com/users/42/${path}`);
27
+ const [input, init] = call;
28
+ expect(input instanceof Request ? input.method : init?.method).toBe('POST');
29
+ expect(fetchCallHeaders(call).get('authorization')).toBe('Bearer test-api-key');
30
+ expect(fetchCallHeaders(call).get('x-opencx-coworker-session-id')).toBe('companion-session');
31
+ expect(result.isError ?? false).toBe(false);
32
+ });
33
+ it.each([{}, { user_id: 0 }, { user_id: 1.5 }, { user_id: '42' }])('rejects invalid input %j before calling the API', async (args) => {
34
+ fetchSpy.mockResolvedValueOnce(new Response(null, { status: 204 }));
35
+ const valid = await client.callTool({ name: tool, arguments: { user_id: 42 } });
36
+ expect(valid.isError ?? false).toBe(false);
37
+ expect(fetchSpy).toHaveBeenCalledOnce();
38
+ const result = await client.callTool({ name: tool, arguments: args });
39
+ expect(result.isError).toBe(true);
40
+ expect(fetchSpy).toHaveBeenCalledOnce();
41
+ });
42
+ });
43
+ //# sourceMappingURL=deactivate-org-user.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deactivate-org-user.spec.js","sourceRoot":"","sources":["../src/deactivate-org-user.spec.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -4712,6 +4712,74 @@ export interface paths {
4712
4712
  patch?: never;
4713
4713
  trace?: never;
4714
4714
  };
4715
+ "/team-presets": {
4716
+ parameters: {
4717
+ query?: never;
4718
+ header?: never;
4719
+ path?: never;
4720
+ cookie?: never;
4721
+ };
4722
+ /**
4723
+ * List team presets
4724
+ * @description List the named sets of teams defined for this workspace. Requires teams:read.
4725
+ */
4726
+ get: operations["listTeamPresets"];
4727
+ put?: never;
4728
+ /**
4729
+ * Create a team preset
4730
+ * @description Create a named set of teams. Names are unique in the workspace, ignoring capitalization. Requires teams:write.
4731
+ */
4732
+ post: operations["createTeamPreset"];
4733
+ delete?: never;
4734
+ options?: never;
4735
+ head?: never;
4736
+ patch?: never;
4737
+ trace?: never;
4738
+ };
4739
+ "/team-presets/{presetId}": {
4740
+ parameters: {
4741
+ query?: never;
4742
+ header?: never;
4743
+ path?: never;
4744
+ cookie?: never;
4745
+ };
4746
+ get?: never;
4747
+ put?: never;
4748
+ post?: never;
4749
+ /**
4750
+ * Delete a team preset
4751
+ * @description Delete a preset. Teammates who already received it keep their teams. Requires teams:write.
4752
+ */
4753
+ delete: operations["deleteTeamPreset"];
4754
+ options?: never;
4755
+ head?: never;
4756
+ /**
4757
+ * Update a team preset
4758
+ * @description Rename a preset, replace its list of teams, or both. Omitted fields stay unchanged. Teammates who already received the preset keep their teams. Requires teams:write.
4759
+ */
4760
+ patch: operations["updateTeamPreset"];
4761
+ trace?: never;
4762
+ };
4763
+ "/team-presets/{presetId}/apply": {
4764
+ parameters: {
4765
+ query?: never;
4766
+ header?: never;
4767
+ path?: never;
4768
+ cookie?: never;
4769
+ };
4770
+ get?: never;
4771
+ put?: never;
4772
+ /**
4773
+ * Apply a team preset to a teammate
4774
+ * @description Add a teammate to the preset's teams. Their current teams are kept and no one is removed from a team, so applying twice is harmless. Returns every team in the preset and the ones this call added. Requires teams:write.
4775
+ */
4776
+ post: operations["applyTeamPreset"];
4777
+ delete?: never;
4778
+ options?: never;
4779
+ head?: never;
4780
+ patch?: never;
4781
+ trace?: never;
4782
+ };
4715
4783
  "/training": {
4716
4784
  parameters: {
4717
4785
  query?: never;
@@ -5085,7 +5153,7 @@ export interface paths {
5085
5153
  };
5086
5154
  /**
5087
5155
  * List organization users
5088
- * @description Retrieve users who belong to the organization. Use the optional query to search by name or email.
5156
+ * @description Retrieve users who belong to the organization, including deactivated users (see `status`). Use the optional query to search by name or email.
5089
5157
  */
5090
5158
  get: operations["listOrgUsers"];
5091
5159
  put?: never;
@@ -5120,6 +5188,46 @@ export interface paths {
5120
5188
  patch?: never;
5121
5189
  trace?: never;
5122
5190
  };
5191
+ "/users/{user_id}/deactivate": {
5192
+ parameters: {
5193
+ query?: never;
5194
+ header?: never;
5195
+ path?: never;
5196
+ cookie?: never;
5197
+ };
5198
+ get?: never;
5199
+ put?: never;
5200
+ /**
5201
+ * Deactivate a user in the organization
5202
+ * @description Keep the user's membership but block their access to this organization and clear their roles. Their team memberships, assigned sessions and history stay as they are. A user deactivated in every organization they belong to can no longer sign in. The organization owner cannot be deactivated. Unlike removing a user, this can be undone with the reactivate endpoint.
5203
+ */
5204
+ post: operations["deactivateOrgUser"];
5205
+ delete?: never;
5206
+ options?: never;
5207
+ head?: never;
5208
+ patch?: never;
5209
+ trace?: never;
5210
+ };
5211
+ "/users/{user_id}/reactivate": {
5212
+ parameters: {
5213
+ query?: never;
5214
+ header?: never;
5215
+ path?: never;
5216
+ cookie?: never;
5217
+ };
5218
+ get?: never;
5219
+ put?: never;
5220
+ /**
5221
+ * Reactivate a deactivated user
5222
+ * @description Restore access for a deactivated user. They come back without roles, unless directory role sync manages them, in which case they get their mapped roles. Reactivating an active user changes nothing.
5223
+ */
5224
+ post: operations["reactivateOrgUser"];
5225
+ delete?: never;
5226
+ options?: never;
5227
+ head?: never;
5228
+ patch?: never;
5229
+ trace?: never;
5230
+ };
5123
5231
  "/users/batch-delete": {
5124
5232
  parameters: {
5125
5233
  query?: never;
@@ -8451,6 +8559,17 @@ export interface components {
8451
8559
  userId: number;
8452
8560
  groupId?: string;
8453
8561
  };
8562
+ CreateTeamPresetDto: {
8563
+ name: string;
8564
+ team_ids: string[];
8565
+ };
8566
+ UpdateTeamPresetDto: {
8567
+ name?: string;
8568
+ team_ids?: string[];
8569
+ };
8570
+ ApplyTeamPresetDto: {
8571
+ user_id: number;
8572
+ };
8454
8573
  CreateWebCallDto: {
8455
8574
  /**
8456
8575
  * Format: uuid
@@ -12321,6 +12440,23 @@ export interface components {
12321
12440
  group_capacity: number | null;
12322
12441
  global_capacity: number;
12323
12442
  };
12443
+ TeamPresetDto: {
12444
+ /** Format: uuid */
12445
+ id: string;
12446
+ name: string;
12447
+ teams: {
12448
+ id: string;
12449
+ name: string;
12450
+ }[];
12451
+ /** Format: date-time */
12452
+ created_at: string;
12453
+ /** Format: date-time */
12454
+ updated_at: string;
12455
+ };
12456
+ ApplyTeamPresetResultDto: {
12457
+ team_ids: string[];
12458
+ added_team_ids: string[];
12459
+ };
12324
12460
  WebCallCredentialsDto: {
12325
12461
  /** Format: uuid */
12326
12462
  callId: string;
@@ -17571,6 +17707,8 @@ export interface components {
17571
17707
  /** Format: uuid */
17572
17708
  id: string;
17573
17709
  name: string;
17710
+ /** @description Whether the role is inherited from the main billing organization. Use role IDs to distinguish roles with the same name. */
17711
+ is_inherited?: boolean;
17574
17712
  };
17575
17713
  OrgUserSummary: {
17576
17714
  id: number;
@@ -17579,8 +17717,15 @@ export interface components {
17579
17717
  /** Format: email */
17580
17718
  email: string;
17581
17719
  avatar_url?: string | null;
17582
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
17720
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-scim-role-mappings:read" | "settings-scim-role-mappings:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
17583
17721
  roles: components["schemas"]["OrgUserRole"][];
17722
+ /**
17723
+ * @description deactivated: the user keeps their membership but cannot use the organization until reactivated. Deactivated users have no roles.
17724
+ * @enum {string}
17725
+ */
17726
+ status: "active" | "deactivated";
17727
+ /** @description When the user was deactivated in this organization, or null while active. */
17728
+ deactivated_at: string | null;
17584
17729
  };
17585
17730
  OrgUserDetail: {
17586
17731
  id: number;
@@ -17589,8 +17734,15 @@ export interface components {
17589
17734
  /** Format: email */
17590
17735
  email: string;
17591
17736
  avatar_url?: string | null;
17592
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
17737
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-scim-role-mappings:read" | "settings-scim-role-mappings:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
17593
17738
  roles: components["schemas"]["OrgUserRole"][];
17739
+ /**
17740
+ * @description deactivated: the user keeps their membership but cannot use the organization until reactivated. Deactivated users have no roles.
17741
+ * @enum {string}
17742
+ */
17743
+ status: "active" | "deactivated";
17744
+ /** @description When the user was deactivated in this organization, or null while active. */
17745
+ deactivated_at: string | null;
17594
17746
  teams: {
17595
17747
  group: components["schemas"]["GroupDto"];
17596
17748
  is_user_available_on_group: boolean;
@@ -17610,8 +17762,10 @@ export interface components {
17610
17762
  /** Format: uuid */
17611
17763
  id: string;
17612
17764
  name: string;
17765
+ /** @description Inherited roles are read-only in this organization. A local and inherited role may share a name; use their IDs to distinguish them. */
17766
+ is_inherited?: boolean;
17613
17767
  description: string | null;
17614
- permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
17768
+ permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "phone-outbound-all-numbers:write" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "sessions-delete-own-messages:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-security:read" | "settings-security:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-scim-role-mappings:read" | "settings-scim-role-mappings:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
17615
17769
  };
17616
17770
  PublicInsight: {
17617
17771
  /** Format: uuid */
@@ -18034,6 +18188,8 @@ export interface components {
18034
18188
  /** @enum {string} */
18035
18189
  presence_sync: "off" | "inbound" | "two_way";
18036
18190
  contact_attribute_keys: string[];
18191
+ /** @description Participant-data keys the org's Genesys has set on its conversations, as OpenCX has seen them */
18192
+ participant_data_keys: string[];
18037
18193
  /** @description Each directory sync makes a team of every Genesys queue not excluded */
18038
18194
  sync_queues_as_teams: boolean;
18039
18195
  /** @description Genesys queue ids OpenCX leaves alone: no team is made for them */
@@ -18989,10 +19145,10 @@ export interface operations {
18989
19145
  query?: {
18990
19146
  startDate?: string;
18991
19147
  endDate?: string;
18992
- /** @description Repeat to match any of several. Known values: organization, chat_session, custom_session_status, chat_history, consumer, user, group, group_user, role, user_role, skill, user_skills, action, workflow, flow_variable, api_key, openapi_spec, twilio_credential, twitter_account, sunshine_integration, genesys_integration, shopify_settings, airbyte_connection, email_channel, custom_domain, sequence, outbound_email, help_center, help_center_category, help_center_article, ai_instruction, website_data_source, pdf_data_source, ai_phone_agent, call_history, teammate_call, analytics, voc_insight, ai_evaluation, organization_model_version, organization_tags_definition, organization_draft_mode_settings, webhook_endpoint, agent_availability, csat_score, csat_settings, agent_assignment_settings, ai_context_custom_data_filters, alert_rule, pii_redaction_settings, security_settings, security_notification_settings, mini_app, mini_app_version, mcp_server, mcp_connection, organization_secret, saved_reply_translation, workspace_settings. */
19148
+ /** @description Repeat to match any of several. Known values: organization, chat_session, custom_session_status, chat_history, consumer, user, group, group_user, team_preset, role, user_role, skill, user_skills, action, workflow, flow_variable, api_key, openapi_spec, twilio_credential, twitter_account, sunshine_integration, genesys_integration, shopify_settings, airbyte_connection, email_channel, custom_domain, sequence, outbound_email, help_center, help_center_category, help_center_article, ai_instruction, website_data_source, pdf_data_source, ai_phone_agent, call_history, teammate_call, analytics, voc_insight, ai_evaluation, organization_model_version, organization_tags_definition, organization_draft_mode_settings, webhook_endpoint, agent_availability, csat_score, csat_settings, agent_assignment_settings, ai_context_custom_data_filters, alert_rule, pii_redaction_settings, security_settings, security_notification_settings, mini_app, mini_app_version, mcp_server, mcp_connection, organization_secret, saved_reply_translation, workspace_settings. */
18993
19149
  entityType?: string | string[];
18994
19150
  entityId?: string;
18995
- /** @description Repeat to match any of several. Known values: create, update, delete, archive, restore, delete_multiple, unpublish, login, logout, password_change, password_reset, token_create, token_revoke, idle_exit, settings_update, handoff_settings_update, translation_settings_update, integration_connect, mcp_tool_call, access_token_retrieved, integration_disconnect, secret_rotate, webhook_create, webhook_update, webhook_delete, permission_grant, permission_revoke, api_key_create, api_key_delete, twitter_chat_passcode_reveal, user_invite, user_invite_accept, user_remove, email_send, message_send, teammate_call_started, teammate_call_ended, conference_participant_invited, conference_participant_removed, session_takeover, session_assignee_update, organization_update, ownership_transfer, organization_ai_profile_update, organization_global_variable_delete, update_agent_availability_status, redaction, message_deleted, user_invite_delete, user_invite_resend, user_invite_link_copied, super_invite_link_created, super_invite_link_used, alert_rule.created, alert_rule.updated, alert_rule.deleted, publish, share. */
19151
+ /** @description Repeat to match any of several. Known values: create, update, delete, archive, restore, delete_multiple, unpublish, login, logout, password_change, password_reset, token_create, token_revoke, idle_exit, settings_update, handoff_settings_update, translation_settings_update, integration_connect, mcp_tool_call, access_token_retrieved, integration_disconnect, secret_rotate, webhook_create, webhook_update, webhook_delete, permission_grant, permission_revoke, api_key_create, api_key_delete, twitter_chat_passcode_reveal, user_invite, user_invite_accept, user_remove, user_deactivate, user_reactivate, email_send, message_send, teammate_call_started, teammate_call_ended, conference_participant_invited, conference_participant_removed, session_takeover, session_assignee_update, organization_update, ownership_transfer, organization_ai_profile_update, organization_global_variable_delete, update_agent_availability_status, redaction, message_deleted, user_invite_delete, user_invite_resend, user_invite_link_copied, super_invite_link_created, super_invite_link_used, alert_rule.created, alert_rule.updated, alert_rule.deleted, publish, share. */
18996
19152
  eventType?: string | string[];
18997
19153
  /** @description Repeat to match any of several. */
18998
19154
  eventCategory?: ("access" | "agent_availability" | "communication" | "configuration" | "data" | "security") | ("access" | "agent_availability" | "communication" | "configuration" | "data" | "security")[];
@@ -29042,6 +29198,167 @@ export interface operations {
29042
29198
  };
29043
29199
  };
29044
29200
  };
29201
+ listTeamPresets: {
29202
+ parameters: {
29203
+ query?: never;
29204
+ header?: never;
29205
+ path?: never;
29206
+ cookie?: never;
29207
+ };
29208
+ requestBody?: never;
29209
+ responses: {
29210
+ /** @description Default Response */
29211
+ 200: {
29212
+ headers: {
29213
+ [name: string]: unknown;
29214
+ };
29215
+ content: {
29216
+ "application/json": components["schemas"]["TeamPresetDto"][];
29217
+ };
29218
+ };
29219
+ /** @description Internal Server Error */
29220
+ 500: {
29221
+ headers: {
29222
+ [name: string]: unknown;
29223
+ };
29224
+ content: {
29225
+ "application/json": components["schemas"]["ErrorDto"];
29226
+ };
29227
+ };
29228
+ };
29229
+ };
29230
+ createTeamPreset: {
29231
+ parameters: {
29232
+ query?: never;
29233
+ header?: never;
29234
+ path?: never;
29235
+ cookie?: never;
29236
+ };
29237
+ requestBody: {
29238
+ content: {
29239
+ "application/json": components["schemas"]["CreateTeamPresetDto"];
29240
+ };
29241
+ };
29242
+ responses: {
29243
+ /** @description Default Response */
29244
+ 201: {
29245
+ headers: {
29246
+ [name: string]: unknown;
29247
+ };
29248
+ content: {
29249
+ "application/json": components["schemas"]["TeamPresetDto"];
29250
+ };
29251
+ };
29252
+ /** @description Internal Server Error */
29253
+ 500: {
29254
+ headers: {
29255
+ [name: string]: unknown;
29256
+ };
29257
+ content: {
29258
+ "application/json": components["schemas"]["ErrorDto"];
29259
+ };
29260
+ };
29261
+ };
29262
+ };
29263
+ deleteTeamPreset: {
29264
+ parameters: {
29265
+ query?: never;
29266
+ header?: never;
29267
+ path: {
29268
+ presetId: string;
29269
+ };
29270
+ cookie?: never;
29271
+ };
29272
+ requestBody?: never;
29273
+ responses: {
29274
+ /** @description Default Response */
29275
+ 204: {
29276
+ headers: {
29277
+ [name: string]: unknown;
29278
+ };
29279
+ content?: never;
29280
+ };
29281
+ /** @description Internal Server Error */
29282
+ 500: {
29283
+ headers: {
29284
+ [name: string]: unknown;
29285
+ };
29286
+ content: {
29287
+ "application/json": components["schemas"]["ErrorDto"];
29288
+ };
29289
+ };
29290
+ };
29291
+ };
29292
+ updateTeamPreset: {
29293
+ parameters: {
29294
+ query?: never;
29295
+ header?: never;
29296
+ path: {
29297
+ presetId: string;
29298
+ };
29299
+ cookie?: never;
29300
+ };
29301
+ requestBody: {
29302
+ content: {
29303
+ "application/json": components["schemas"]["UpdateTeamPresetDto"];
29304
+ };
29305
+ };
29306
+ responses: {
29307
+ /** @description Default Response */
29308
+ 200: {
29309
+ headers: {
29310
+ [name: string]: unknown;
29311
+ };
29312
+ content: {
29313
+ "application/json": components["schemas"]["TeamPresetDto"];
29314
+ };
29315
+ };
29316
+ /** @description Internal Server Error */
29317
+ 500: {
29318
+ headers: {
29319
+ [name: string]: unknown;
29320
+ };
29321
+ content: {
29322
+ "application/json": components["schemas"]["ErrorDto"];
29323
+ };
29324
+ };
29325
+ };
29326
+ };
29327
+ applyTeamPreset: {
29328
+ parameters: {
29329
+ query?: never;
29330
+ header?: never;
29331
+ path: {
29332
+ presetId: string;
29333
+ };
29334
+ cookie?: never;
29335
+ };
29336
+ requestBody: {
29337
+ content: {
29338
+ "application/json": components["schemas"]["ApplyTeamPresetDto"];
29339
+ };
29340
+ };
29341
+ responses: {
29342
+ /** @description Default Response */
29343
+ 201: {
29344
+ headers: {
29345
+ [name: string]: unknown;
29346
+ };
29347
+ content: {
29348
+ "application/json": components["schemas"]["ApplyTeamPresetResultDto"];
29349
+ };
29350
+ };
29351
+ /** @description Internal Server Error */
29352
+ 500: {
29353
+ headers: {
29354
+ [name: string]: unknown;
29355
+ };
29356
+ content: {
29357
+ "application/json": components["schemas"]["ErrorDto"];
29358
+ };
29359
+ };
29360
+ };
29361
+ };
29045
29362
  listTrainings: {
29046
29363
  parameters: {
29047
29364
  query?: {
@@ -29901,6 +30218,66 @@ export interface operations {
29901
30218
  };
29902
30219
  };
29903
30220
  };
30221
+ deactivateOrgUser: {
30222
+ parameters: {
30223
+ query?: never;
30224
+ header?: never;
30225
+ path: {
30226
+ /** @description Organization user ID */
30227
+ user_id: number;
30228
+ };
30229
+ cookie?: never;
30230
+ };
30231
+ requestBody?: never;
30232
+ responses: {
30233
+ /** @description Default Response */
30234
+ 204: {
30235
+ headers: {
30236
+ [name: string]: unknown;
30237
+ };
30238
+ content?: never;
30239
+ };
30240
+ /** @description Internal Server Error */
30241
+ 500: {
30242
+ headers: {
30243
+ [name: string]: unknown;
30244
+ };
30245
+ content: {
30246
+ "application/json": components["schemas"]["ErrorDto"];
30247
+ };
30248
+ };
30249
+ };
30250
+ };
30251
+ reactivateOrgUser: {
30252
+ parameters: {
30253
+ query?: never;
30254
+ header?: never;
30255
+ path: {
30256
+ /** @description Organization user ID */
30257
+ user_id: number;
30258
+ };
30259
+ cookie?: never;
30260
+ };
30261
+ requestBody?: never;
30262
+ responses: {
30263
+ /** @description Default Response */
30264
+ 204: {
30265
+ headers: {
30266
+ [name: string]: unknown;
30267
+ };
30268
+ content?: never;
30269
+ };
30270
+ /** @description Internal Server Error */
30271
+ 500: {
30272
+ headers: {
30273
+ [name: string]: unknown;
30274
+ };
30275
+ content: {
30276
+ "application/json": components["schemas"]["ErrorDto"];
30277
+ };
30278
+ };
30279
+ };
30280
+ };
29904
30281
  batchDeleteOrgUsers: {
29905
30282
  parameters: {
29906
30283
  query?: never;