@opencx/mcp 1.11.83 → 1.11.85

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.
package/dist/schema.d.ts CHANGED
@@ -819,6 +819,46 @@ export interface paths {
819
819
  patch?: never;
820
820
  trace?: never;
821
821
  };
822
+ "/knowledgebase-items": {
823
+ parameters: {
824
+ query?: never;
825
+ header?: never;
826
+ path?: never;
827
+ cookie?: never;
828
+ };
829
+ /**
830
+ * List knowledge base items
831
+ * @description List knowledge base items synced from external data sources (website, Confluence, Notion, etc.). Use this to find item ids and inspect their contact-segment restrictions.
832
+ */
833
+ get: operations["listKnowledgebaseItems"];
834
+ put?: never;
835
+ post?: never;
836
+ delete?: never;
837
+ options?: never;
838
+ head?: never;
839
+ patch?: never;
840
+ trace?: never;
841
+ };
842
+ "/knowledgebase-items/{id}": {
843
+ parameters: {
844
+ query?: never;
845
+ header?: never;
846
+ path?: never;
847
+ cookie?: never;
848
+ };
849
+ get?: never;
850
+ /**
851
+ * Update a knowledge base item
852
+ * @description Update a knowledge base item. Primarily used to set `restricted_to_segments` so the AI only uses the item for contacts in the given segments (empty = all contacts).
853
+ */
854
+ put: operations["updateKnowledgebaseItem"];
855
+ post?: never;
856
+ delete?: never;
857
+ options?: never;
858
+ head?: never;
859
+ patch?: never;
860
+ trace?: never;
861
+ };
822
862
  "/csat/scores": {
823
863
  parameters: {
824
864
  query?: never;
@@ -1240,6 +1280,58 @@ export interface paths {
1240
1280
  patch?: never;
1241
1281
  trace?: never;
1242
1282
  };
1283
+ "/macros": {
1284
+ parameters: {
1285
+ query?: never;
1286
+ header?: never;
1287
+ path?: never;
1288
+ cookie?: never;
1289
+ };
1290
+ /**
1291
+ * List macros
1292
+ * @description List all saved-reply macros for the organization.
1293
+ */
1294
+ get: operations["listMacros"];
1295
+ put?: never;
1296
+ /**
1297
+ * Create a macro
1298
+ * @description Create a new saved-reply macro. Use {{variable}} syntax in content to reference system or custom variables.
1299
+ */
1300
+ post: operations["createMacro"];
1301
+ delete?: never;
1302
+ options?: never;
1303
+ head?: never;
1304
+ patch?: never;
1305
+ trace?: never;
1306
+ };
1307
+ "/macros/{id}": {
1308
+ parameters: {
1309
+ query?: never;
1310
+ header?: never;
1311
+ path?: never;
1312
+ cookie?: never;
1313
+ };
1314
+ /**
1315
+ * Get a macro
1316
+ * @description Get a single saved-reply macro by ID.
1317
+ */
1318
+ get: operations["getMacro"];
1319
+ put?: never;
1320
+ post?: never;
1321
+ /**
1322
+ * Delete a macro
1323
+ * @description Permanently delete a saved-reply macro.
1324
+ */
1325
+ delete: operations["deleteMacro"];
1326
+ options?: never;
1327
+ head?: never;
1328
+ /**
1329
+ * Update a macro
1330
+ * @description Partially update a saved-reply macro.
1331
+ */
1332
+ patch: operations["updateMacro"];
1333
+ trace?: never;
1334
+ };
1243
1335
  "/handoff-analytics/events": {
1244
1336
  parameters: {
1245
1337
  query?: never;
@@ -1519,7 +1611,7 @@ export interface paths {
1519
1611
  put?: never;
1520
1612
  /**
1521
1613
  * [Beta] Validate a workflow definition
1522
- * @description Validate workflow blocks without creating a workflow. Returns validation issues and the list of action types used. Use this before creating or updating a workflow to catch errors early.
1614
+ * @description Validate workflow blocks without creating a workflow. Runs both the structural check and the deep semantic validation the dashboard editor runs on Save (action inputs against each action's input schema, trigger configuration against the trigger's configuration_def). Returns validation issues and the list of action types used. Use this before creating or updating a workflow to catch errors early.
1523
1615
  */
1524
1616
  post: operations["validateWorkflow"];
1525
1617
  delete?: never;
@@ -1543,7 +1635,7 @@ export interface paths {
1543
1635
  put?: never;
1544
1636
  /**
1545
1637
  * [Beta] Create a workflow
1546
- * @description Create a new workflow. The workflow is created as an inactive draft (version 1). Use the activate endpoint to make it live. Use GET /workflows/definitions to discover available action and trigger types.
1638
+ * @description Create a new workflow. The workflow is created as an inactive draft (version 1). Use the activate endpoint to make it live. Use GET /workflows/definitions to discover available action and trigger types. Rejects definitions that fail deep validation (missing required action inputs or trigger configuration) with a 400 carrying structured issues.
1547
1639
  */
1548
1640
  post: operations["createWorkflow"];
1549
1641
  delete?: never;
@@ -1561,7 +1653,7 @@ export interface paths {
1561
1653
  };
1562
1654
  /**
1563
1655
  * [Beta] Get a workflow
1564
- * @description Get a specific workflow by its UUID, including its blocks, trigger configuration, and active status.
1656
+ * @description Get a specific workflow by its UUID, including its blocks, trigger configuration, and active status. In companion context (acting user), the user’s unsaved draft — when one exists — is returned as the working copy in place of the latest saved version.
1565
1657
  */
1566
1658
  get: operations["getWorkflow"];
1567
1659
  put?: never;
@@ -1575,7 +1667,7 @@ export interface paths {
1575
1667
  head?: never;
1576
1668
  /**
1577
1669
  * [Beta] Update a workflow (creates a new version)
1578
- * @description Update a workflow by creating a new version. The new version is created as an inactive draft. Only the provided fields are changed; omitted fields carry over from the current version. Use the activate endpoint to make the new version live.
1670
+ * @description Update a workflow by creating a new version. The new version is created as an inactive draft. Only the provided fields are changed; omitted fields carry over from the current version. Use the activate endpoint to make the new version live. When blocks or trigger fields are provided, the resulting definition must pass deep validation — failures return a 400 with structured issues.
1579
1671
  */
1580
1672
  patch: operations["updateWorkflow"];
1581
1673
  trace?: never;
@@ -1595,7 +1687,7 @@ export interface paths {
1595
1687
  head?: never;
1596
1688
  /**
1597
1689
  * [Beta] Update a workflow draft in place when possible
1598
- * @description Updates the latest workflow version in place when it is already a draft. If the latest version is active, a new inactive draft version is created instead.
1690
+ * @description Updates the latest workflow version in place when it is a pristine draft (inactive and without recorded non-test runs). If the latest version is active or has real run history, a new inactive draft version is created instead. In companion context (acting user), the edit applies on top of the user’s unsaved editor draft — snapshotting their work-in-progress into the version — and consumes that draft. The resulting definition must pass deep validation when it changes; failures return a 400 with structured issues. Only versions can be activated.
1599
1691
  */
1600
1692
  patch: operations["updateWorkflowDraftAware"];
1601
1693
  trace?: never;
@@ -2004,6 +2096,46 @@ export interface paths {
2004
2096
  patch?: never;
2005
2097
  trace?: never;
2006
2098
  };
2099
+ "/resource-usage/{resource_type}/{resource_id}/conversations": {
2100
+ parameters: {
2101
+ query?: never;
2102
+ header?: never;
2103
+ path?: never;
2104
+ cookie?: never;
2105
+ };
2106
+ /**
2107
+ * List conversations that used a resource
2108
+ * @description Reverse lookup: list the conversations where a given action, instruction, or KB item was used, newest first. Returns one row per conversation with the reply count, ticket number, last message, and first/last-used timestamps. Defaults to `applied` usage (the resource actually fired); pass `usageKind=available` to see where an instruction was in context but may not have fired.
2109
+ */
2110
+ get: operations["listResourceConversations"];
2111
+ put?: never;
2112
+ post?: never;
2113
+ delete?: never;
2114
+ options?: never;
2115
+ head?: never;
2116
+ patch?: never;
2117
+ trace?: never;
2118
+ };
2119
+ "/resource-usage/{resource_type}/{resource_id}/usage-summary": {
2120
+ parameters: {
2121
+ query?: never;
2122
+ header?: never;
2123
+ path?: never;
2124
+ cookie?: never;
2125
+ };
2126
+ /**
2127
+ * Get usage counts for a resource
2128
+ * @description Aggregate usage for a given action, instruction, or KB item: distinct sessions and total replies where it was applied, the available counterpart (for instructions, to compute apply-rate), and first/last-used timestamps. Optionally bound by a date range.
2129
+ */
2130
+ get: operations["getResourceUsageSummary"];
2131
+ put?: never;
2132
+ post?: never;
2133
+ delete?: never;
2134
+ options?: never;
2135
+ head?: never;
2136
+ patch?: never;
2137
+ trace?: never;
2138
+ };
2007
2139
  "/sequences": {
2008
2140
  parameters: {
2009
2141
  query?: never;
@@ -2458,6 +2590,26 @@ export interface paths {
2458
2590
  patch?: never;
2459
2591
  trace?: never;
2460
2592
  };
2593
+ "/training/{id}/restrictions": {
2594
+ parameters: {
2595
+ query?: never;
2596
+ header?: never;
2597
+ path?: never;
2598
+ cookie?: never;
2599
+ };
2600
+ get?: never;
2601
+ /**
2602
+ * Update instruction restrictions
2603
+ * @description Set the contact-segment and/or channel restrictions for an instruction without changing its content. An empty array clears that restriction (available everywhere).
2604
+ */
2605
+ put: operations["updateTrainingRestrictions"];
2606
+ post?: never;
2607
+ delete?: never;
2608
+ options?: never;
2609
+ head?: never;
2610
+ patch?: never;
2611
+ trace?: never;
2612
+ };
2461
2613
  "/training/{id}/diff": {
2462
2614
  parameters: {
2463
2615
  query?: never;
@@ -3741,6 +3893,67 @@ export interface components {
3741
3893
  /** Format: date-time */
3742
3894
  before?: string;
3743
3895
  };
3896
+ CreateGroupDto: {
3897
+ name: string;
3898
+ description?: string;
3899
+ is_support_enabled?: boolean;
3900
+ support_office_hours_id?: string | null;
3901
+ /** @enum {string} */
3902
+ support_assignment_strategy?: "least-busy" | "round-robin" | "unassigned";
3903
+ };
3904
+ CreateVocCategoryDto: {
3905
+ name: string;
3906
+ description?: string | null;
3907
+ };
3908
+ UpdateCategoryDto: {
3909
+ name?: string;
3910
+ description?: string | null;
3911
+ };
3912
+ GetVocQueryDto: {
3913
+ /** @description Filter by category name */
3914
+ category?: string | null;
3915
+ status?: ("all" | "unresolved" | "resolved" | "archived") | null;
3916
+ sentiment?: ("angry" | "happy" | "neutral") | null;
3917
+ sortBy?: ("occurrence_count" | "last_seen_at" | "first_seen_at" | "created_at") | null;
3918
+ sortOrder?: ("asc" | "desc") | null;
3919
+ minSessions?: number | null;
3920
+ /** @description Search in insight content */
3921
+ search?: string | null;
3922
+ /** @description Filter by specific team ID or none for unassigned insights */
3923
+ teamId?: (string | "not_assigned" | null) | null;
3924
+ /** @description Filter by insight number */
3925
+ insightNumber?: number | null;
3926
+ /** @description Filter by language */
3927
+ sessionLanguage?: ("az" | "el" | "de" | "fr" | "it" | "es" | "pt" | "nl" | "da" | "sv" | "no" | "fi" | "et" | "is" | "pl" | "cs" | "sk" | "hu" | "ro" | "bg" | "hr" | "sr" | "uk" | "ru" | "tr" | "en" | "zh" | "ja" | "ko" | "hi" | "bn" | "id" | "ms" | "th" | "vi" | "tl" | "ar" | "he" | "fa" | "ur" | "af" | "sw" | "ku" | "ckb" | "kmr") | null;
3928
+ ticketSentiment?: ("angry" | "happy" | "neutral") | null;
3929
+ /** @description Filter by session channel */
3930
+ channel?: components["schemas"]["SessionChannel"] | null;
3931
+ sessionFromDate?: string | null;
3932
+ sessionToDate?: string | null;
3933
+ /** @description Filter by session status */
3934
+ sessionStatus?: ("closed_resolved" | "closed_unresolved" | "open") | null;
3935
+ sessionContactId?: string | null;
3936
+ /** @description A list of objects with key-value pairs to filter by. Relationship is OR between objects, and AND between the values in each object */
3937
+ ticketCustomData?: {
3938
+ [key: string]: string;
3939
+ }[] | null;
3940
+ /** @description Filter by contact custom data key-value pairs */
3941
+ contactCustomData?: {
3942
+ [key: string]: string;
3943
+ }[] | null;
3944
+ /** @default 1 */
3945
+ page: number;
3946
+ };
3947
+ ArchiveInsightDto: {
3948
+ /**
3949
+ * @description When the insight should resurface after archiving
3950
+ * @default until_escalating
3951
+ * @enum {string}
3952
+ */
3953
+ policy: "forever" | "until_count" | "until_escalating";
3954
+ /** @description Reason for archiving */
3955
+ reason?: string;
3956
+ };
3744
3957
  MakeOutboundCallDto: {
3745
3958
  phoneAgentId: string;
3746
3959
  contact: {
@@ -3848,67 +4061,6 @@ export interface components {
3848
4061
  }[];
3849
4062
  }[];
3850
4063
  };
3851
- CreateGroupDto: {
3852
- name: string;
3853
- description?: string;
3854
- is_support_enabled?: boolean;
3855
- support_office_hours_id?: string | null;
3856
- /** @enum {string} */
3857
- support_assignment_strategy?: "least-busy" | "round-robin" | "unassigned";
3858
- };
3859
- CreateVocCategoryDto: {
3860
- name: string;
3861
- description?: string | null;
3862
- };
3863
- UpdateCategoryDto: {
3864
- name?: string;
3865
- description?: string | null;
3866
- };
3867
- GetVocQueryDto: {
3868
- /** @description Filter by category name */
3869
- category?: string | null;
3870
- status?: ("all" | "unresolved" | "resolved" | "archived") | null;
3871
- sentiment?: ("angry" | "happy" | "neutral") | null;
3872
- sortBy?: ("occurrence_count" | "last_seen_at" | "first_seen_at" | "created_at") | null;
3873
- sortOrder?: ("asc" | "desc") | null;
3874
- minSessions?: number | null;
3875
- /** @description Search in insight content */
3876
- search?: string | null;
3877
- /** @description Filter by specific team ID or none for unassigned insights */
3878
- teamId?: (string | "not_assigned" | null) | null;
3879
- /** @description Filter by insight number */
3880
- insightNumber?: number | null;
3881
- /** @description Filter by language */
3882
- sessionLanguage?: ("az" | "el" | "de" | "fr" | "it" | "es" | "pt" | "nl" | "da" | "sv" | "no" | "fi" | "et" | "is" | "pl" | "cs" | "sk" | "hu" | "ro" | "bg" | "hr" | "sr" | "uk" | "ru" | "tr" | "en" | "zh" | "ja" | "ko" | "hi" | "bn" | "id" | "ms" | "th" | "vi" | "tl" | "ar" | "he" | "fa" | "ur" | "af" | "sw" | "ku" | "ckb" | "kmr") | null;
3883
- ticketSentiment?: ("angry" | "happy" | "neutral") | null;
3884
- /** @description Filter by session channel */
3885
- channel?: components["schemas"]["SessionChannel"] | null;
3886
- sessionFromDate?: string | null;
3887
- sessionToDate?: string | null;
3888
- /** @description Filter by session status */
3889
- sessionStatus?: ("closed_resolved" | "closed_unresolved" | "open") | null;
3890
- sessionContactId?: string | null;
3891
- /** @description A list of objects with key-value pairs to filter by. Relationship is OR between objects, and AND between the values in each object */
3892
- ticketCustomData?: {
3893
- [key: string]: string;
3894
- }[] | null;
3895
- /** @description Filter by contact custom data key-value pairs */
3896
- contactCustomData?: {
3897
- [key: string]: string;
3898
- }[] | null;
3899
- /** @default 1 */
3900
- page: number;
3901
- };
3902
- ArchiveInsightDto: {
3903
- /**
3904
- * @description When the insight should resurface after archiving
3905
- * @default until_escalating
3906
- * @enum {string}
3907
- */
3908
- policy: "forever" | "until_count" | "until_escalating";
3909
- /** @description Reason for archiving */
3910
- reason?: string;
3911
- };
3912
4064
  FileUploadDto: {
3913
4065
  /**
3914
4066
  * Format: binary
@@ -3940,6 +4092,16 @@ export interface components {
3940
4092
  /** @description Optional reason for redaction */
3941
4093
  reason?: string;
3942
4094
  };
4095
+ CreateSavedReplyDto: {
4096
+ category: string;
4097
+ title: string;
4098
+ content: string;
4099
+ };
4100
+ UpdateSavedReplyDto: {
4101
+ category?: string;
4102
+ title?: string;
4103
+ content?: string;
4104
+ };
3943
4105
  SalesforceMiawWebhookBody: {
3944
4106
  /** @enum {string} */
3945
4107
  event: "message:new";
@@ -3959,6 +4121,8 @@ export interface components {
3959
4121
  crawl_interval_hours: number | null;
3960
4122
  /** @default true */
3961
4123
  auto_start_crawl: boolean;
4124
+ /** @default [] */
4125
+ restricted_to_channels: components["schemas"]["SessionChannel"][];
3962
4126
  };
3963
4127
  UpdateWebsiteDatasourceDto: {
3964
4128
  display_name?: string;
@@ -3968,6 +4132,7 @@ export interface components {
3968
4132
  crawl_interval_hours?: number | null;
3969
4133
  /** @enum {string} */
3970
4134
  status?: "active" | "paused";
4135
+ restricted_to_channels?: components["schemas"]["SessionChannel"][];
3971
4136
  };
3972
4137
  BulkPageActionDto: {
3973
4138
  page_ids: string[];
@@ -4429,6 +4594,19 @@ export interface components {
4429
4594
  */
4430
4595
  limit: number;
4431
4596
  };
4597
+ UpdatePublicKnowledgebaseItem: {
4598
+ /** @description Contact segment ids this item should be restricted to. Pass [] to make it available to all contacts. */
4599
+ restricted_to_segments?: string[];
4600
+ /** @description Channels this item should be restricted to. Pass [] to make it available on all channels. */
4601
+ restricted_to_channels?: components["schemas"]["SessionChannel"][];
4602
+ /** @description ISO 8601 instant (UTC) when the AI may start using this item. Null clears it. */
4603
+ start_time?: string | null;
4604
+ /** @description ISO 8601 instant (UTC) when the AI stops using this item. Null clears it. */
4605
+ end_time?: string | null;
4606
+ /** @enum {string} */
4607
+ visibility?: "internal" | "public";
4608
+ title?: string;
4609
+ };
4432
4610
  EmailRecipient: {
4433
4611
  /** Format: email */
4434
4612
  to_email: string;
@@ -4624,6 +4802,12 @@ export interface components {
4624
4802
  /** @description ISO 8601 instant (UTC) when the AI stops using this instruction. Null clears the end bound. */
4625
4803
  end_time?: string | null;
4626
4804
  };
4805
+ UpdateTrainingRestrictionsDto: {
4806
+ /** @description Channels this instruction applies to. Pass [] to make it available on all channels. */
4807
+ restricted_to_channels?: components["schemas"]["SessionChannel"][];
4808
+ /** @description Contact segment ids this instruction applies to. Pass [] to make it available to all contacts. */
4809
+ restricted_to_segments?: string[];
4810
+ };
4627
4811
  ApplyTrainingDiffDto: {
4628
4812
  /** @description Pre-rendered TipTap diff HTML */
4629
4813
  diff_html: string;
@@ -4680,7 +4864,7 @@ export interface components {
4680
4864
  * @description What starts the workflow. Use "manual-trigger" for on-demand execution, "ai-trigger" for AI-initiated, "webhook" for external HTTP triggers, "cron-trigger" for scheduled runs, or event-based triggers like "ticket-created", "contact-created", etc.
4681
4865
  * @enum {string}
4682
4866
  */
4683
- trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4867
+ trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4684
4868
  /** @description Trigger-specific configuration (e.g. cron expression for cron-trigger) */
4685
4869
  trigger_configuration?: unknown | null;
4686
4870
  /** @description Array of workflow steps and control-flow blocks. Each step is an object with { "$kind": "Action", "id": "<unique-step-id>", "type": "<action-type>", "name": "<display-name>", "input": { ... } }. Control-flow blocks use { "$kind": "Block", "type": "if-else", "id": "<unique-id>", "inputs": { "condition": { "operatorName": "equals", "left": "{{step_id.field}}", "right": "value" } }, "branches": { "then": [...steps], "else": [...steps] } }. Use {{step_id.field}} to reference outputs from previous steps (no `.output.` segment — the field sits directly under the step id). */
@@ -4697,7 +4881,7 @@ export interface components {
4697
4881
  * @description New trigger type
4698
4882
  * @enum {string}
4699
4883
  */
4700
- trigger_type?: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4884
+ trigger_type?: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4701
4885
  /** @description New trigger configuration */
4702
4886
  trigger_configuration?: unknown | null;
4703
4887
  /** @description New workflow step/block definitions (replaces existing blocks) */
@@ -4710,7 +4894,9 @@ export interface components {
4710
4894
  * @description Trigger type to validate against
4711
4895
  * @enum {string}
4712
4896
  */
4713
- trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4897
+ trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4898
+ /** @description Trigger configuration to validate against the trigger's configuration_def. When omitted, the trigger is validated as if unconfigured — triggers with required configuration (e.g. cron-trigger, ai-trigger) will report errors. */
4899
+ trigger_configuration?: unknown | null;
4714
4900
  /** @description Workflow blocks to validate */
4715
4901
  workflow_blocks: unknown[];
4716
4902
  };
@@ -4721,7 +4907,7 @@ export interface components {
4721
4907
  * @description Trigger type whose payload shape this synthetic payload should match
4722
4908
  * @enum {string}
4723
4909
  */
4724
- type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4910
+ type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "agent-availability-changed" | "agent-avail-in-team-changed";
4725
4911
  payload: unknown;
4726
4912
  };
4727
4913
  };
@@ -4872,6 +5058,8 @@ export interface components {
4872
5058
  };
4873
5059
  CreateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
4874
5060
  UpdateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
5061
+ CreateMacroInput: components["schemas"]["CreateSavedReplyDto"];
5062
+ UpdateMacroInput: components["schemas"]["UpdateSavedReplyDto"];
4875
5063
  UpsertTagInputDto: {
4876
5064
  /** @description Tag name (e.g. "billing", "refund", "feature-request") */
4877
5065
  tag_name: string;
@@ -4904,12 +5092,14 @@ export interface components {
4904
5092
  limit: number;
4905
5093
  visibility?: ("internal" | "public")[];
4906
5094
  sourceTypes?: ("custom_training" | "help_center" | "integration" | "website")[];
4907
- dataSources?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "ai_instructions" | "custom_training" | "website")[];
5095
+ dataSources?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website")[];
4908
5096
  /**
4909
5097
  * @default relevance
4910
5098
  * @enum {string}
4911
5099
  */
4912
- sortBy: "relevance" | "handoffs";
5100
+ sortBy: "relevance" | "handoffs" | "citations";
5101
+ dateFrom?: unknown;
5102
+ dateTo?: unknown;
4913
5103
  /**
4914
5104
  * @description Include the full content field in results. Set to false to reduce response size.
4915
5105
  * @default true
@@ -5041,7 +5231,7 @@ export interface components {
5041
5231
  /** @constant */
5042
5232
  type: "response_skipped";
5043
5233
  /** @enum {string} */
5044
- reason?: "empty_response" | "potential_answers_dead_end";
5234
+ reason?: "empty_response" | "potential_answers_dead_end" | "silent_handoff" | "superseded_by_newer_run";
5045
5235
  reasoning?: ({
5046
5236
  /** @constant */
5047
5237
  type: "reasoning";
@@ -5144,7 +5334,24 @@ export interface components {
5144
5334
  language: "en" | "fr" | "de" | "nl" | "pl" | "pt" | "es" | "it" | "ru" | "ja" | "ko" | "zh" | "ar" | "tr" | "sv" | "da" | "no" | "fi" | "el" | "cs" | "hu" | "th" | "vi" | "id" | "he" | "hi" | "uk" | "ro" | "bg" | "hr" | "sk" | "sl" | "sr" | "et" | "lv" | "lt" | "is" | "ga" | "ms" | "tl" | "fa" | "bn" | "ta" | "te" | "ur" | "sw" | "zu" | "af" | "sq" | "hy" | "az" | "eu" | "be" | "bs" | "ca" | "cy" | "ku" | "ckb" | "kmr";
5145
5335
  };
5146
5336
  };
5147
- /** @default null */
5337
+ actionCalls?: {
5338
+ action: {
5339
+ name: string;
5340
+ id: string;
5341
+ openapi?: {
5342
+ openapi_spec_id?: string;
5343
+ operation_spec: unknown;
5344
+ operation_id?: string;
5345
+ operation_method?: string;
5346
+ };
5347
+ metadata: unknown;
5348
+ required_form_submission?: boolean;
5349
+ is_handoff_like?: boolean;
5350
+ };
5351
+ arguments: unknown;
5352
+ result: unknown;
5353
+ }[];
5354
+ /** @default null */
5148
5355
  assignment_choice_summary: {
5149
5356
  /** @constant */
5150
5357
  strategy: "least-busy";
@@ -5159,6 +5366,11 @@ export interface components {
5159
5366
  max_capacity_in_group: number | null;
5160
5367
  is_available_globally: boolean;
5161
5368
  is_available_in_group: boolean;
5369
+ /** @default [] */
5370
+ missing_required_skills: {
5371
+ id: string;
5372
+ name: string;
5373
+ }[];
5162
5374
  } | null;
5163
5375
  peers: {
5164
5376
  agent_id: number;
@@ -5171,6 +5383,16 @@ export interface components {
5171
5383
  max_capacity_in_group: number | null;
5172
5384
  is_available_globally: boolean;
5173
5385
  is_available_in_group: boolean;
5386
+ /** @default [] */
5387
+ missing_required_skills: {
5388
+ id: string;
5389
+ name: string;
5390
+ }[];
5391
+ }[];
5392
+ /** @default [] */
5393
+ required_skills: {
5394
+ id: string;
5395
+ name: string;
5174
5396
  }[];
5175
5397
  } | null;
5176
5398
  } | {
@@ -5237,6 +5459,11 @@ export interface components {
5237
5459
  max_capacity_in_group: number | null;
5238
5460
  is_available_globally: boolean;
5239
5461
  is_available_in_group: boolean;
5462
+ /** @default [] */
5463
+ missing_required_skills: {
5464
+ id: string;
5465
+ name: string;
5466
+ }[];
5240
5467
  } | null;
5241
5468
  peers: {
5242
5469
  agent_id: number;
@@ -5249,6 +5476,16 @@ export interface components {
5249
5476
  max_capacity_in_group: number | null;
5250
5477
  is_available_globally: boolean;
5251
5478
  is_available_in_group: boolean;
5479
+ /** @default [] */
5480
+ missing_required_skills: {
5481
+ id: string;
5482
+ name: string;
5483
+ }[];
5484
+ }[];
5485
+ /** @default [] */
5486
+ required_skills: {
5487
+ id: string;
5488
+ name: string;
5252
5489
  }[];
5253
5490
  } | null;
5254
5491
  destination_id?: string;
@@ -5268,7 +5505,7 @@ export interface components {
5268
5505
  }) | null;
5269
5506
  knowledgebase_called?: boolean | null;
5270
5507
  /** @enum {string} */
5271
- type: "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_reopened_session" | "ai_response_cancelled" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "message" | "prohibited_topic_detected" | "sequence_message" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_system" | "system_reopened_session" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "workflow_message" | "workflow_note" | "workflow_triggered";
5508
+ type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "integration_reopened_session" | "message" | "prohibited_topic_detected" | "sequence_message" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "workflow_message" | "workflow_note" | "workflow_triggered";
5272
5509
  extra_params?: {
5273
5510
  [key: string]: unknown;
5274
5511
  } | null;
@@ -5285,6 +5522,8 @@ export interface components {
5285
5522
  contact_slack_data?: string | null;
5286
5523
  attachments?: components["schemas"]["ChatAttachmentDto"][] | null;
5287
5524
  email_rfc_message_id?: string | null;
5525
+ email_to?: string[] | null;
5526
+ email_cc?: string[] | null;
5288
5527
  external_message_id?: string | null;
5289
5528
  csat_score?: number | null;
5290
5529
  csat_feedback?: string | null;
@@ -5310,6 +5549,50 @@ export interface components {
5310
5549
  edited_at?: string | null;
5311
5550
  deleted_at?: string | null;
5312
5551
  };
5552
+ GroupUsersDto: {
5553
+ id: number;
5554
+ name: string;
5555
+ email: string;
5556
+ is_available: boolean;
5557
+ group_capacity: number | null;
5558
+ global_capacity: number;
5559
+ };
5560
+ GroupDto: {
5561
+ id: string;
5562
+ organization_id: string;
5563
+ name: string;
5564
+ description: string | null;
5565
+ is_support_enabled: boolean;
5566
+ support_office_hours_id: string | null;
5567
+ /** @enum {string} */
5568
+ support_assignment_strategy: "least-busy" | "round-robin" | "unassigned";
5569
+ created_at: string | null;
5570
+ updated_at: string | null;
5571
+ deleted_at: string | null;
5572
+ };
5573
+ VersionHistoryItemDto: {
5574
+ /** Format: uuid */
5575
+ id: string;
5576
+ instruction_id: string;
5577
+ version_number: number;
5578
+ question: string;
5579
+ answer: string;
5580
+ /** @enum {string} */
5581
+ type: "BEHAVIORAL" | "SCENARIO_SPECIFIC";
5582
+ /** Format: date-time */
5583
+ published_at: string;
5584
+ published_by: number | null;
5585
+ published_by_name: string | null;
5586
+ /** Format: date-time */
5587
+ created_at: string;
5588
+ start_time: string | null;
5589
+ end_time: string | null;
5590
+ };
5591
+ CustomTrainingDirectoriesDto: {
5592
+ id: string;
5593
+ name: string;
5594
+ org_id: string;
5595
+ };
5313
5596
  PhoneAgentDto: {
5314
5597
  id: string;
5315
5598
  org_id: string;
@@ -5343,6 +5626,7 @@ export interface components {
5343
5626
  recording_enabled: boolean;
5344
5627
  stt_keyterms: string[];
5345
5628
  stt_model: ("deepgram/flux-general" | "deepgram/nova-3" | "deepgram/nova-3-medical" | "cartesia/ink-whisper" | "elevenlabs/scribe_v2_realtime" | "xai/stt-1") | null;
5629
+ tts_speed_pct: number | null;
5346
5630
  failover_transfer_destination_id: string | null;
5347
5631
  };
5348
5632
  PhoneAgentVoiceDto: {
@@ -5465,50 +5749,6 @@ export interface components {
5465
5749
  ended_at: string | null;
5466
5750
  status: components["schemas"]["SequenceStatus"] | null;
5467
5751
  };
5468
- GroupUsersDto: {
5469
- id: number;
5470
- name: string;
5471
- email: string;
5472
- is_available: boolean;
5473
- group_capacity: number | null;
5474
- global_capacity: number;
5475
- };
5476
- GroupDto: {
5477
- id: string;
5478
- organization_id: string;
5479
- name: string;
5480
- description: string | null;
5481
- is_support_enabled: boolean;
5482
- support_office_hours_id: string | null;
5483
- /** @enum {string} */
5484
- support_assignment_strategy: "least-busy" | "round-robin" | "unassigned";
5485
- created_at: string | null;
5486
- updated_at: string | null;
5487
- deleted_at: string | null;
5488
- };
5489
- VersionHistoryItemDto: {
5490
- /** Format: uuid */
5491
- id: string;
5492
- instruction_id: string;
5493
- version_number: number;
5494
- question: string;
5495
- answer: string;
5496
- /** @enum {string} */
5497
- type: "BEHAVIORAL" | "SCENARIO_SPECIFIC";
5498
- /** Format: date-time */
5499
- published_at: string;
5500
- published_by: number | null;
5501
- published_by_name: string | null;
5502
- /** Format: date-time */
5503
- created_at: string;
5504
- start_time: string | null;
5505
- end_time: string | null;
5506
- };
5507
- CustomTrainingDirectoriesDto: {
5508
- id: string;
5509
- name: string;
5510
- org_id: string;
5511
- };
5512
5752
  EmailTemplateActivityItemDto: {
5513
5753
  id: string;
5514
5754
  from_email: string;
@@ -5732,6 +5972,17 @@ export interface components {
5732
5972
  breaches: number;
5733
5973
  }[];
5734
5974
  };
5975
+ SavedReplyDto: {
5976
+ id: string;
5977
+ org_id: string;
5978
+ category: string;
5979
+ title: string;
5980
+ content: string;
5981
+ /** Format: date-time */
5982
+ created_at: string;
5983
+ /** Format: date-time */
5984
+ updated_at: string;
5985
+ };
5735
5986
  StartOneOffSequenceOutputDto: {
5736
5987
  data?: {
5737
5988
  success: boolean;
@@ -6117,7 +6368,7 @@ export interface components {
6117
6368
  summary: string;
6118
6369
  explanation: string | null;
6119
6370
  sentiment: ("angry" | "happy" | "neutral") | null;
6120
- reasons: ("based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
6371
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
6121
6372
  references: components["schemas"]["InvestigationReferenceItem"][];
6122
6373
  referenced_documents: components["schemas"]["InvestigationReferenceBuckets"];
6123
6374
  } | null;
@@ -6324,6 +6575,11 @@ export interface components {
6324
6575
  max_capacity_in_group: number | null;
6325
6576
  is_available_globally: boolean;
6326
6577
  is_available_in_group: boolean;
6578
+ /** @default [] */
6579
+ missing_required_skills: {
6580
+ id: string;
6581
+ name: string;
6582
+ }[];
6327
6583
  } | null;
6328
6584
  peers: {
6329
6585
  agent_id: number;
@@ -6336,6 +6592,16 @@ export interface components {
6336
6592
  max_capacity_in_group: number | null;
6337
6593
  is_available_globally: boolean;
6338
6594
  is_available_in_group: boolean;
6595
+ /** @default [] */
6596
+ missing_required_skills: {
6597
+ id: string;
6598
+ name: string;
6599
+ }[];
6600
+ }[];
6601
+ /** @default [] */
6602
+ required_skills: {
6603
+ id: string;
6604
+ name: string;
6339
6605
  }[];
6340
6606
  } | null;
6341
6607
  destination_id?: string;
@@ -6504,6 +6770,12 @@ export interface components {
6504
6770
  /** @constant */
6505
6771
  type: "sub_status_removed_by_api";
6506
6772
  sub_status_id: string | null;
6773
+ } | {
6774
+ /** @enum {string} */
6775
+ type: "tag_added_by_system" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_removed_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration";
6776
+ tags: {
6777
+ name: string;
6778
+ }[];
6507
6779
  } | {
6508
6780
  /** @constant */
6509
6781
  type: "ai_resolved_issue";
@@ -6540,6 +6812,9 @@ export interface components {
6540
6812
  type: "system_reopened_session";
6541
6813
  workflow_id: string | null;
6542
6814
  workflow_run_id: string | null;
6815
+ } | {
6816
+ /** @constant */
6817
+ type: "integration_reopened_session";
6543
6818
  } | {
6544
6819
  /** @constant */
6545
6820
  type: "ai_reopened_session";
@@ -6568,6 +6843,10 @@ export interface components {
6568
6843
  /** @constant */
6569
6844
  type: "agent_assigned_by_system";
6570
6845
  assigned_agent_id?: number;
6846
+ } | {
6847
+ /** @constant */
6848
+ type: "agent_assigned_by_integration";
6849
+ assigned_agent_id?: number;
6571
6850
  } | {
6572
6851
  /** @constant */
6573
6852
  type: "agent_assigned_by_user";
@@ -6577,6 +6856,10 @@ export interface components {
6577
6856
  /** @constant */
6578
6857
  type: "agent_unassigned_by_system";
6579
6858
  unassigned_agent_id?: number;
6859
+ } | {
6860
+ /** @constant */
6861
+ type: "agent_unassigned_by_integration";
6862
+ unassigned_agent_id?: number;
6580
6863
  } | {
6581
6864
  /** @constant */
6582
6865
  type: "agent_unassigned_by_user";
@@ -6641,6 +6924,8 @@ export interface components {
6641
6924
  exclude_paths: string[];
6642
6925
  include_paths: string[];
6643
6926
  crawl_interval_hours: number | null;
6927
+ /** @description Channels this datasource is restricted to. Empty = available on all channels. */
6928
+ restricted_to_channels: components["schemas"]["SessionChannel"][];
6644
6929
  last_crawl_started_at: string | null;
6645
6930
  last_crawl_completed_at: string | null;
6646
6931
  error_message: string | null;
@@ -6659,6 +6944,8 @@ export interface components {
6659
6944
  exclude_paths: string[];
6660
6945
  include_paths: string[];
6661
6946
  crawl_interval_hours: number | null;
6947
+ /** @description Channels this datasource is restricted to. Empty = available on all channels. */
6948
+ restricted_to_channels: components["schemas"]["SessionChannel"][];
6662
6949
  last_crawl_started_at: string | null;
6663
6950
  last_crawl_completed_at: string | null;
6664
6951
  error_message: string | null;
@@ -6678,6 +6965,8 @@ export interface components {
6678
6965
  exclude_paths: string[];
6679
6966
  include_paths: string[];
6680
6967
  crawl_interval_hours: number | null;
6968
+ /** @description Channels this datasource is restricted to. Empty = available on all channels. */
6969
+ restricted_to_channels: components["schemas"]["SessionChannel"][];
6681
6970
  last_crawl_started_at: string | null;
6682
6971
  last_crawl_completed_at: string | null;
6683
6972
  error_message: string | null;
@@ -6767,6 +7056,39 @@ export interface components {
6767
7056
  has_prev_page: boolean;
6768
7057
  data: components["schemas"]["CrawlPage"][];
6769
7058
  };
7059
+ PublicKnowledgebaseItem: {
7060
+ id: string;
7061
+ title: string;
7062
+ /** @enum {string} */
7063
+ visibility: "internal" | "public";
7064
+ /** @enum {string} */
7065
+ source_type: "custom_training" | "help_center" | "integration" | "website";
7066
+ /** @description External source the item was synced from (present when listing). */
7067
+ data_source?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website") | null;
7068
+ stream?: string | null;
7069
+ source_url: string | null;
7070
+ /** @description Contact segment ids this item is restricted to. Empty = available to all contacts. */
7071
+ restricted_to_segments: string[];
7072
+ /** @description Channels this item is restricted to. Empty = available on all channels. */
7073
+ restricted_to_channels: components["schemas"]["SessionChannel"][];
7074
+ /** @description Active window start (UTC). Null = no start bound. */
7075
+ start_time: string | null;
7076
+ /** @description Active window end (UTC). Null = no end bound. */
7077
+ end_time: string | null;
7078
+ /** Format: date-time */
7079
+ updated_at: string;
7080
+ };
7081
+ ListPublicKnowledgebaseItemsOutput: {
7082
+ items: components["schemas"]["PublicKnowledgebaseItem"][];
7083
+ pagination: {
7084
+ current_page: number;
7085
+ total_pages: number;
7086
+ total_items: number;
7087
+ items_per_page: number;
7088
+ has_next_page: boolean;
7089
+ has_previous_page: boolean;
7090
+ };
7091
+ };
6770
7092
  CsatScorePublic: {
6771
7093
  id: string;
6772
7094
  organization_id: string;
@@ -6800,12 +7122,12 @@ export interface components {
6800
7122
  end_date: string;
6801
7123
  reasons: {
6802
7124
  /** @enum {string} */
6803
- reason: "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
7125
+ reason: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
6804
7126
  count: number;
6805
7127
  percentage: number;
6806
7128
  }[];
6807
7129
  reason_combinations: {
6808
- reasons: ("based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
7130
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
6809
7131
  session_count: number;
6810
7132
  percentage: number;
6811
7133
  }[];
@@ -6890,6 +7212,38 @@ export interface components {
6890
7212
  /** @description When the organization was last updated. */
6891
7213
  updated_at: string | null;
6892
7214
  };
7215
+ PublicResourceUsageConversationsDto: {
7216
+ conversations: {
7217
+ session_id: string;
7218
+ /** @description Inbox ticket number, if assigned */
7219
+ ticket_number: number | null;
7220
+ /** @description The conversation’s most recent message */
7221
+ last_message: string | null;
7222
+ /** @description AI replies in this conversation that used the resource */
7223
+ reply_count: number;
7224
+ /** @description ISO 8601 timestamp of first use in this conversation */
7225
+ first_used_at: string;
7226
+ /** @description ISO 8601 timestamp of most recent use */
7227
+ last_used_at: string;
7228
+ }[];
7229
+ /** @description Distinct conversations matching the lookup */
7230
+ total_sessions: number;
7231
+ };
7232
+ PublicResourceUsageSummaryDto: {
7233
+ /** @description Distinct conversations that used this resource */
7234
+ session_count: number;
7235
+ /** @description Distinct conversations where the resource was applied */
7236
+ applied_sessions: number;
7237
+ /** @description Total applications/invocations */
7238
+ applied_replies: number;
7239
+ /** @description Distinct conversations where an instruction was in context (instructions only) */
7240
+ available_sessions: number;
7241
+ available_replies: number;
7242
+ /** @description ISO 8601 timestamp of first use */
7243
+ first_used_at: string | null;
7244
+ /** @description ISO 8601 timestamp of most recent use */
7245
+ last_used_at: string | null;
7246
+ };
6893
7247
  AddContactsToSequenceOutput: {
6894
7248
  run_id: string;
6895
7249
  };
@@ -7145,7 +7499,7 @@ export interface components {
7145
7499
  created_at: string;
7146
7500
  };
7147
7501
  ValidateWorkflowPublicOutput: {
7148
- /** @description Whether the workflow definition is valid */
7502
+ /** @description Whether the workflow definition is valid (no error-severity issues) */
7149
7503
  valid: boolean;
7150
7504
  /** @description List of validation issues found */
7151
7505
  issues: {
@@ -7153,10 +7507,34 @@ export interface components {
7153
7507
  step_id: string | null;
7154
7508
  /** @description Description of the validation issue */
7155
7509
  message: string;
7510
+ /**
7511
+ * @description "error" blocks create/update/activate; "warning" is advisory only
7512
+ * @enum {string}
7513
+ */
7514
+ severity: "error" | "warning";
7156
7515
  }[];
7157
7516
  /** @description List of action types referenced in the workflow */
7158
7517
  action_types_used: string[];
7159
7518
  };
7519
+ WorkflowValidationErrorResponse: {
7520
+ /** @constant */
7521
+ statusCode: 400;
7522
+ /** @description Human-readable summary of the validation failure */
7523
+ message: string;
7524
+ error: string;
7525
+ /** @description Structured validation issues — fix each step_id and retry */
7526
+ issues: {
7527
+ /** @description The step ID where the issue was found, if applicable */
7528
+ step_id: string | null;
7529
+ /** @description Description of the validation issue */
7530
+ message: string;
7531
+ /**
7532
+ * @description "error" blocks create/update/activate; "warning" is advisory only
7533
+ * @enum {string}
7534
+ */
7535
+ severity: "error" | "warning";
7536
+ }[];
7537
+ };
7160
7538
  FieldSchemaPublicDto: {
7161
7539
  /** @description Field name (use as key in input object) */
7162
7540
  name: string;
@@ -7218,7 +7596,7 @@ export interface components {
7218
7596
  */
7219
7597
  type: "Unary" | "Binary" | "Logical";
7220
7598
  /** @description Field types this operator can be applied to */
7221
- applies_to: ("String" | "Number" | "Boolean" | "Array" | "Object" | "DateTime" | "LongText" | "Url" | "Email" | "Select" | "LazySelect" | "Code" | "MultiSelect" | "JsonSchema" | "Any" | "AnyObject" | "RichText" | "File")[];
7599
+ applies_to: ("String" | "Number" | "Boolean" | "Array" | "Object" | "DateTime" | "LongText" | "Url" | "Email" | "Select" | "LazySelect" | "Code" | "MultiSelect" | "LazyMultiSelect" | "JsonSchema" | "Any" | "AnyObject" | "RichText" | "File" | "PhoneNumber" | "DateOnly" | "CronExpression" | "Integer")[];
7222
7600
  };
7223
7601
  WorkflowDefinitionsPublicDto: {
7224
7602
  /** @description Available action types with their input/output schemas */
@@ -7233,7 +7611,7 @@ export interface components {
7233
7611
  }[];
7234
7612
  /** @description Condition operators for if-else blocks, from the engine registry. This is the complete set the runtime evaluates — always pick "operatorName" from this list. */
7235
7613
  operators: components["schemas"]["OperatorPublicDto"][];
7236
- /** @description Field schemas for the extra reference scopes available in every run, beyond the trigger payload and step outputs. Each entry's "name" is the scope root and its "properties" are the referenceable fields: {{metadata.<field>}} (date/time of the run), {{run.<field>}}, {{workflow.<field>}}, {{organization.<field>}}, and {{variables.<key>}} for the organization's global variables. */
7614
+ /** @description Field schemas for the extra reference scopes available in every run, beyond the trigger payload and step outputs. Each entry's "name" is the scope root and its "properties" are the referenceable fields: {{metadata.<field>}} (date/time of the run), {{run.<field>}}, {{workflow.<field>}}, {{organization.<field>}}, and {{variables.<key>}} for the organization's global variables. Leaf scopes have no "properties" and are referenced directly, e.g. {{routingSkills}} — a JSON string of every org skill (name + description). */
7237
7615
  extra_variables: unknown[];
7238
7616
  };
7239
7617
  TestWorkflowPublicOutput: {
@@ -7332,7 +7710,7 @@ export interface components {
7332
7710
  summary: string;
7333
7711
  explanation: string | null;
7334
7712
  sentiment: string | null;
7335
- reasons: ("based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
7713
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
7336
7714
  references: {
7337
7715
  /** @enum {string} */
7338
7716
  reference_type: "ai_profile" | "instruction" | "knowledge" | "prohibited_topic" | "tool";
@@ -7422,12 +7800,13 @@ export interface components {
7422
7800
  records: unknown | null;
7423
7801
  }[];
7424
7802
  ListEmailTemplatesOutput: components["schemas"]["EmailTemplateDto"][];
7803
+ ListMacrosOutput: components["schemas"]["SavedReplyDto"][];
7425
7804
  ListHandoffEventsOutput: {
7426
7805
  items: {
7427
7806
  session_id: string;
7428
7807
  summary: string;
7429
7808
  explanation: string | null;
7430
- reasons: ("based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
7809
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
7431
7810
  sentiment: ("angry" | "happy" | "neutral") | null;
7432
7811
  created_at: string;
7433
7812
  }[];
@@ -7504,7 +7883,7 @@ export interface components {
7504
7883
  updated_at: string;
7505
7884
  content?: string;
7506
7885
  /** @enum {string} */
7507
- data_source: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "ai_instructions" | "custom_training" | "website";
7886
+ data_source: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website";
7508
7887
  stream: string | null;
7509
7888
  relevance_score: number;
7510
7889
  directory_id: string | null;
@@ -7512,6 +7891,10 @@ export interface components {
7512
7891
  is_draft?: boolean;
7513
7892
  /** @default 0 */
7514
7893
  usage_count: number;
7894
+ restricted_to_segments?: string[];
7895
+ restricted_to_channels?: string[];
7896
+ start_time?: string | null;
7897
+ end_time?: string | null;
7515
7898
  /** @description First 500 characters of content */
7516
7899
  content_preview: string;
7517
7900
  }[];
@@ -9280,6 +9663,79 @@ export interface operations {
9280
9663
  };
9281
9664
  };
9282
9665
  };
9666
+ listKnowledgebaseItems: {
9667
+ parameters: {
9668
+ query?: {
9669
+ /** @description Full-text search over item titles/content */
9670
+ search?: string;
9671
+ /** @description Filter to a specific external data source (e.g. website, confluence, notion) */
9672
+ data_source?: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website";
9673
+ visibility?: "internal" | "public";
9674
+ page?: number;
9675
+ limit?: number;
9676
+ };
9677
+ header?: never;
9678
+ path?: never;
9679
+ cookie?: never;
9680
+ };
9681
+ requestBody?: never;
9682
+ responses: {
9683
+ /** @description Default Response */
9684
+ 200: {
9685
+ headers: {
9686
+ [name: string]: unknown;
9687
+ };
9688
+ content: {
9689
+ "application/json": components["schemas"]["ListPublicKnowledgebaseItemsOutput"];
9690
+ };
9691
+ };
9692
+ /** @description Internal Server Error */
9693
+ 500: {
9694
+ headers: {
9695
+ [name: string]: unknown;
9696
+ };
9697
+ content: {
9698
+ "application/json": components["schemas"]["ErrorDto"];
9699
+ };
9700
+ };
9701
+ };
9702
+ };
9703
+ updateKnowledgebaseItem: {
9704
+ parameters: {
9705
+ query?: never;
9706
+ header?: never;
9707
+ path: {
9708
+ /** @description The knowledge base item id */
9709
+ id: string;
9710
+ };
9711
+ cookie?: never;
9712
+ };
9713
+ requestBody: {
9714
+ content: {
9715
+ "application/json": components["schemas"]["UpdatePublicKnowledgebaseItem"];
9716
+ };
9717
+ };
9718
+ responses: {
9719
+ /** @description Default Response */
9720
+ 200: {
9721
+ headers: {
9722
+ [name: string]: unknown;
9723
+ };
9724
+ content: {
9725
+ "application/json": components["schemas"]["PublicKnowledgebaseItem"];
9726
+ };
9727
+ };
9728
+ /** @description Internal Server Error */
9729
+ 500: {
9730
+ headers: {
9731
+ [name: string]: unknown;
9732
+ };
9733
+ content: {
9734
+ "application/json": components["schemas"]["ErrorDto"];
9735
+ };
9736
+ };
9737
+ };
9738
+ };
9283
9739
  getCsatScores: {
9284
9740
  parameters: {
9285
9741
  query?: {
@@ -10105,13 +10561,173 @@ export interface operations {
10105
10561
  };
10106
10562
  };
10107
10563
  };
10564
+ listMacros: {
10565
+ parameters: {
10566
+ query?: never;
10567
+ header?: never;
10568
+ path?: never;
10569
+ cookie?: never;
10570
+ };
10571
+ requestBody?: never;
10572
+ responses: {
10573
+ /** @description Default Response */
10574
+ 200: {
10575
+ headers: {
10576
+ [name: string]: unknown;
10577
+ };
10578
+ content: {
10579
+ "application/json": components["schemas"]["ListMacrosOutput"];
10580
+ };
10581
+ };
10582
+ /** @description Internal Server Error */
10583
+ 500: {
10584
+ headers: {
10585
+ [name: string]: unknown;
10586
+ };
10587
+ content: {
10588
+ "application/json": components["schemas"]["ErrorDto"];
10589
+ };
10590
+ };
10591
+ };
10592
+ };
10593
+ createMacro: {
10594
+ parameters: {
10595
+ query?: never;
10596
+ header?: never;
10597
+ path?: never;
10598
+ cookie?: never;
10599
+ };
10600
+ requestBody: {
10601
+ content: {
10602
+ "application/json": components["schemas"]["CreateMacroInput"];
10603
+ };
10604
+ };
10605
+ responses: {
10606
+ /** @description Default Response */
10607
+ 201: {
10608
+ headers: {
10609
+ [name: string]: unknown;
10610
+ };
10611
+ content: {
10612
+ "application/json": components["schemas"]["SavedReplyDto"];
10613
+ };
10614
+ };
10615
+ /** @description Internal Server Error */
10616
+ 500: {
10617
+ headers: {
10618
+ [name: string]: unknown;
10619
+ };
10620
+ content: {
10621
+ "application/json": components["schemas"]["ErrorDto"];
10622
+ };
10623
+ };
10624
+ };
10625
+ };
10626
+ getMacro: {
10627
+ parameters: {
10628
+ query?: never;
10629
+ header?: never;
10630
+ path: {
10631
+ /** @description Macro ID */
10632
+ id: string;
10633
+ };
10634
+ cookie?: never;
10635
+ };
10636
+ requestBody?: never;
10637
+ responses: {
10638
+ /** @description Default Response */
10639
+ 200: {
10640
+ headers: {
10641
+ [name: string]: unknown;
10642
+ };
10643
+ content: {
10644
+ "application/json": components["schemas"]["SavedReplyDto"];
10645
+ };
10646
+ };
10647
+ /** @description Internal Server Error */
10648
+ 500: {
10649
+ headers: {
10650
+ [name: string]: unknown;
10651
+ };
10652
+ content: {
10653
+ "application/json": components["schemas"]["ErrorDto"];
10654
+ };
10655
+ };
10656
+ };
10657
+ };
10658
+ deleteMacro: {
10659
+ parameters: {
10660
+ query?: never;
10661
+ header?: never;
10662
+ path: {
10663
+ /** @description Macro ID */
10664
+ id: string;
10665
+ };
10666
+ cookie?: never;
10667
+ };
10668
+ requestBody?: never;
10669
+ responses: {
10670
+ /** @description Default Response */
10671
+ 204: {
10672
+ headers: {
10673
+ [name: string]: unknown;
10674
+ };
10675
+ content?: never;
10676
+ };
10677
+ /** @description Internal Server Error */
10678
+ 500: {
10679
+ headers: {
10680
+ [name: string]: unknown;
10681
+ };
10682
+ content: {
10683
+ "application/json": components["schemas"]["ErrorDto"];
10684
+ };
10685
+ };
10686
+ };
10687
+ };
10688
+ updateMacro: {
10689
+ parameters: {
10690
+ query?: never;
10691
+ header?: never;
10692
+ path: {
10693
+ /** @description Macro ID */
10694
+ id: string;
10695
+ };
10696
+ cookie?: never;
10697
+ };
10698
+ requestBody: {
10699
+ content: {
10700
+ "application/json": components["schemas"]["UpdateMacroInput"];
10701
+ };
10702
+ };
10703
+ responses: {
10704
+ /** @description Default Response */
10705
+ 200: {
10706
+ headers: {
10707
+ [name: string]: unknown;
10708
+ };
10709
+ content: {
10710
+ "application/json": components["schemas"]["SavedReplyDto"];
10711
+ };
10712
+ };
10713
+ /** @description Internal Server Error */
10714
+ 500: {
10715
+ headers: {
10716
+ [name: string]: unknown;
10717
+ };
10718
+ content: {
10719
+ "application/json": components["schemas"]["ErrorDto"];
10720
+ };
10721
+ };
10722
+ };
10723
+ };
10108
10724
  listHandoffEvents: {
10109
10725
  parameters: {
10110
10726
  query?: {
10111
10727
  /** @description Pagination cursor from a previous response */
10112
10728
  cursor?: string;
10113
10729
  /** @description Only return handoffs that include this reason */
10114
- reason?: "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
10730
+ reason?: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
10115
10731
  /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
10116
10732
  start_date?: string;
10117
10733
  /** @description End date in ISO 8601 format (defaults to now) */
@@ -10783,6 +11399,15 @@ export interface operations {
10783
11399
  "application/json": components["schemas"]["WorkflowDetailPublicResponseDto"];
10784
11400
  };
10785
11401
  };
11402
+ /** @description Default Response */
11403
+ 400: {
11404
+ headers: {
11405
+ [name: string]: unknown;
11406
+ };
11407
+ content: {
11408
+ "application/json": components["schemas"]["WorkflowValidationErrorResponse"];
11409
+ };
11410
+ };
10786
11411
  /** @description Internal Server Error */
10787
11412
  500: {
10788
11413
  headers: {
@@ -10880,6 +11505,15 @@ export interface operations {
10880
11505
  "application/json": components["schemas"]["WorkflowDetailPublicResponseDto"];
10881
11506
  };
10882
11507
  };
11508
+ /** @description Default Response */
11509
+ 400: {
11510
+ headers: {
11511
+ [name: string]: unknown;
11512
+ };
11513
+ content: {
11514
+ "application/json": components["schemas"]["WorkflowValidationErrorResponse"];
11515
+ };
11516
+ };
10883
11517
  /** @description Internal Server Error */
10884
11518
  500: {
10885
11519
  headers: {
@@ -10915,6 +11549,15 @@ export interface operations {
10915
11549
  "application/json": components["schemas"]["WorkflowDetailPublicResponseDto"];
10916
11550
  };
10917
11551
  };
11552
+ /** @description Default Response */
11553
+ 400: {
11554
+ headers: {
11555
+ [name: string]: unknown;
11556
+ };
11557
+ content: {
11558
+ "application/json": components["schemas"]["WorkflowValidationErrorResponse"];
11559
+ };
11560
+ };
10918
11561
  /** @description Internal Server Error */
10919
11562
  500: {
10920
11563
  headers: {
@@ -11761,6 +12404,79 @@ export interface operations {
11761
12404
  };
11762
12405
  };
11763
12406
  };
12407
+ listResourceConversations: {
12408
+ parameters: {
12409
+ query?: {
12410
+ usageKind?: "applied" | "available";
12411
+ from?: unknown;
12412
+ to?: unknown;
12413
+ limit?: number;
12414
+ offset?: number;
12415
+ };
12416
+ header?: never;
12417
+ path: {
12418
+ resource_type: "action" | "instruction" | "knowledge";
12419
+ resource_id: string;
12420
+ };
12421
+ cookie?: never;
12422
+ };
12423
+ requestBody?: never;
12424
+ responses: {
12425
+ /** @description Default Response */
12426
+ 200: {
12427
+ headers: {
12428
+ [name: string]: unknown;
12429
+ };
12430
+ content: {
12431
+ "application/json": components["schemas"]["PublicResourceUsageConversationsDto"];
12432
+ };
12433
+ };
12434
+ /** @description Internal Server Error */
12435
+ 500: {
12436
+ headers: {
12437
+ [name: string]: unknown;
12438
+ };
12439
+ content: {
12440
+ "application/json": components["schemas"]["ErrorDto"];
12441
+ };
12442
+ };
12443
+ };
12444
+ };
12445
+ getResourceUsageSummary: {
12446
+ parameters: {
12447
+ query?: {
12448
+ from?: unknown;
12449
+ to?: unknown;
12450
+ };
12451
+ header?: never;
12452
+ path: {
12453
+ resource_type: "action" | "instruction" | "knowledge";
12454
+ resource_id: string;
12455
+ };
12456
+ cookie?: never;
12457
+ };
12458
+ requestBody?: never;
12459
+ responses: {
12460
+ /** @description Default Response */
12461
+ 200: {
12462
+ headers: {
12463
+ [name: string]: unknown;
12464
+ };
12465
+ content: {
12466
+ "application/json": components["schemas"]["PublicResourceUsageSummaryDto"];
12467
+ };
12468
+ };
12469
+ /** @description Internal Server Error */
12470
+ 500: {
12471
+ headers: {
12472
+ [name: string]: unknown;
12473
+ };
12474
+ content: {
12475
+ "application/json": components["schemas"]["ErrorDto"];
12476
+ };
12477
+ };
12478
+ };
12479
+ };
11764
12480
  createSequence: {
11765
12481
  parameters: {
11766
12482
  query?: never;
@@ -12847,6 +13563,41 @@ export interface operations {
12847
13563
  };
12848
13564
  };
12849
13565
  };
13566
+ updateTrainingRestrictions: {
13567
+ parameters: {
13568
+ query?: never;
13569
+ header?: never;
13570
+ path: {
13571
+ id: string;
13572
+ };
13573
+ cookie?: never;
13574
+ };
13575
+ requestBody: {
13576
+ content: {
13577
+ "application/json": components["schemas"]["UpdateTrainingRestrictionsDto"];
13578
+ };
13579
+ };
13580
+ responses: {
13581
+ /** @description Default Response */
13582
+ 200: {
13583
+ headers: {
13584
+ [name: string]: unknown;
13585
+ };
13586
+ content: {
13587
+ "application/json": components["schemas"]["TrainingPublicResponseDto"];
13588
+ };
13589
+ };
13590
+ /** @description Internal Server Error */
13591
+ 500: {
13592
+ headers: {
13593
+ [name: string]: unknown;
13594
+ };
13595
+ content: {
13596
+ "application/json": components["schemas"]["ErrorDto"];
13597
+ };
13598
+ };
13599
+ };
13600
+ };
12850
13601
  applyTrainingDiff: {
12851
13602
  parameters: {
12852
13603
  query?: never;