@opencx/mcp 1.15.25 → 1.15.27

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
@@ -471,6 +471,30 @@ export interface paths {
471
471
  patch?: never;
472
472
  trace?: never;
473
473
  };
474
+ "/chat/sessions/{session_id}/sub-status": {
475
+ parameters: {
476
+ query?: never;
477
+ header?: never;
478
+ path?: never;
479
+ cookie?: never;
480
+ };
481
+ get?: never;
482
+ /**
483
+ * Set the custom status of a chat session
484
+ * @description Apply a custom status (see GET /custom-statuses) to the session. The session moves to the custom status's built-in parent: an open-parented status reopens a closed session, a closed-parented one closes it, with the same side effects as the dashboard (timeline events, ticketing-system sync, workflow triggers). Replaces any custom status already on the session.
485
+ */
486
+ put: operations["setChatSessionSubStatus"];
487
+ post?: never;
488
+ /**
489
+ * Clear the custom status of a chat session
490
+ * @description Remove the custom status from the session. The built-in status (open / closed_resolved / closed_unresolved) is left exactly as it is, so clearing on a closed session does not reopen or re-close it. To change the built-in status use PATCH /chat/sessions/{session_id}.
491
+ */
492
+ delete: operations["clearChatSessionSubStatus"];
493
+ options?: never;
494
+ head?: never;
495
+ patch?: never;
496
+ trace?: never;
497
+ };
474
498
  "/chat/sessions/{session_id}/send": {
475
499
  parameters: {
476
500
  query?: never;
@@ -1905,6 +1929,82 @@ export interface paths {
1905
1929
  patch: operations["updateMacro"];
1906
1930
  trace?: never;
1907
1931
  };
1932
+ "/skills": {
1933
+ parameters: {
1934
+ query?: never;
1935
+ header?: never;
1936
+ path?: never;
1937
+ cookie?: never;
1938
+ };
1939
+ /**
1940
+ * List skills
1941
+ * @description List every routing skill defined for the organization, newest first. Skills power skills-based routing: a session carries required skills (set by the "Assign Skills to Ticket" workflow action) and, when a team-assign action runs with skill-based routing enabled, only agents holding every required skill are eligible. Session skills are not writable through the API.
1942
+ */
1943
+ get: operations["listSkills"];
1944
+ put?: never;
1945
+ /**
1946
+ * Create a skill
1947
+ * @description Create a routing skill. Names are unique per organization, case-insensitively (400 on conflict). The description is what workflow steps see in the `{{routingSkills}}` variable when an AI step decides which skills a session needs, so write it as the condition under which the skill applies.
1948
+ */
1949
+ post: operations["createSkill"];
1950
+ delete?: never;
1951
+ options?: never;
1952
+ head?: never;
1953
+ patch?: never;
1954
+ trace?: never;
1955
+ };
1956
+ "/skills/{skill_id}": {
1957
+ parameters: {
1958
+ query?: never;
1959
+ header?: never;
1960
+ path?: never;
1961
+ cookie?: never;
1962
+ };
1963
+ /**
1964
+ * Get a skill
1965
+ * @description Get a single routing skill by ID.
1966
+ */
1967
+ get: operations["getSkill"];
1968
+ put?: never;
1969
+ post?: never;
1970
+ /**
1971
+ * Delete a skill
1972
+ * @description Delete a routing skill. Agents and sessions that referenced it simply stop requiring / holding it — references are dropped at read time.
1973
+ */
1974
+ delete: operations["deleteSkill"];
1975
+ options?: never;
1976
+ head?: never;
1977
+ /**
1978
+ * Update a skill
1979
+ * @description Rename a routing skill and/or change its description. Renaming is safe: agents and sessions reference skills by ID. 400 if the new name already exists (case-insensitive).
1980
+ */
1981
+ patch: operations["updateSkill"];
1982
+ trace?: never;
1983
+ };
1984
+ "/skills/users/{user_id}": {
1985
+ parameters: {
1986
+ query?: never;
1987
+ header?: never;
1988
+ path?: never;
1989
+ cookie?: never;
1990
+ };
1991
+ /**
1992
+ * Get an agent's skills
1993
+ * @description List the routing skills an organization member holds. Skills deleted after assignment are omitted. 404 if the user is not a member of the organization.
1994
+ */
1995
+ get: operations["getUserSkills"];
1996
+ /**
1997
+ * Replace an agent's skills
1998
+ * @description Replace the full set of routing skills an organization member holds (skills not in `skill_ids` are removed). 400 if any ID is not a skill of this organization; 404 if the user is not a member. Returns the resolved skills now assigned.
1999
+ */
2000
+ put: operations["setUserSkills"];
2001
+ post?: never;
2002
+ delete?: never;
2003
+ options?: never;
2004
+ head?: never;
2005
+ patch?: never;
2006
+ trace?: never;
2007
+ };
1908
2008
  "/handoff-analytics/events": {
1909
2009
  parameters: {
1910
2010
  query?: never;
@@ -2237,6 +2337,58 @@ export interface paths {
2237
2337
  patch?: never;
2238
2338
  trace?: never;
2239
2339
  };
2340
+ "/custom-statuses": {
2341
+ parameters: {
2342
+ query?: never;
2343
+ header?: never;
2344
+ path?: never;
2345
+ cookie?: never;
2346
+ };
2347
+ /**
2348
+ * List custom statuses
2349
+ * @description List every custom session status defined for your organization. A custom status refines one of the built-in statuses (open, closed_resolved, closed_unresolved) with an agent-facing name and optional customer-facing label, color, and icon. A session carries at most one custom status in its `sub_status_id`; use this list to resolve that id to a name.
2350
+ */
2351
+ get: operations["listCustomStatuses"];
2352
+ put?: never;
2353
+ /**
2354
+ * Create a custom status
2355
+ * @description Create a custom session status under one of the built-in statuses. Names are unique per organization. Once created, apply it to a session with `PUT /chat/sessions/{session_id}/sub-status`.
2356
+ */
2357
+ post: operations["createCustomStatus"];
2358
+ delete?: never;
2359
+ options?: never;
2360
+ head?: never;
2361
+ patch?: never;
2362
+ trace?: never;
2363
+ };
2364
+ "/custom-statuses/{id}": {
2365
+ parameters: {
2366
+ query?: never;
2367
+ header?: never;
2368
+ path?: never;
2369
+ cookie?: never;
2370
+ };
2371
+ /**
2372
+ * Get a custom status
2373
+ * @description Fetch one custom session status by id.
2374
+ */
2375
+ get: operations["getCustomStatus"];
2376
+ put?: never;
2377
+ post?: never;
2378
+ /**
2379
+ * Delete a custom status
2380
+ * @description Delete a custom status. Sessions that carried it fall back to their built-in status (`sub_status_id` becomes null); their timeline history keeps the id.
2381
+ */
2382
+ delete: operations["deleteCustomStatus"];
2383
+ options?: never;
2384
+ head?: never;
2385
+ /**
2386
+ * Update a custom status
2387
+ * @description Update any subset of a custom status. Omitted fields are left unchanged; the nullable display fields accept null to clear them. Sessions already carrying this status keep it.
2388
+ */
2389
+ patch: operations["updateCustomStatus"];
2390
+ trace?: never;
2391
+ };
2240
2392
  "/workflows/definitions": {
2241
2393
  parameters: {
2242
2394
  query?: never;
@@ -3271,6 +3423,50 @@ export interface paths {
3271
3423
  patch?: never;
3272
3424
  trace?: never;
3273
3425
  };
3426
+ "/sequences/{sequenceId}/contacts/{contactId}/steps/{stepIndex}/preview": {
3427
+ parameters: {
3428
+ query?: never;
3429
+ header?: never;
3430
+ path?: never;
3431
+ cookie?: never;
3432
+ };
3433
+ /**
3434
+ * What one person will get at one step, rendered
3435
+ * @description Rendered by the same code the send path runs: the step's template filled in for this person, their personalization if they have one, or — once the step went out — the send record of what they actually received. A blocked render names the reason the person would park (missing data, an unsendable value, an unreadable template).
3436
+ */
3437
+ get: operations["previewSequenceStepForContact"];
3438
+ put?: never;
3439
+ post?: never;
3440
+ delete?: never;
3441
+ options?: never;
3442
+ head?: never;
3443
+ patch?: never;
3444
+ trace?: never;
3445
+ };
3446
+ "/sequences/{sequenceId}/contacts/{contactId}/steps/{stepIndex}/personalization": {
3447
+ parameters: {
3448
+ query?: never;
3449
+ header?: never;
3450
+ path?: never;
3451
+ cookie?: never;
3452
+ };
3453
+ get?: never;
3454
+ /**
3455
+ * Hand-write one step for one person
3456
+ * @description Stores a rendered snapshot the sequence sends to this person INSTEAD of the step: email as subject + html (text derived when omitted), a voice call brief, or literal slot values on the step's own WhatsApp template. Only for steps the person has not reached. A person parked on this step for missing data is released — the snapshot has no holes. Editing the step later never touches it; clear it to go back to the template.
3457
+ */
3458
+ put: operations["setSequenceStepPersonalization"];
3459
+ post?: never;
3460
+ /**
3461
+ * Remove a person's hand-written step — back to the template
3462
+ * @description Idempotent: nothing to clear returns cleared=false, never an error.
3463
+ */
3464
+ delete: operations["clearSequenceStepPersonalization"];
3465
+ options?: never;
3466
+ head?: never;
3467
+ patch?: never;
3468
+ trace?: never;
3469
+ };
3274
3470
  "/sequences/{sequenceId}/contacts/{contactId}/include": {
3275
3471
  parameters: {
3276
3472
  query?: never;
@@ -5319,7 +5515,7 @@ export interface paths {
5319
5515
  };
5320
5516
  /**
5321
5517
  * Search connected orgs with health signals (paginated)
5322
- * @description Find, filter, sort and page through the calling partner's connected orgs (its customers), each with the health signals the Partner Admin console shows: `health.status` — `new` (connected < 7 days, no sessions yet), `setup_incomplete` (no knowledge sources and no actions), `inactive` (no session in the last 30 days), `healthy` (everything else) — plus `members`, `data_sources`, `has_ai_training`, `has_actions`, `sessions_30d`, `total_sessions`, `last_session_at`, and per-channel connected flags (`chat`, `email`, `whatsapp`, `voice`). `q` matches name or external_id; `status`, `tags` and `channels` are comma-separated (tags match ANY, channels match ALL); `has_ai` / `has_actions` are 'true' / 'false'. Max 100 rows per page (`limit`/`offset`); `total` is the filtered count. For volume, quality and behaviour beyond these signals use `runPartnerAnalyticsQuery`; for the full id → name roster use `listPartnerOrgs`. Only available to partner admin organizations (403 otherwise).
5518
+ * @description Find, filter, sort and page through the calling partner's connected orgs (its customers), each with the health signals the Partner Admin console shows: `health.status` — `new` (connected < 7 days, no sessions yet), `setup_incomplete` (no knowledge sources and no actions), `inactive` (no session in the last 30 days), `healthy` (everything else) — plus `members`, `data_sources`, `has_ai_training`, `has_actions`, `sessions_30d`, `total_sessions`, `last_session_at`, and per-channel connected flags (`chat`, `email`, `whatsapp`, `instagram`, `messenger`, `sms`, `voice`). `q` matches name or external_id; `status`, `tags`, `channels` and `addons` are comma-separated (tags match ANY, channels and add-ons match ALL; add-ons are `fareharbor`, `shopify`, `jira`); `has_ai` / `has_actions` are 'true' / 'false'; `archived=only` lists the partner's archived orgs, which are hidden unless asked for. Max 100 rows per page (`limit`/`offset`); `total` is the filtered count. For volume, quality and behaviour beyond these signals use `runPartnerAnalyticsQuery`; for the full id → name roster use `listPartnerOrgs`. Only available to partner admin organizations (403 otherwise).
5323
5519
  */
5324
5520
  get: operations["searchPartnerOrgs"];
5325
5521
  put?: never;
@@ -5493,7 +5689,7 @@ export interface paths {
5493
5689
  put?: never;
5494
5690
  /**
5495
5691
  * Create an AI reply template
5496
- * @description Create a reply template (Salesforce v2 integration only). The organization's first template becomes the default automatically; `is_default: true` on a later one moves the default atomically. Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once. Optional `rules` (ANDed attribute/tag conditions) make the template pick itself for matching sessions; the first matching rule-bearing template in creation order wins, otherwise the default.
5692
+ * @description Create a reply template (Salesforce v2 integration only). The organization's first template becomes the default automatically; `is_default: true` on a later one moves the default atomically. Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once. Optional `rules` (ANDed attribute/tag conditions) make the template pick itself for matching sessions; the first matching rule-bearing template in creation order wins, otherwise the default. Optional `from_address` / `to_address` set the From and To of the autopilot email per session: a literal address, a {{session attribute}} (e.g. {{sf_case_LatestPOSEmail__c}} as From, {{reservation_email}} as To) or an {{#if …}} branch. Each is used only when it resolves to an email address on that session; otherwise the From stays Salesforce's default sender and the To stays the Case contact. A literal that is not an email address is rejected with 400. Combine with `rules` to use different addresses for different sessions.
5497
5693
  */
5498
5694
  post: operations["createSalesforceAiReplyTemplate"];
5499
5695
  delete?: never;
@@ -5521,7 +5717,7 @@ export interface paths {
5521
5717
  head?: never;
5522
5718
  /**
5523
5719
  * Update an AI reply template
5524
- * @description Partially update a reply template: name, template_html, is_default (true moves the default onto it), rules (null clears them). Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once.
5720
+ * @description Partially update a reply template: name, template_html, is_default (true moves the default onto it), rules (null clears them), from_address / to_address (null clears them). Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once. Optional `from_address` / `to_address` set the From and To of the autopilot email per session: a literal address, a {{session attribute}} (e.g. {{sf_case_LatestPOSEmail__c}} as From, {{reservation_email}} as To) or an {{#if …}} branch. Each is used only when it resolves to an email address on that session; otherwise the From stays Salesforce's default sender and the To stays the Case contact. A literal that is not an email address is rejected with 400. Combine with `rules` to use different addresses for different sessions.
5525
5721
  */
5526
5722
  patch: operations["updateSalesforceAiReplyTemplate"];
5527
5723
  trace?: never;
@@ -5537,7 +5733,7 @@ export interface paths {
5537
5733
  put?: never;
5538
5734
  /**
5539
5735
  * Preview an AI reply template
5540
- * @description Render a template (saved or not) exactly as the AI agent would send it, against a real session of the organization: the session with `session_number`, else the most recent Salesforce-linked session, else an empty context. Returns the rendered HTML and text, the session used, and the variables that came out empty. Requires the write scope because it resolves real contact data.
5736
+ * @description Render a template (saved or not) exactly as the AI agent would send it, against a real session of the organization: the session with `session_number`, else the most recent Salesforce-linked session, else an empty context. Returns the rendered HTML and text, the session used, the variables that came out empty, and — when `from_address` / `to_address` are passed — the From and To the AI would use on that session (null = the default applies). Requires the write scope because it resolves real contact data.
5541
5737
  */
5542
5738
  post: operations["previewSalesforceAiReplyTemplate"];
5543
5739
  delete?: never;
@@ -5821,16 +6017,28 @@ export interface components {
5821
6017
  template_html: string;
5822
6018
  is_default?: boolean;
5823
6019
  rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
6020
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
6021
+ from_address?: string | null;
6022
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
6023
+ to_address?: string | null;
5824
6024
  };
5825
6025
  UpdateSalesforceAiReplyTemplateDto: {
5826
6026
  name?: string;
5827
6027
  template_html?: string;
5828
6028
  is_default?: boolean;
5829
6029
  rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
6030
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
6031
+ from_address?: string | null;
6032
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
6033
+ to_address?: string | null;
5830
6034
  };
5831
6035
  PreviewSalesforceAiReplyTemplateDto: {
5832
6036
  template_html: string;
5833
6037
  session_number?: number;
6038
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
6039
+ from_address?: string | null;
6040
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
6041
+ to_address?: string | null;
5834
6042
  };
5835
6043
  CreateSlaPolicyDto: {
5836
6044
  name: string;
@@ -6099,6 +6307,28 @@ export interface components {
6099
6307
  /** @description Only needed when the org has more than one WABA; otherwise resolved. */
6100
6308
  waba_id?: string;
6101
6309
  };
6310
+ SetSequenceStepPersonalizationDto: {
6311
+ content: {
6312
+ /** @constant */
6313
+ type: "email";
6314
+ subject: string;
6315
+ html: string;
6316
+ /** @description Plain-text alternative. Derived from html when omitted. */
6317
+ text?: string;
6318
+ } | {
6319
+ /** @constant */
6320
+ type: "voice_call";
6321
+ extra_instructions: string | null;
6322
+ } | {
6323
+ /** @constant */
6324
+ type: "whatsapp_template";
6325
+ template_name: string;
6326
+ template_language: string;
6327
+ values: {
6328
+ [key: string]: string;
6329
+ };
6330
+ };
6331
+ };
6102
6332
  ExitSequenceContactDto: {
6103
6333
  /** Format: uuid */
6104
6334
  contact_id?: string;
@@ -6377,7 +6607,7 @@ export interface components {
6377
6607
  type: "email";
6378
6608
  subject: string;
6379
6609
  html: string;
6380
- text: string;
6610
+ text?: string;
6381
6611
  /** @default {} */
6382
6612
  variables: {
6383
6613
  [key: string]: {
@@ -6494,6 +6724,17 @@ export interface components {
6494
6724
  tlds?: ("com" | "org")[];
6495
6725
  limit?: number;
6496
6726
  };
6727
+ CreateSkillDto: {
6728
+ name: string;
6729
+ description?: string | null;
6730
+ };
6731
+ UpdateSkillDto: {
6732
+ name?: string;
6733
+ description?: string | null;
6734
+ };
6735
+ UpdateUserSkillsDto: {
6736
+ skill_ids: string[];
6737
+ };
6497
6738
  EditArticleDto: {
6498
6739
  title: string;
6499
6740
  content_markdown?: string;
@@ -7055,8 +7296,10 @@ export interface components {
7055
7296
  };
7056
7297
  /** @description Filter by channels (web, email, whatsapp, phone_voice, sms, slack, etc.) */
7057
7298
  channels?: components["schemas"]["SessionChannel"][];
7058
- /** @description Filter by status codes (0 = open, 1 = closed_resolved, 2 = closed_unresolved, or custom status IDs) */
7299
+ /** @description Filter by built-in status codes (0 = open, 1 = closed_resolved, 2 = closed_unresolved) */
7059
7300
  status?: number[];
7301
+ /** @description Filter by custom status ids (sessions whose `sub_status_id` is any of these). Ids come from GET /custom-statuses. An empty array applies no filter, like the other array filters here. */
7302
+ sub_status_ids?: string[];
7060
7303
  /** @description Filter by AI closure type (e.g. "handed_off", "resolved", "no_resolution") */
7061
7304
  ai_closure?: ("assumed_resolved" | "handed_off" | "resolved")[];
7062
7305
  /** @description Filter by customer sentiment (angry, happy, neutral) */
@@ -7197,6 +7440,44 @@ export interface components {
7197
7440
  end_time: string;
7198
7441
  }[];
7199
7442
  };
7443
+ CreateCustomStatusDto: {
7444
+ /** @description Internal name shown to agents in the inbox (unique per organization, 1-100 chars) */
7445
+ name: string;
7446
+ /** @description Internal note for agents on when to use this status. Never shown to customers. */
7447
+ description?: string;
7448
+ /**
7449
+ * @description Built-in status this custom status refines: "open", "closed_resolved", or "closed_unresolved". Applying the custom status to a session moves the session to this built-in status, so an "open"-parented status reopens a closed session and a "closed_*"-parented one closes it.
7450
+ * @enum {string}
7451
+ */
7452
+ parent_status: "closed_resolved" | "closed_unresolved" | "open";
7453
+ /** @description Customer-facing label (max 100 chars). Falls back to `name` when omitted. */
7454
+ display_name?: string;
7455
+ /** @description Customer-facing explanation. No fallback: when omitted, customers see no description. */
7456
+ display_description?: string;
7457
+ /** @description Badge color as #RRGGBB. Omit to inherit the parent status color. */
7458
+ color?: string;
7459
+ /** @description Inline SVG markup for the badge icon (sanitized server-side, max 10,000 chars). Omit for the default icon. */
7460
+ icon?: string;
7461
+ };
7462
+ UpdateCustomStatusPublicDto: {
7463
+ /** @description Internal name shown to agents (unique per organization, 1-100 chars) */
7464
+ name?: string;
7465
+ /** @description Internal note for agents on when to use this status */
7466
+ description?: string;
7467
+ /**
7468
+ * @description Built-in status this custom status refines: "open", "closed_resolved", or "closed_unresolved". Applying the custom status to a session moves the session to this built-in status, so an "open"-parented status reopens a closed session and a "closed_*"-parented one closes it. Moving a status across the open/closed boundary drops its ticketing-system stage mappings.
7469
+ * @enum {string}
7470
+ */
7471
+ parent_status?: "closed_resolved" | "closed_unresolved" | "open";
7472
+ /** @description Customer-facing label (max 100 chars). null clears it back to `name`; omit to leave unchanged. */
7473
+ display_name?: string | null;
7474
+ /** @description Customer-facing explanation. null clears it; omit to leave unchanged. */
7475
+ display_description?: string | null;
7476
+ /** @description Badge color as #RRGGBB. null restores the parent status color; omit to leave unchanged. */
7477
+ color?: string | null;
7478
+ /** @description Inline SVG markup for the badge icon. null restores the default icon; omit to leave unchanged. */
7479
+ icon?: string | null;
7480
+ };
7200
7481
  CreateWorkflowPublicInput: {
7201
7482
  /** @description Workflow name */
7202
7483
  name: string;
@@ -7267,6 +7548,11 @@ export interface components {
7267
7548
  type?: "inbound" | "outbound";
7268
7549
  /** @description Voice ID from the /phone/voices endpoint. Omit for default voice. */
7269
7550
  voice_id?: string | null;
7551
+ /**
7552
+ * @description Voice provider returned by the /phone/voices endpoint. It is inferred from voice_id when omitted.
7553
+ * @enum {string}
7554
+ */
7555
+ tts_provider?: "elevenlabs" | "cartesia";
7270
7556
  /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry; Arabic accepts dialect tags such as "ar-SA". */
7271
7557
  language?: string[];
7272
7558
  /** @description What the agent says when it picks up (default: "Hello?") */
@@ -7296,6 +7582,11 @@ export interface components {
7296
7582
  type?: "inbound" | "outbound";
7297
7583
  /** @description Voice ID from the /phone/voices endpoint. Omit for default voice. */
7298
7584
  voice_id?: string | null;
7585
+ /**
7586
+ * @description Voice provider returned by the /phone/voices endpoint. It is inferred from voice_id when omitted.
7587
+ * @enum {string}
7588
+ */
7589
+ tts_provider?: "elevenlabs" | "cartesia";
7299
7590
  /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry; Arabic accepts dialect tags such as "ar-SA". */
7300
7591
  language?: string[];
7301
7592
  /** @description What the agent says when it picks up (default: "Hello?") */
@@ -7556,6 +7847,13 @@ export interface components {
7556
7847
  /** @description Additional context about the situation */
7557
7848
  context?: string;
7558
7849
  };
7850
+ SetChatSessionSubStatusInput: {
7851
+ /**
7852
+ * Format: uuid
7853
+ * @description Id of the custom status to apply, from GET /custom-statuses
7854
+ */
7855
+ sub_status_id: string;
7856
+ };
7559
7857
  InvestigateSessionDebugInput: {
7560
7858
  /**
7561
7859
  * Format: uuid
@@ -8351,6 +8649,10 @@ export interface components {
8351
8649
  template_html: string;
8352
8650
  is_default: boolean;
8353
8651
  rules: components["schemas"]["SalesforceReplyTemplateRules"] | null;
8652
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
8653
+ from_address: string | null;
8654
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
8655
+ to_address: string | null;
8354
8656
  /** Format: date-time */
8355
8657
  created_at: string;
8356
8658
  /** Format: date-time */
@@ -8364,6 +8666,8 @@ export interface components {
8364
8666
  text: string;
8365
8667
  session_number: number | null;
8366
8668
  missing_variables: string[];
8669
+ from_address: string | null;
8670
+ to_address: string | null;
8367
8671
  };
8368
8672
  ContactsFilter: {
8369
8673
  /** @constant */
@@ -8538,6 +8842,22 @@ export interface components {
8538
8842
  customDataKeys?: string[];
8539
8843
  }[];
8540
8844
  };
8845
+ CustomSessionStatusDto: {
8846
+ id: string;
8847
+ org_id: string;
8848
+ name: string;
8849
+ description: string | null;
8850
+ display_name: string | null;
8851
+ display_description: string | null;
8852
+ color: string | null;
8853
+ icon: string | null;
8854
+ /** @enum {string} */
8855
+ parent_status: "closed_resolved" | "closed_unresolved" | "open";
8856
+ /** Format: date-time */
8857
+ created_at: string;
8858
+ /** Format: date-time */
8859
+ updated_at: string;
8860
+ };
8541
8861
  StructuredFieldSystemOptionDto: {
8542
8862
  value: string;
8543
8863
  label: string;
@@ -8918,11 +9238,15 @@ export interface components {
8918
9238
  stt_keyterms: string[];
8919
9239
  stt_model: ("deepgram/flux-general" | "deepgram/nova-3" | "deepgram/nova-3-medical" | "cartesia/ink-whisper" | "elevenlabs/scribe_v2_realtime" | "xai/stt-1" | "assemblyai/universal-3-5-pro" | "speechmatics/enhanced" | "google/gemini-3.5-transcribe-live" | "soniox/stt-rt-v5") | null;
8920
9240
  tts_speed_pct: number | null;
9241
+ /** @enum {string} */
9242
+ tts_provider: "elevenlabs" | "cartesia";
8921
9243
  failover_transfer_destination_id: string | null;
8922
9244
  /** @description Transfer destinations the agent may transfer to (`transfer_call` targets). */
8923
9245
  transfer_destination_ids: string[];
8924
9246
  };
8925
9247
  PhoneAgentVoiceDto: {
9248
+ /** @enum {string} */
9249
+ provider: "elevenlabs" | "cartesia";
8926
9250
  voice_id: string;
8927
9251
  name: string;
8928
9252
  labels: {
@@ -8935,6 +9259,7 @@ export interface components {
8935
9259
  };
8936
9260
  description: string | null;
8937
9261
  preview_url: string | null;
9262
+ default_speed_pct: number | null;
8938
9263
  };
8939
9264
  KnowledgeSourceTreeItemDto: {
8940
9265
  id: string;
@@ -9275,6 +9600,108 @@ export interface components {
9275
9600
  /** @description Effectively always false on create: Meta review takes minutes to hours. Reference it from a step now — a pending template does not block launch; sends start the moment it clears. */
9276
9601
  sendable: boolean;
9277
9602
  };
9603
+ SequenceStepPersonalizationDto: {
9604
+ step_index: number;
9605
+ content: ({
9606
+ /** @constant */
9607
+ type: "email";
9608
+ subject: string;
9609
+ html: string;
9610
+ text: string;
9611
+ } | {
9612
+ /** @constant */
9613
+ type: "voice_call";
9614
+ extra_instructions: string | null;
9615
+ } | {
9616
+ /** @constant */
9617
+ type: "whatsapp_template";
9618
+ template_name: string;
9619
+ template_language: string;
9620
+ values: {
9621
+ [key: string]: string;
9622
+ };
9623
+ }) | null;
9624
+ edited_at: string | null;
9625
+ edited_by: number | null;
9626
+ stale: boolean;
9627
+ unreadable: boolean;
9628
+ };
9629
+ SetSequenceStepPersonalizationOutputDto: {
9630
+ personalization: components["schemas"]["SequenceStepPersonalizationDto"];
9631
+ unparked: boolean;
9632
+ armed: boolean;
9633
+ };
9634
+ ClearSequenceStepPersonalizationOutputDto: {
9635
+ cleared: boolean;
9636
+ };
9637
+ SequenceStepPreviewDto: {
9638
+ step_index: number;
9639
+ /** @enum {string} */
9640
+ channel: "whatsapp" | "voice" | "email";
9641
+ /** @enum {string} */
9642
+ source: "template" | "personalized" | "sent";
9643
+ stale_personalization: boolean;
9644
+ sender_id: string | null;
9645
+ editable: boolean;
9646
+ journey: {
9647
+ step_index: number;
9648
+ channel: string;
9649
+ /** @enum {string} */
9650
+ state: "not_reached" | "waiting" | "parked" | "deferred" | "skipped" | "sent" | "delivered" | "read" | "replied" | "answered" | "no_answer" | "busy" | "failed";
9651
+ at: string | null;
9652
+ session_id: string | null;
9653
+ session_ticket_number: number | null;
9654
+ reason?: string;
9655
+ };
9656
+ render: {
9657
+ /** @constant */
9658
+ status: "rendered";
9659
+ content: {
9660
+ /** @constant */
9661
+ type: "email";
9662
+ subject: string;
9663
+ html: string;
9664
+ text: string;
9665
+ } | {
9666
+ /** @constant */
9667
+ type: "voice_call";
9668
+ extra_instructions: string | null;
9669
+ } | {
9670
+ /** @constant */
9671
+ type: "whatsapp_template";
9672
+ template_name: string;
9673
+ template_language: string;
9674
+ values: {
9675
+ [key: string]: string;
9676
+ };
9677
+ rendered_text: string | null;
9678
+ };
9679
+ } | {
9680
+ /** @constant */
9681
+ status: "needs_data";
9682
+ missing: {
9683
+ [key: string]: string;
9684
+ };
9685
+ } | {
9686
+ /** @constant */
9687
+ status: "unsendable_person";
9688
+ invalid: {
9689
+ [key: string]: string;
9690
+ };
9691
+ } | {
9692
+ /** @constant */
9693
+ status: "too_long";
9694
+ length: number;
9695
+ max: number;
9696
+ } | {
9697
+ /** @constant */
9698
+ status: "template_unavailable";
9699
+ detail: string;
9700
+ } | {
9701
+ /** @constant */
9702
+ status: "send_record_unreadable";
9703
+ };
9704
+ };
9278
9705
  ListSequenceContactsDto: {
9279
9706
  contacts: {
9280
9707
  /** Format: uuid */
@@ -9323,6 +9750,7 @@ export interface components {
9323
9750
  session_ticket_number: number | null;
9324
9751
  reason?: string;
9325
9752
  }[];
9753
+ personalized_steps: number;
9326
9754
  /** Format: date-time */
9327
9755
  created_at: string;
9328
9756
  /** Format: date-time */
@@ -9374,6 +9802,7 @@ export interface components {
9374
9802
  session_ticket_number: number | null;
9375
9803
  reason?: string;
9376
9804
  }[];
9805
+ personalized_steps: number;
9377
9806
  /** Format: date-time */
9378
9807
  created_at: string;
9379
9808
  /** Format: date-time */
@@ -9434,6 +9863,7 @@ export interface components {
9434
9863
  } | null;
9435
9864
  next_eligible_at: string | null;
9436
9865
  next_channel: string | null;
9866
+ personalizations: components["schemas"]["SequenceStepPersonalizationDto"][];
9437
9867
  };
9438
9868
  ExitSequenceContactOutputDto: {
9439
9869
  /** @enum {string} */
@@ -9963,13 +10393,24 @@ export interface components {
9963
10393
  };
9964
10394
  };
9965
10395
  };
9966
- CustomTrainingDirectoriesDto: {
10396
+ SkillDto: {
10397
+ /** Format: uuid */
9967
10398
  id: string;
9968
- name: string;
9969
10399
  org_id: string;
9970
- /** @description Parent folder id; null for a top-level folder. */
9971
- parent_id: string | null;
9972
- };
10400
+ name: string;
10401
+ description: string | null;
10402
+ /** Format: date-time */
10403
+ created_at: string;
10404
+ /** Format: date-time */
10405
+ updated_at: string;
10406
+ };
10407
+ CustomTrainingDirectoriesDto: {
10408
+ id: string;
10409
+ name: string;
10410
+ org_id: string;
10411
+ /** @description Parent folder id; null for a top-level folder. */
10412
+ parent_id: string | null;
10413
+ };
9973
10414
  SalesforceCrmContactDetailsDto: {
9974
10415
  id: string;
9975
10416
  salesforce_record_id: string;
@@ -10945,6 +11386,8 @@ export interface components {
10945
11386
  id: string;
10946
11387
  /** @enum {string} */
10947
11388
  status: "open" | "closed_resolved" | "closed_unresolved";
11389
+ /** @description Id of the custom status refining `status`, or null when only the built-in status applies. Resolve it with GET /custom-statuses. */
11390
+ sub_status_id: string | null;
10948
11391
  ai_closure_type: ("assumed_resolved" | "handed_off" | "resolved") | null;
10949
11392
  sentiment: ("angry" | "happy" | "neutral") | null;
10950
11393
  /** @description AI-generated summary of the conversation. Populated for both AI-resolved and handed-off sessions once the session has been summarized; null otherwise. */
@@ -12316,7 +12759,7 @@ export interface components {
12316
12759
  /** Format: email */
12317
12760
  email: string;
12318
12761
  avatar_url?: string | null;
12319
- permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions: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" | "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-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members: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-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
12762
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions: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" | "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-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members: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;
12320
12763
  };
12321
12764
  OrgUserDetail: {
12322
12765
  id: number;
@@ -12325,7 +12768,7 @@ export interface components {
12325
12768
  /** Format: email */
12326
12769
  email: string;
12327
12770
  avatar_url?: string | null;
12328
- permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions: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" | "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-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members: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-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
12771
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions: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" | "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-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members: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;
12329
12772
  teams: {
12330
12773
  group: components["schemas"]["GroupDto"];
12331
12774
  is_user_available_on_group: boolean;
@@ -12496,6 +12939,9 @@ export interface components {
12496
12939
  chat: boolean;
12497
12940
  email: boolean;
12498
12941
  whatsapp: boolean;
12942
+ instagram: boolean;
12943
+ messenger: boolean;
12944
+ sms: boolean;
12499
12945
  voice: boolean;
12500
12946
  };
12501
12947
  };
@@ -12738,6 +13184,9 @@ export interface components {
12738
13184
  }[];
12739
13185
  ListEmailTemplatesOutput: components["schemas"]["EmailTemplateDto"][];
12740
13186
  ListMacrosOutput: components["schemas"]["SavedReplyDto"][];
13187
+ ListSkillsOutput: components["schemas"]["SkillDto"][];
13188
+ GetUserSkillsOutput: components["schemas"]["SkillDto"][];
13189
+ SetUserSkillsOutput: components["schemas"]["SkillDto"][];
12741
13190
  ListHandoffEventsOutput: {
12742
13191
  items: {
12743
13192
  session_id: string;
@@ -12766,6 +13215,10 @@ export interface components {
12766
13215
  enabled: boolean;
12767
13216
  };
12768
13217
  ListTagCategoriesOutput: components["schemas"]["TagCategoryPublicResponseDto"][];
13218
+ ListCustomStatusesOutput: components["schemas"]["CustomSessionStatusDto"][];
13219
+ DeleteCustomStatusOutput: {
13220
+ message: string;
13221
+ };
12769
13222
  ListWorkflowsOutput: components["schemas"]["WorkflowPublicResponseDto"][];
12770
13223
  DeleteWorkflowOutput: {
12771
13224
  success: boolean;
@@ -13854,6 +14307,74 @@ export interface operations {
13854
14307
  };
13855
14308
  };
13856
14309
  };
14310
+ setChatSessionSubStatus: {
14311
+ parameters: {
14312
+ query?: never;
14313
+ header?: never;
14314
+ path: {
14315
+ /** @description The unique identifier of the chat session */
14316
+ session_id: string;
14317
+ };
14318
+ cookie?: never;
14319
+ };
14320
+ requestBody: {
14321
+ content: {
14322
+ "application/json": components["schemas"]["SetChatSessionSubStatusInput"];
14323
+ };
14324
+ };
14325
+ responses: {
14326
+ /** @description Default Response */
14327
+ 200: {
14328
+ headers: {
14329
+ [name: string]: unknown;
14330
+ };
14331
+ content: {
14332
+ "application/json": components["schemas"]["GetChatSessionOutput"];
14333
+ };
14334
+ };
14335
+ /** @description Internal Server Error */
14336
+ 500: {
14337
+ headers: {
14338
+ [name: string]: unknown;
14339
+ };
14340
+ content: {
14341
+ "application/json": components["schemas"]["ErrorDto"];
14342
+ };
14343
+ };
14344
+ };
14345
+ };
14346
+ clearChatSessionSubStatus: {
14347
+ parameters: {
14348
+ query?: never;
14349
+ header?: never;
14350
+ path: {
14351
+ /** @description The unique identifier of the chat session */
14352
+ session_id: string;
14353
+ };
14354
+ cookie?: never;
14355
+ };
14356
+ requestBody?: never;
14357
+ responses: {
14358
+ /** @description Default Response */
14359
+ 200: {
14360
+ headers: {
14361
+ [name: string]: unknown;
14362
+ };
14363
+ content: {
14364
+ "application/json": components["schemas"]["GetChatSessionOutput"];
14365
+ };
14366
+ };
14367
+ /** @description Internal Server Error */
14368
+ 500: {
14369
+ headers: {
14370
+ [name: string]: unknown;
14371
+ };
14372
+ content: {
14373
+ "application/json": components["schemas"]["ErrorDto"];
14374
+ };
14375
+ };
14376
+ };
14377
+ };
13857
14378
  sendMessage: {
13858
14379
  parameters: {
13859
14380
  query?: never;
@@ -17022,18 +17543,9 @@ export interface operations {
17022
17543
  };
17023
17544
  };
17024
17545
  };
17025
- listHandoffEvents: {
17546
+ listSkills: {
17026
17547
  parameters: {
17027
- query?: {
17028
- /** @description Pagination cursor from a previous response */
17029
- cursor?: string;
17030
- /** @description Only return handoffs that include this reason */
17031
- reason?: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
17032
- /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17033
- start_date?: string;
17034
- /** @description End date in ISO 8601 format (defaults to now) */
17035
- end_date?: string;
17036
- };
17548
+ query?: never;
17037
17549
  header?: never;
17038
17550
  path?: never;
17039
17551
  cookie?: never;
@@ -17046,7 +17558,7 @@ export interface operations {
17046
17558
  [name: string]: unknown;
17047
17559
  };
17048
17560
  content: {
17049
- "application/json": components["schemas"]["ListHandoffEventsOutput"];
17561
+ "application/json": components["schemas"]["ListSkillsOutput"];
17050
17562
  };
17051
17563
  };
17052
17564
  /** @description Internal Server Error */
@@ -17060,29 +17572,26 @@ export interface operations {
17060
17572
  };
17061
17573
  };
17062
17574
  };
17063
- getHandoffAnalytics: {
17575
+ createSkill: {
17064
17576
  parameters: {
17065
- query?: {
17066
- /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17067
- start_date?: string;
17068
- /** @description End date in ISO 8601 format (defaults to now) */
17069
- end_date?: string;
17070
- /** @description Filter to only handoffs referencing this instruction ID */
17071
- instruction_id?: string;
17072
- };
17577
+ query?: never;
17073
17578
  header?: never;
17074
17579
  path?: never;
17075
17580
  cookie?: never;
17076
17581
  };
17077
- requestBody?: never;
17582
+ requestBody: {
17583
+ content: {
17584
+ "application/json": components["schemas"]["CreateSkillDto"];
17585
+ };
17586
+ };
17078
17587
  responses: {
17079
17588
  /** @description Default Response */
17080
- 200: {
17589
+ 201: {
17081
17590
  headers: {
17082
17591
  [name: string]: unknown;
17083
17592
  };
17084
17593
  content: {
17085
- "application/json": components["schemas"]["HandoffAnalyticsPublicResponseDto"];
17594
+ "application/json": components["schemas"]["SkillDto"];
17086
17595
  };
17087
17596
  };
17088
17597
  /** @description Internal Server Error */
@@ -17096,16 +17605,14 @@ export interface operations {
17096
17605
  };
17097
17606
  };
17098
17607
  };
17099
- getImpactReport: {
17608
+ getSkill: {
17100
17609
  parameters: {
17101
- query?: {
17102
- /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17103
- start_date?: string;
17104
- /** @description End date in ISO 8601 format (defaults to now) */
17105
- end_date?: string;
17106
- };
17610
+ query?: never;
17107
17611
  header?: never;
17108
- path?: never;
17612
+ path: {
17613
+ /** @description Skill ID */
17614
+ skill_id: string;
17615
+ };
17109
17616
  cookie?: never;
17110
17617
  };
17111
17618
  requestBody?: never;
@@ -17116,7 +17623,7 @@ export interface operations {
17116
17623
  [name: string]: unknown;
17117
17624
  };
17118
17625
  content: {
17119
- "application/json": components["schemas"]["ImpactReportResponseDto"];
17626
+ "application/json": components["schemas"]["SkillDto"];
17120
17627
  };
17121
17628
  };
17122
17629
  /** @description Internal Server Error */
@@ -17130,32 +17637,24 @@ export interface operations {
17130
17637
  };
17131
17638
  };
17132
17639
  };
17133
- getConversationSankey: {
17640
+ deleteSkill: {
17134
17641
  parameters: {
17135
- query: {
17136
- /** @description Ordered dimensions, 1–6, built left→right. Either a comma-separated key list ("replied_by,outcome") or a JSON array of {dimension, customDataKey} to give each custom-data column its own jsonb key, e.g. [{"dimension":"contact_custom_data","customDataKey":"tier"},{"dimension":"session_custom_data","customDataKey":"plan"}]. */
17137
- dimensions: string;
17138
- /** @description Fallback jsonb key for custom-data dimensions given via the CSV form (or when a JSON dimension omits its own customDataKey). Ignored where a dimension carries its own key. */
17139
- custom_data_key?: string;
17140
- /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17141
- start_date?: string;
17142
- /** @description End date in ISO 8601 format (defaults to now) */
17143
- end_date?: string;
17144
- };
17642
+ query?: never;
17145
17643
  header?: never;
17146
- path?: never;
17644
+ path: {
17645
+ /** @description Skill ID */
17646
+ skill_id: string;
17647
+ };
17147
17648
  cookie?: never;
17148
17649
  };
17149
17650
  requestBody?: never;
17150
17651
  responses: {
17151
17652
  /** @description Default Response */
17152
- 200: {
17653
+ 204: {
17153
17654
  headers: {
17154
17655
  [name: string]: unknown;
17155
17656
  };
17156
- content: {
17157
- "application/json": components["schemas"]["SankeyReportResDto"];
17158
- };
17657
+ content?: never;
17159
17658
  };
17160
17659
  /** @description Internal Server Error */
17161
17660
  500: {
@@ -17168,27 +17667,21 @@ export interface operations {
17168
17667
  };
17169
17668
  };
17170
17669
  };
17171
- getConversationSankeyTickets: {
17670
+ updateSkill: {
17172
17671
  parameters: {
17173
- query: {
17174
- /** @description Ordered dimensions, 1–6, built left→right. Either a comma-separated key list ("replied_by,outcome") or a JSON array of {dimension, customDataKey} to give each custom-data column its own jsonb key, e.g. [{"dimension":"contact_custom_data","customDataKey":"tier"},{"dimension":"session_custom_data","customDataKey":"plan"}]. */
17175
- dimensions: string;
17176
- /** @description JSON-encoded array of {layerIndex, bucket} constraints identifying the clicked target: 1 constraint = a clicked node, 2 = a clicked link. bucket may be an "Other (N)" label. */
17177
- path: string;
17178
- /** @description Fallback jsonb key for custom-data dimensions given via the CSV form (or when a JSON dimension omits its own customDataKey). Ignored where a dimension carries its own key. */
17179
- custom_data_key?: string;
17180
- /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17181
- start_date?: string;
17182
- /** @description End date in ISO 8601 format (defaults to now) */
17183
- end_date?: string;
17184
- limit?: number;
17185
- offset?: number;
17186
- };
17672
+ query?: never;
17187
17673
  header?: never;
17188
- path?: never;
17674
+ path: {
17675
+ /** @description Skill ID */
17676
+ skill_id: string;
17677
+ };
17189
17678
  cookie?: never;
17190
17679
  };
17191
- requestBody?: never;
17680
+ requestBody: {
17681
+ content: {
17682
+ "application/json": components["schemas"]["UpdateSkillDto"];
17683
+ };
17684
+ };
17192
17685
  responses: {
17193
17686
  /** @description Default Response */
17194
17687
  200: {
@@ -17196,7 +17689,7 @@ export interface operations {
17196
17689
  [name: string]: unknown;
17197
17690
  };
17198
17691
  content: {
17199
- "application/json": components["schemas"]["SankeyTicketsResDto"];
17692
+ "application/json": components["schemas"]["SkillDto"];
17200
17693
  };
17201
17694
  };
17202
17695
  /** @description Internal Server Error */
@@ -17210,11 +17703,14 @@ export interface operations {
17210
17703
  };
17211
17704
  };
17212
17705
  };
17213
- getConversationSankeyDimensions: {
17706
+ getUserSkills: {
17214
17707
  parameters: {
17215
17708
  query?: never;
17216
17709
  header?: never;
17217
- path?: never;
17710
+ path: {
17711
+ /** @description Organization user ID */
17712
+ user_id: number;
17713
+ };
17218
17714
  cookie?: never;
17219
17715
  };
17220
17716
  requestBody?: never;
@@ -17225,7 +17721,7 @@ export interface operations {
17225
17721
  [name: string]: unknown;
17226
17722
  };
17227
17723
  content: {
17228
- "application/json": components["schemas"]["SankeyDimensionCatalogResDto"];
17724
+ "application/json": components["schemas"]["GetUserSkillsOutput"];
17229
17725
  };
17230
17726
  };
17231
17727
  /** @description Internal Server Error */
@@ -17239,14 +17735,21 @@ export interface operations {
17239
17735
  };
17240
17736
  };
17241
17737
  };
17242
- listOfficeHours: {
17738
+ setUserSkills: {
17243
17739
  parameters: {
17244
17740
  query?: never;
17245
17741
  header?: never;
17246
- path?: never;
17742
+ path: {
17743
+ /** @description Organization user ID */
17744
+ user_id: number;
17745
+ };
17247
17746
  cookie?: never;
17248
17747
  };
17249
- requestBody?: never;
17748
+ requestBody: {
17749
+ content: {
17750
+ "application/json": components["schemas"]["UpdateUserSkillsDto"];
17751
+ };
17752
+ };
17250
17753
  responses: {
17251
17754
  /** @description Default Response */
17252
17755
  200: {
@@ -17254,7 +17757,7 @@ export interface operations {
17254
17757
  [name: string]: unknown;
17255
17758
  };
17256
17759
  content: {
17257
- "application/json": components["schemas"]["ListOfficeHoursOutput"];
17760
+ "application/json": components["schemas"]["SetUserSkillsOutput"];
17258
17761
  };
17259
17762
  };
17260
17763
  /** @description Internal Server Error */
@@ -17268,18 +17771,23 @@ export interface operations {
17268
17771
  };
17269
17772
  };
17270
17773
  };
17271
- createOfficeHours: {
17774
+ listHandoffEvents: {
17272
17775
  parameters: {
17273
- query?: never;
17776
+ query?: {
17777
+ /** @description Pagination cursor from a previous response */
17778
+ cursor?: string;
17779
+ /** @description Only return handoffs that include this reason */
17780
+ reason?: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
17781
+ /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17782
+ start_date?: string;
17783
+ /** @description End date in ISO 8601 format (defaults to now) */
17784
+ end_date?: string;
17785
+ };
17274
17786
  header?: never;
17275
17787
  path?: never;
17276
17788
  cookie?: never;
17277
17789
  };
17278
- requestBody: {
17279
- content: {
17280
- "application/json": components["schemas"]["CreateOfficeHoursPublicDto"];
17281
- };
17282
- };
17790
+ requestBody?: never;
17283
17791
  responses: {
17284
17792
  /** @description Default Response */
17285
17793
  200: {
@@ -17287,7 +17795,7 @@ export interface operations {
17287
17795
  [name: string]: unknown;
17288
17796
  };
17289
17797
  content: {
17290
- "application/json": components["schemas"]["OfficeHoursPublicResponseDto"];
17798
+ "application/json": components["schemas"]["ListHandoffEventsOutput"];
17291
17799
  };
17292
17800
  };
17293
17801
  /** @description Internal Server Error */
@@ -17301,9 +17809,16 @@ export interface operations {
17301
17809
  };
17302
17810
  };
17303
17811
  };
17304
- getDefaultOfficeHours: {
17812
+ getHandoffAnalytics: {
17305
17813
  parameters: {
17306
- query?: never;
17814
+ query?: {
17815
+ /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17816
+ start_date?: string;
17817
+ /** @description End date in ISO 8601 format (defaults to now) */
17818
+ end_date?: string;
17819
+ /** @description Filter to only handoffs referencing this instruction ID */
17820
+ instruction_id?: string;
17821
+ };
17307
17822
  header?: never;
17308
17823
  path?: never;
17309
17824
  cookie?: never;
@@ -17316,7 +17831,7 @@ export interface operations {
17316
17831
  [name: string]: unknown;
17317
17832
  };
17318
17833
  content: {
17319
- "application/json": components["schemas"]["DefaultOfficeHoursResponseDto"];
17834
+ "application/json": components["schemas"]["HandoffAnalyticsPublicResponseDto"];
17320
17835
  };
17321
17836
  };
17322
17837
  /** @description Internal Server Error */
@@ -17330,18 +17845,19 @@ export interface operations {
17330
17845
  };
17331
17846
  };
17332
17847
  };
17333
- updateDefaultOfficeHours: {
17848
+ getImpactReport: {
17334
17849
  parameters: {
17335
- query?: never;
17850
+ query?: {
17851
+ /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17852
+ start_date?: string;
17853
+ /** @description End date in ISO 8601 format (defaults to now) */
17854
+ end_date?: string;
17855
+ };
17336
17856
  header?: never;
17337
17857
  path?: never;
17338
17858
  cookie?: never;
17339
17859
  };
17340
- requestBody: {
17341
- content: {
17342
- "application/json": components["schemas"]["DefaultOfficeHoursInputDto"];
17343
- };
17344
- };
17860
+ requestBody?: never;
17345
17861
  responses: {
17346
17862
  /** @description Default Response */
17347
17863
  200: {
@@ -17349,7 +17865,7 @@ export interface operations {
17349
17865
  [name: string]: unknown;
17350
17866
  };
17351
17867
  content: {
17352
- "application/json": components["schemas"]["DefaultOfficeHoursResponseDto"];
17868
+ "application/json": components["schemas"]["ImpactReportResponseDto"];
17353
17869
  };
17354
17870
  };
17355
17871
  /** @description Internal Server Error */
@@ -17363,14 +17879,247 @@ export interface operations {
17363
17879
  };
17364
17880
  };
17365
17881
  };
17366
- getOfficeHours: {
17882
+ getConversationSankey: {
17367
17883
  parameters: {
17368
- query?: never;
17369
- header?: never;
17370
- path: {
17371
- id: string;
17884
+ query: {
17885
+ /** @description Ordered dimensions, 1–6, built left→right. Either a comma-separated key list ("replied_by,outcome") or a JSON array of {dimension, customDataKey} to give each custom-data column its own jsonb key, e.g. [{"dimension":"contact_custom_data","customDataKey":"tier"},{"dimension":"session_custom_data","customDataKey":"plan"}]. */
17886
+ dimensions: string;
17887
+ /** @description Fallback jsonb key for custom-data dimensions given via the CSV form (or when a JSON dimension omits its own customDataKey). Ignored where a dimension carries its own key. */
17888
+ custom_data_key?: string;
17889
+ /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17890
+ start_date?: string;
17891
+ /** @description End date in ISO 8601 format (defaults to now) */
17892
+ end_date?: string;
17893
+ };
17894
+ header?: never;
17895
+ path?: never;
17896
+ cookie?: never;
17897
+ };
17898
+ requestBody?: never;
17899
+ responses: {
17900
+ /** @description Default Response */
17901
+ 200: {
17902
+ headers: {
17903
+ [name: string]: unknown;
17904
+ };
17905
+ content: {
17906
+ "application/json": components["schemas"]["SankeyReportResDto"];
17907
+ };
17908
+ };
17909
+ /** @description Internal Server Error */
17910
+ 500: {
17911
+ headers: {
17912
+ [name: string]: unknown;
17913
+ };
17914
+ content: {
17915
+ "application/json": components["schemas"]["ErrorDto"];
17916
+ };
17917
+ };
17918
+ };
17919
+ };
17920
+ getConversationSankeyTickets: {
17921
+ parameters: {
17922
+ query: {
17923
+ /** @description Ordered dimensions, 1–6, built left→right. Either a comma-separated key list ("replied_by,outcome") or a JSON array of {dimension, customDataKey} to give each custom-data column its own jsonb key, e.g. [{"dimension":"contact_custom_data","customDataKey":"tier"},{"dimension":"session_custom_data","customDataKey":"plan"}]. */
17924
+ dimensions: string;
17925
+ /** @description JSON-encoded array of {layerIndex, bucket} constraints identifying the clicked target: 1 constraint = a clicked node, 2 = a clicked link. bucket may be an "Other (N)" label. */
17926
+ path: string;
17927
+ /** @description Fallback jsonb key for custom-data dimensions given via the CSV form (or when a JSON dimension omits its own customDataKey). Ignored where a dimension carries its own key. */
17928
+ custom_data_key?: string;
17929
+ /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
17930
+ start_date?: string;
17931
+ /** @description End date in ISO 8601 format (defaults to now) */
17932
+ end_date?: string;
17933
+ limit?: number;
17934
+ offset?: number;
17935
+ };
17936
+ header?: never;
17937
+ path?: never;
17938
+ cookie?: never;
17939
+ };
17940
+ requestBody?: never;
17941
+ responses: {
17942
+ /** @description Default Response */
17943
+ 200: {
17944
+ headers: {
17945
+ [name: string]: unknown;
17946
+ };
17947
+ content: {
17948
+ "application/json": components["schemas"]["SankeyTicketsResDto"];
17949
+ };
17950
+ };
17951
+ /** @description Internal Server Error */
17952
+ 500: {
17953
+ headers: {
17954
+ [name: string]: unknown;
17955
+ };
17956
+ content: {
17957
+ "application/json": components["schemas"]["ErrorDto"];
17958
+ };
17959
+ };
17960
+ };
17961
+ };
17962
+ getConversationSankeyDimensions: {
17963
+ parameters: {
17964
+ query?: never;
17965
+ header?: never;
17966
+ path?: never;
17967
+ cookie?: never;
17968
+ };
17969
+ requestBody?: never;
17970
+ responses: {
17971
+ /** @description Default Response */
17972
+ 200: {
17973
+ headers: {
17974
+ [name: string]: unknown;
17975
+ };
17976
+ content: {
17977
+ "application/json": components["schemas"]["SankeyDimensionCatalogResDto"];
17978
+ };
17979
+ };
17980
+ /** @description Internal Server Error */
17981
+ 500: {
17982
+ headers: {
17983
+ [name: string]: unknown;
17984
+ };
17985
+ content: {
17986
+ "application/json": components["schemas"]["ErrorDto"];
17987
+ };
17372
17988
  };
17373
- cookie?: never;
17989
+ };
17990
+ };
17991
+ listOfficeHours: {
17992
+ parameters: {
17993
+ query?: never;
17994
+ header?: never;
17995
+ path?: never;
17996
+ cookie?: never;
17997
+ };
17998
+ requestBody?: never;
17999
+ responses: {
18000
+ /** @description Default Response */
18001
+ 200: {
18002
+ headers: {
18003
+ [name: string]: unknown;
18004
+ };
18005
+ content: {
18006
+ "application/json": components["schemas"]["ListOfficeHoursOutput"];
18007
+ };
18008
+ };
18009
+ /** @description Internal Server Error */
18010
+ 500: {
18011
+ headers: {
18012
+ [name: string]: unknown;
18013
+ };
18014
+ content: {
18015
+ "application/json": components["schemas"]["ErrorDto"];
18016
+ };
18017
+ };
18018
+ };
18019
+ };
18020
+ createOfficeHours: {
18021
+ parameters: {
18022
+ query?: never;
18023
+ header?: never;
18024
+ path?: never;
18025
+ cookie?: never;
18026
+ };
18027
+ requestBody: {
18028
+ content: {
18029
+ "application/json": components["schemas"]["CreateOfficeHoursPublicDto"];
18030
+ };
18031
+ };
18032
+ responses: {
18033
+ /** @description Default Response */
18034
+ 200: {
18035
+ headers: {
18036
+ [name: string]: unknown;
18037
+ };
18038
+ content: {
18039
+ "application/json": components["schemas"]["OfficeHoursPublicResponseDto"];
18040
+ };
18041
+ };
18042
+ /** @description Internal Server Error */
18043
+ 500: {
18044
+ headers: {
18045
+ [name: string]: unknown;
18046
+ };
18047
+ content: {
18048
+ "application/json": components["schemas"]["ErrorDto"];
18049
+ };
18050
+ };
18051
+ };
18052
+ };
18053
+ getDefaultOfficeHours: {
18054
+ parameters: {
18055
+ query?: never;
18056
+ header?: never;
18057
+ path?: never;
18058
+ cookie?: never;
18059
+ };
18060
+ requestBody?: never;
18061
+ responses: {
18062
+ /** @description Default Response */
18063
+ 200: {
18064
+ headers: {
18065
+ [name: string]: unknown;
18066
+ };
18067
+ content: {
18068
+ "application/json": components["schemas"]["DefaultOfficeHoursResponseDto"];
18069
+ };
18070
+ };
18071
+ /** @description Internal Server Error */
18072
+ 500: {
18073
+ headers: {
18074
+ [name: string]: unknown;
18075
+ };
18076
+ content: {
18077
+ "application/json": components["schemas"]["ErrorDto"];
18078
+ };
18079
+ };
18080
+ };
18081
+ };
18082
+ updateDefaultOfficeHours: {
18083
+ parameters: {
18084
+ query?: never;
18085
+ header?: never;
18086
+ path?: never;
18087
+ cookie?: never;
18088
+ };
18089
+ requestBody: {
18090
+ content: {
18091
+ "application/json": components["schemas"]["DefaultOfficeHoursInputDto"];
18092
+ };
18093
+ };
18094
+ responses: {
18095
+ /** @description Default Response */
18096
+ 200: {
18097
+ headers: {
18098
+ [name: string]: unknown;
18099
+ };
18100
+ content: {
18101
+ "application/json": components["schemas"]["DefaultOfficeHoursResponseDto"];
18102
+ };
18103
+ };
18104
+ /** @description Internal Server Error */
18105
+ 500: {
18106
+ headers: {
18107
+ [name: string]: unknown;
18108
+ };
18109
+ content: {
18110
+ "application/json": components["schemas"]["ErrorDto"];
18111
+ };
18112
+ };
18113
+ };
18114
+ };
18115
+ getOfficeHours: {
18116
+ parameters: {
18117
+ query?: never;
18118
+ header?: never;
18119
+ path: {
18120
+ id: string;
18121
+ };
18122
+ cookie?: never;
17374
18123
  };
17375
18124
  requestBody?: never;
17376
18125
  responses: {
@@ -17770,6 +18519,168 @@ export interface operations {
17770
18519
  };
17771
18520
  };
17772
18521
  };
18522
+ listCustomStatuses: {
18523
+ parameters: {
18524
+ query?: never;
18525
+ header?: never;
18526
+ path?: never;
18527
+ cookie?: never;
18528
+ };
18529
+ requestBody?: never;
18530
+ responses: {
18531
+ /** @description Default Response */
18532
+ 200: {
18533
+ headers: {
18534
+ [name: string]: unknown;
18535
+ };
18536
+ content: {
18537
+ "application/json": components["schemas"]["ListCustomStatusesOutput"];
18538
+ };
18539
+ };
18540
+ /** @description Internal Server Error */
18541
+ 500: {
18542
+ headers: {
18543
+ [name: string]: unknown;
18544
+ };
18545
+ content: {
18546
+ "application/json": components["schemas"]["ErrorDto"];
18547
+ };
18548
+ };
18549
+ };
18550
+ };
18551
+ createCustomStatus: {
18552
+ parameters: {
18553
+ query?: never;
18554
+ header?: never;
18555
+ path?: never;
18556
+ cookie?: never;
18557
+ };
18558
+ requestBody: {
18559
+ content: {
18560
+ "application/json": components["schemas"]["CreateCustomStatusDto"];
18561
+ };
18562
+ };
18563
+ responses: {
18564
+ /** @description Default Response */
18565
+ 201: {
18566
+ headers: {
18567
+ [name: string]: unknown;
18568
+ };
18569
+ content: {
18570
+ "application/json": components["schemas"]["CustomSessionStatusDto"];
18571
+ };
18572
+ };
18573
+ /** @description Internal Server Error */
18574
+ 500: {
18575
+ headers: {
18576
+ [name: string]: unknown;
18577
+ };
18578
+ content: {
18579
+ "application/json": components["schemas"]["ErrorDto"];
18580
+ };
18581
+ };
18582
+ };
18583
+ };
18584
+ getCustomStatus: {
18585
+ parameters: {
18586
+ query?: never;
18587
+ header?: never;
18588
+ path: {
18589
+ /** @description The custom status id */
18590
+ id: string;
18591
+ };
18592
+ cookie?: never;
18593
+ };
18594
+ requestBody?: never;
18595
+ responses: {
18596
+ /** @description Default Response */
18597
+ 200: {
18598
+ headers: {
18599
+ [name: string]: unknown;
18600
+ };
18601
+ content: {
18602
+ "application/json": components["schemas"]["CustomSessionStatusDto"];
18603
+ };
18604
+ };
18605
+ /** @description Internal Server Error */
18606
+ 500: {
18607
+ headers: {
18608
+ [name: string]: unknown;
18609
+ };
18610
+ content: {
18611
+ "application/json": components["schemas"]["ErrorDto"];
18612
+ };
18613
+ };
18614
+ };
18615
+ };
18616
+ deleteCustomStatus: {
18617
+ parameters: {
18618
+ query?: never;
18619
+ header?: never;
18620
+ path: {
18621
+ /** @description The custom status id */
18622
+ id: string;
18623
+ };
18624
+ cookie?: never;
18625
+ };
18626
+ requestBody?: never;
18627
+ responses: {
18628
+ /** @description Default Response */
18629
+ 200: {
18630
+ headers: {
18631
+ [name: string]: unknown;
18632
+ };
18633
+ content: {
18634
+ "application/json": components["schemas"]["DeleteCustomStatusOutput"];
18635
+ };
18636
+ };
18637
+ /** @description Internal Server Error */
18638
+ 500: {
18639
+ headers: {
18640
+ [name: string]: unknown;
18641
+ };
18642
+ content: {
18643
+ "application/json": components["schemas"]["ErrorDto"];
18644
+ };
18645
+ };
18646
+ };
18647
+ };
18648
+ updateCustomStatus: {
18649
+ parameters: {
18650
+ query?: never;
18651
+ header?: never;
18652
+ path: {
18653
+ /** @description The custom status id */
18654
+ id: string;
18655
+ };
18656
+ cookie?: never;
18657
+ };
18658
+ requestBody: {
18659
+ content: {
18660
+ "application/json": components["schemas"]["UpdateCustomStatusPublicDto"];
18661
+ };
18662
+ };
18663
+ responses: {
18664
+ /** @description Default Response */
18665
+ 200: {
18666
+ headers: {
18667
+ [name: string]: unknown;
18668
+ };
18669
+ content: {
18670
+ "application/json": components["schemas"]["CustomSessionStatusDto"];
18671
+ };
18672
+ };
18673
+ /** @description Internal Server Error */
18674
+ 500: {
18675
+ headers: {
18676
+ [name: string]: unknown;
18677
+ };
18678
+ content: {
18679
+ "application/json": components["schemas"]["ErrorDto"];
18680
+ };
18681
+ };
18682
+ };
18683
+ };
17773
18684
  listWorkflowDefinitions: {
17774
18685
  parameters: {
17775
18686
  query?: never;
@@ -19999,6 +20910,118 @@ export interface operations {
19999
20910
  };
20000
20911
  };
20001
20912
  };
20913
+ previewSequenceStepForContact: {
20914
+ parameters: {
20915
+ query?: never;
20916
+ header?: never;
20917
+ path: {
20918
+ /** @description The unique identifier of the sequence */
20919
+ sequenceId: string;
20920
+ /** @description The person's contact id (from enroll results or the people list) */
20921
+ contactId: string;
20922
+ /** @description Zero-based position in the step list */
20923
+ stepIndex: number;
20924
+ };
20925
+ cookie?: never;
20926
+ };
20927
+ requestBody?: never;
20928
+ responses: {
20929
+ /** @description Default Response */
20930
+ 200: {
20931
+ headers: {
20932
+ [name: string]: unknown;
20933
+ };
20934
+ content: {
20935
+ "application/json": components["schemas"]["SequenceStepPreviewDto"];
20936
+ };
20937
+ };
20938
+ /** @description Internal Server Error */
20939
+ 500: {
20940
+ headers: {
20941
+ [name: string]: unknown;
20942
+ };
20943
+ content: {
20944
+ "application/json": components["schemas"]["ErrorDto"];
20945
+ };
20946
+ };
20947
+ };
20948
+ };
20949
+ setSequenceStepPersonalization: {
20950
+ parameters: {
20951
+ query?: never;
20952
+ header?: never;
20953
+ path: {
20954
+ /** @description The unique identifier of the sequence */
20955
+ sequenceId: string;
20956
+ /** @description The person's contact id (from enroll results or the people list) */
20957
+ contactId: string;
20958
+ /** @description Zero-based position in the step list */
20959
+ stepIndex: number;
20960
+ };
20961
+ cookie?: never;
20962
+ };
20963
+ requestBody: {
20964
+ content: {
20965
+ "application/json": components["schemas"]["SetSequenceStepPersonalizationDto"];
20966
+ };
20967
+ };
20968
+ responses: {
20969
+ /** @description Default Response */
20970
+ 200: {
20971
+ headers: {
20972
+ [name: string]: unknown;
20973
+ };
20974
+ content: {
20975
+ "application/json": components["schemas"]["SetSequenceStepPersonalizationOutputDto"];
20976
+ };
20977
+ };
20978
+ /** @description Internal Server Error */
20979
+ 500: {
20980
+ headers: {
20981
+ [name: string]: unknown;
20982
+ };
20983
+ content: {
20984
+ "application/json": components["schemas"]["ErrorDto"];
20985
+ };
20986
+ };
20987
+ };
20988
+ };
20989
+ clearSequenceStepPersonalization: {
20990
+ parameters: {
20991
+ query?: never;
20992
+ header?: never;
20993
+ path: {
20994
+ /** @description The unique identifier of the sequence */
20995
+ sequenceId: string;
20996
+ /** @description The person's contact id (from enroll results or the people list) */
20997
+ contactId: string;
20998
+ /** @description Zero-based position in the step list */
20999
+ stepIndex: number;
21000
+ };
21001
+ cookie?: never;
21002
+ };
21003
+ requestBody?: never;
21004
+ responses: {
21005
+ /** @description Default Response */
21006
+ 200: {
21007
+ headers: {
21008
+ [name: string]: unknown;
21009
+ };
21010
+ content: {
21011
+ "application/json": components["schemas"]["ClearSequenceStepPersonalizationOutputDto"];
21012
+ };
21013
+ };
21014
+ /** @description Internal Server Error */
21015
+ 500: {
21016
+ headers: {
21017
+ [name: string]: unknown;
21018
+ };
21019
+ content: {
21020
+ "application/json": components["schemas"]["ErrorDto"];
21021
+ };
21022
+ };
21023
+ };
21024
+ };
20002
21025
  includeSequenceContact: {
20003
21026
  parameters: {
20004
21027
  query?: never;
@@ -23655,6 +24678,8 @@ export interface operations {
23655
24678
  has_actions?: "true" | "false";
23656
24679
  tags?: string;
23657
24680
  channels?: string;
24681
+ addons?: string;
24682
+ archived?: "only";
23658
24683
  sort_by?: "created_at" | "name" | "members" | "data_sources" | "sessions_30d" | "total_sessions" | "last_session_at";
23659
24684
  sort_dir?: "asc" | "desc";
23660
24685
  };