@blezgo/api-sdk 0.1.4 → 0.1.6

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.
Files changed (137) hide show
  1. package/dist/account/generated.d.ts +230 -230
  2. package/dist/account/generated.d.ts.map +1 -1
  3. package/dist/activity/generated.d.ts +46 -46
  4. package/dist/activity/generated.d.ts.map +1 -1
  5. package/dist/addon/generated.d.ts +101 -101
  6. package/dist/addon/generated.d.ts.map +1 -1
  7. package/dist/admin/generated.d.ts +122 -122
  8. package/dist/admin/generated.d.ts.map +1 -1
  9. package/dist/affiliate/generated.d.ts +82 -82
  10. package/dist/affiliate/generated.d.ts.map +1 -1
  11. package/dist/analytics/generated.d.ts +21 -21
  12. package/dist/analytics/generated.d.ts.map +1 -1
  13. package/dist/announcements/generated.d.ts +119 -119
  14. package/dist/announcements/generated.d.ts.map +1 -1
  15. package/dist/apikeys/generated.d.ts +129 -129
  16. package/dist/apikeys/generated.d.ts.map +1 -1
  17. package/dist/assistance/generated.d.ts +21 -21
  18. package/dist/assistance/generated.d.ts.map +1 -1
  19. package/dist/authentication/generated.d.ts +83 -83
  20. package/dist/authentication/generated.d.ts.map +1 -1
  21. package/dist/blog/generated.d.ts +212 -212
  22. package/dist/blog/generated.d.ts.map +1 -1
  23. package/dist/bundle/generated.d.ts +185 -185
  24. package/dist/bundle/generated.d.ts.map +1 -1
  25. package/dist/cache/generated.d.ts +27 -27
  26. package/dist/cache/generated.d.ts.map +1 -1
  27. package/dist/calendar/generated.d.ts +54 -54
  28. package/dist/calendar/generated.d.ts.map +1 -1
  29. package/dist/campaigns/generated.d.ts +206 -206
  30. package/dist/campaigns/generated.d.ts.map +1 -1
  31. package/dist/cart/generated.d.ts +42 -42
  32. package/dist/cart/generated.d.ts.map +1 -1
  33. package/dist/changelog/generated.d.ts +101 -101
  34. package/dist/changelog/generated.d.ts.map +1 -1
  35. package/dist/channel/generated.d.ts +213 -213
  36. package/dist/channel/generated.d.ts.map +1 -1
  37. package/dist/company/generated.d.ts +57 -57
  38. package/dist/company/generated.d.ts.map +1 -1
  39. package/dist/conference/generated.d.ts +109 -109
  40. package/dist/conference/generated.d.ts.map +1 -1
  41. package/dist/config/generated.d.ts +55 -55
  42. package/dist/config/generated.d.ts.map +1 -1
  43. package/dist/content/generated.d.ts +613 -613
  44. package/dist/content/generated.d.ts.map +1 -1
  45. package/dist/cookies/generated.d.ts +71 -71
  46. package/dist/cookies/generated.d.ts.map +1 -1
  47. package/dist/courses/generated.d.ts +453 -453
  48. package/dist/courses/generated.d.ts.map +1 -1
  49. package/dist/custom/generated.d.ts +78 -78
  50. package/dist/custom/generated.d.ts.map +1 -1
  51. package/dist/dashboard/generated.d.ts +138 -138
  52. package/dist/dashboard/generated.d.ts.map +1 -1
  53. package/dist/elasticsearch/generated.d.ts +21 -21
  54. package/dist/elasticsearch/generated.d.ts.map +1 -1
  55. package/dist/enrollments/generated.d.ts +21 -21
  56. package/dist/enrollments/generated.d.ts.map +1 -1
  57. package/dist/errors/generated.d.ts +54 -54
  58. package/dist/errors/generated.d.ts.map +1 -1
  59. package/dist/eventconfig/generated.d.ts +53 -53
  60. package/dist/eventconfig/generated.d.ts.map +1 -1
  61. package/dist/funnels/generated.d.ts +117 -117
  62. package/dist/funnels/generated.d.ts.map +1 -1
  63. package/dist/gamification/generated.d.ts +177 -177
  64. package/dist/gamification/generated.d.ts.map +1 -1
  65. package/dist/impersonation/generated.d.ts +52 -52
  66. package/dist/impersonation/generated.d.ts.map +1 -1
  67. package/dist/inbox/generated.d.ts +122 -122
  68. package/dist/inbox/generated.d.ts.map +1 -1
  69. package/dist/internal/generated.d.ts +21 -21
  70. package/dist/internal/generated.d.ts.map +1 -1
  71. package/dist/internationalization/generated.d.ts +21 -21
  72. package/dist/internationalization/generated.d.ts.map +1 -1
  73. package/dist/invitations/generated.d.ts +156 -156
  74. package/dist/invitations/generated.d.ts.map +1 -1
  75. package/dist/meetings/generated.d.ts +372 -372
  76. package/dist/meetings/generated.d.ts.map +1 -1
  77. package/dist/metas/generated.d.ts +199 -199
  78. package/dist/metas/generated.d.ts.map +1 -1
  79. package/dist/notification/generated.d.ts +356 -356
  80. package/dist/notification/generated.d.ts.map +1 -1
  81. package/dist/notifications/generated.d.ts +21 -21
  82. package/dist/notifications/generated.d.ts.map +1 -1
  83. package/dist/onboarding/generated.d.ts +77 -77
  84. package/dist/onboarding/generated.d.ts.map +1 -1
  85. package/dist/packages/generated.d.ts +59 -59
  86. package/dist/packages/generated.d.ts.map +1 -1
  87. package/dist/payments/generated.d.ts +523 -523
  88. package/dist/payments/generated.d.ts.map +1 -1
  89. package/dist/payouts/generated.d.ts +21 -21
  90. package/dist/payouts/generated.d.ts.map +1 -1
  91. package/dist/plans/generated.d.ts +323 -323
  92. package/dist/plans/generated.d.ts.map +1 -1
  93. package/dist/pricing/generated.d.ts +38 -38
  94. package/dist/pricing/generated.d.ts.map +1 -1
  95. package/dist/products/generated.d.ts +443 -443
  96. package/dist/products/generated.d.ts.map +1 -1
  97. package/dist/profile/generated.d.ts +354 -354
  98. package/dist/profile/generated.d.ts.map +1 -1
  99. package/dist/reasons/generated.d.ts +101 -101
  100. package/dist/reasons/generated.d.ts.map +1 -1
  101. package/dist/registration/generated.d.ts +171 -171
  102. package/dist/registration/generated.d.ts.map +1 -1
  103. package/dist/reviews/generated.d.ts +57 -57
  104. package/dist/reviews/generated.d.ts.map +1 -1
  105. package/dist/role/generated.d.ts +191 -191
  106. package/dist/role/generated.d.ts.map +1 -1
  107. package/dist/scheduling/generated.d.ts +103 -103
  108. package/dist/scheduling/generated.d.ts.map +1 -1
  109. package/dist/services/generated.d.ts +1017 -1017
  110. package/dist/services/generated.d.ts.map +1 -1
  111. package/dist/sessions/generated.d.ts +362 -362
  112. package/dist/sessions/generated.d.ts.map +1 -1
  113. package/dist/spaces/generated.d.ts +600 -600
  114. package/dist/spaces/generated.d.ts.map +1 -1
  115. package/dist/storefront/generated.d.ts +21 -21
  116. package/dist/storefront/generated.d.ts.map +1 -1
  117. package/dist/support/generated.d.ts +1403 -1403
  118. package/dist/support/generated.d.ts.map +1 -1
  119. package/dist/sync/generated.d.ts +182 -182
  120. package/dist/sync/generated.d.ts.map +1 -1
  121. package/dist/tenant/generated.d.ts +737 -737
  122. package/dist/tenant/generated.d.ts.map +1 -1
  123. package/dist/testimonials/generated.d.ts +50 -50
  124. package/dist/testimonials/generated.d.ts.map +1 -1
  125. package/dist/tests/generated.d.ts +472 -472
  126. package/dist/tests/generated.d.ts.map +1 -1
  127. package/dist/tokens/generated.d.ts +54 -54
  128. package/dist/tokens/generated.d.ts.map +1 -1
  129. package/dist/uploads/generated.d.ts +69 -69
  130. package/dist/uploads/generated.d.ts.map +1 -1
  131. package/dist/upsell/generated.d.ts +130 -130
  132. package/dist/upsell/generated.d.ts.map +1 -1
  133. package/dist/user/generated.d.ts +72 -72
  134. package/dist/user/generated.d.ts.map +1 -1
  135. package/dist/webinars/generated.d.ts +329 -329
  136. package/dist/webinars/generated.d.ts.map +1 -1
  137. package/package.json +1 -1
@@ -2181,192 +2181,144 @@ export type webhooks = Record<string, never>;
2181
2181
  export interface components {
2182
2182
  schemas: {
2183
2183
  /**
2184
- * CreatePriorityRequest
2185
- * @description Request model for creating a new priority level
2184
+ * GetSLAComplianceRequest
2185
+ * @description Request model for SLA compliance report
2186
2186
  * @example {
2187
- * "color": "#FF0000",
2188
- * "is_default": false,
2189
- * "priority_level": 1,
2190
- * "priority_name": "Urgent",
2191
- * "priority_slug": "urgent",
2192
- * "sla_first_response_minutes": 15,
2193
- * "sla_resolution_minutes": 120
2187
+ * "date_from": "2025-11-01",
2188
+ * "date_to": "2025-12-01",
2189
+ * "group_by": "agent"
2194
2190
  * }
2195
2191
  */
2196
- CreatePriorityRequest: {
2197
- /**
2198
- * Priority Name
2199
- * @description Priority name (e.g., 'Urgent', 'High', 'Medium', 'Low')
2200
- */
2201
- priority_name: string;
2202
- /**
2203
- * Priority Slug
2204
- * @description URL-friendly slug (lowercase, hyphens only)
2205
- */
2206
- priority_slug: string;
2207
- /**
2208
- * Priority Level
2209
- * @description Priority level (1=highest, 100=lowest)
2210
- */
2211
- priority_level: number;
2212
- /**
2213
- * Sla First Response Minutes
2214
- * @description SLA for first response in minutes
2215
- */
2216
- sla_first_response_minutes?: number | null;
2192
+ GetSLAComplianceRequest: {
2217
2193
  /**
2218
- * Sla Resolution Minutes
2219
- * @description SLA for resolution in minutes
2194
+ * Date From
2195
+ * Format: date
2196
+ * @description Start date (required)
2220
2197
  */
2221
- sla_resolution_minutes?: number | null;
2198
+ date_from: string;
2222
2199
  /**
2223
- * Is Default
2224
- * @description Whether this is the default priority level
2225
- * @default false
2200
+ * Date To
2201
+ * Format: date
2202
+ * @description End date (required)
2226
2203
  */
2227
- is_default: boolean;
2204
+ date_to: string;
2228
2205
  /**
2229
- * Color
2230
- * @description Color hex code (e.g., '#FF5733')
2206
+ * @description Grouping dimension
2207
+ * @default daily
2231
2208
  */
2232
- color?: string | null;
2209
+ group_by: components["schemas"]["GroupByDimension"];
2233
2210
  };
2234
2211
  /**
2235
- * CreateCommentRequest
2236
- * @description Request model for adding a comment
2212
+ * BulkUpdateStatusRequest
2213
+ * @description Request model for bulk updating ticket status
2237
2214
  */
2238
- CreateCommentRequest: {
2215
+ BulkUpdateStatusRequest: {
2239
2216
  /**
2240
- * Comment Body
2241
- * @description Comment text
2217
+ * Ticket Ids
2218
+ * @description List of ticket IDs
2242
2219
  */
2243
- comment_body: string;
2220
+ ticket_ids: number[];
2244
2221
  /**
2245
- * Is Internal
2246
- * @description Internal note (agents only)
2247
- * @default false
2222
+ * New Status
2223
+ * @description New status
2248
2224
  */
2249
- is_internal: boolean | null;
2225
+ new_status: string;
2250
2226
  };
2251
2227
  /**
2252
- * CreateAutomationRuleRequest
2253
- * @description Request model for creating a new automation rule
2228
+ * UpdateCategoryRequest
2229
+ * @description Request model for updating a support category
2254
2230
  * @example {
2255
- * "actions": [
2256
- * {
2257
- * "action": "assign_to_team",
2258
- * "team_id": 456
2259
- * },
2260
- * {
2261
- * "action": "set_priority",
2262
- * "priority_id": 2
2263
- * }
2264
- * ],
2265
- * "applies_to_all_categories": false,
2266
- * "applies_to_all_priorities": true,
2267
- * "category_ids": [
2268
- * 123
2269
- * ],
2270
- * "conditions": {
2271
- * "all": [
2272
- * {
2273
- * "field": "category_id",
2274
- * "operator": "equals",
2275
- * "value": 123
2276
- * }
2277
- * ]
2278
- * },
2279
- * "description": "Automatically assign new tickets to the support team",
2280
- * "execution_order": 1,
2281
- * "is_active": true,
2282
- * "rule_name": "Auto-assign New Tickets",
2283
- * "rule_slug": "auto-assign-new",
2284
- * "status": "active",
2285
- * "stop_processing": false,
2286
- * "trigger_event": "ticket_created"
2231
+ * "category_name": "Billing & Payment Issues",
2232
+ * "description": "Updated description for billing category",
2233
+ * "is_public": true,
2234
+ * "sla_first_response_minutes": 30,
2235
+ * "status": "active"
2287
2236
  * }
2288
2237
  */
2289
- CreateAutomationRuleRequest: {
2290
- /**
2291
- * Rule Name
2292
- * @description Rule name
2293
- */
2294
- rule_name: string;
2238
+ UpdateCategoryRequest: {
2295
2239
  /**
2296
- * Rule Slug
2297
- * @description URL-friendly slug (lowercase, hyphens only)
2240
+ * Category Name
2241
+ * @description Category name
2298
2242
  */
2299
- rule_slug: string;
2243
+ category_name?: string | null;
2300
2244
  /**
2301
2245
  * Description
2302
- * @description Rule description
2246
+ * @description Category description
2303
2247
  */
2304
2248
  description?: string | null;
2305
2249
  /**
2306
- * Trigger Event
2307
- * @description Event that triggers the rule (ticket_created, status_changed, etc.)
2250
+ * Category Slug
2251
+ * @description URL-friendly slug
2308
2252
  */
2309
- trigger_event: string;
2253
+ category_slug?: string | null;
2310
2254
  /**
2311
- * Execution Order
2312
- * @description Order of execution (lower runs first)
2313
- * @default 0
2255
+ * Parent Category Id
2256
+ * @description Parent category ID
2314
2257
  */
2315
- execution_order: number;
2258
+ parent_category_id?: number | null;
2316
2259
  /**
2317
- * Stop Processing
2318
- * @description Stop processing other rules if this matches
2319
- * @default false
2260
+ * Default Team Id
2261
+ * @description Default team ID for auto-routing
2320
2262
  */
2321
- stop_processing: boolean;
2263
+ default_team_id?: number | null;
2322
2264
  /**
2323
- * Conditions
2324
- * @description Matching conditions (AND/OR logic)
2265
+ * Default Priority
2266
+ * @description Default priority slug
2325
2267
  */
2326
- conditions?: {
2327
- [key: string]: unknown;
2328
- } | null;
2268
+ default_priority?: string | null;
2329
2269
  /**
2330
- * Actions
2331
- * @description Actions to perform when conditions match
2270
+ * Sla First Response Minutes
2271
+ * @description SLA for first response in minutes
2332
2272
  */
2333
- actions: {
2334
- [key: string]: unknown;
2335
- }[];
2273
+ sla_first_response_minutes?: number | null;
2336
2274
  /**
2337
- * Applies To All Categories
2338
- * @description Apply to all categories
2339
- * @default true
2275
+ * Sla Resolution Minutes
2276
+ * @description SLA for resolution in minutes
2340
2277
  */
2341
- applies_to_all_categories: boolean;
2278
+ sla_resolution_minutes?: number | null;
2342
2279
  /**
2343
- * Category Ids
2344
- * @description Specific category IDs (if not all)
2280
+ * Is Public
2281
+ * @description Whether category is visible to customers
2345
2282
  */
2346
- category_ids?: number[] | null;
2283
+ is_public?: boolean | null;
2347
2284
  /**
2348
- * Applies To All Priorities
2349
- * @description Apply to all priorities
2350
- * @default true
2285
+ * Display Order
2286
+ * @description Display order for sorting
2351
2287
  */
2352
- applies_to_all_priorities: boolean;
2288
+ display_order?: number | null;
2353
2289
  /**
2354
- * Priority Ids
2355
- * @description Specific priority IDs (if not all)
2290
+ * Icon
2291
+ * @description Icon identifier
2356
2292
  */
2357
- priority_ids?: number[] | null;
2293
+ icon?: string | null;
2358
2294
  /**
2359
- * Is Active
2360
- * @description Rule is active
2361
- * @default true
2295
+ * Color
2296
+ * @description Color hex code
2362
2297
  */
2363
- is_active: boolean;
2298
+ color?: string | null;
2364
2299
  /**
2365
2300
  * Status
2366
- * @description Rule status (active, inactive, paused)
2367
- * @default active
2301
+ * @description Category status: active, inactive, archived
2368
2302
  */
2369
- status: string;
2303
+ status?: string | null;
2304
+ /**
2305
+ * Settings
2306
+ * @description Additional JSON settings
2307
+ */
2308
+ settings?: {
2309
+ [key: string]: unknown;
2310
+ } | null;
2311
+ };
2312
+ /**
2313
+ * MarkFollowupRequest
2314
+ * @description Request model for marking follow-up as completed
2315
+ */
2316
+ MarkFollowupRequest: {
2317
+ /**
2318
+ * Followup Notes
2319
+ * @description Follow-up notes
2320
+ */
2321
+ followup_notes: string;
2370
2322
  };
2371
2323
  /**
2372
2324
  * ApplyCannedResponseRequest
@@ -2394,342 +2346,217 @@ export interface components {
2394
2346
  };
2395
2347
  };
2396
2348
  /**
2397
- * ReportType
2398
- * @description Report types for exports
2399
- * @enum {string}
2400
- */
2401
- ReportType: "ticket_metrics" | "agent_performance" | "sla_compliance" | "custom";
2402
- /**
2403
- * GetAgentPerformanceRequest
2404
- * @description Request model for getting agent performance metrics
2405
- * @example {
2406
- * "agent_id": 123,
2407
- * "date_from": "2025-11-01",
2408
- * "date_to": "2025-12-01",
2409
- * "limit": 50,
2410
- * "page": 1,
2411
- * "period_type": "daily"
2412
- * }
2349
+ * UpdateTeamRequest
2350
+ * @description Request model for updating a team
2413
2351
  */
2414
- GetAgentPerformanceRequest: {
2415
- /**
2416
- * Agent Id
2417
- * @description Specific agent ID
2418
- */
2419
- agent_id?: number | null;
2420
- /**
2421
- * Team Id
2422
- * @description Filter by team ID
2423
- */
2424
- team_id?: number | null;
2425
- /**
2426
- * @description Period type: daily, weekly, monthly
2427
- * @default daily
2428
- */
2429
- period_type: components["schemas"]["PeriodType"];
2430
- /**
2431
- * Date From
2432
- * @description Start date
2433
- */
2434
- date_from?: string | null;
2352
+ UpdateTeamRequest: {
2353
+ /** Team Name */
2354
+ team_name?: string | null;
2355
+ /** Description */
2356
+ description?: string | null;
2357
+ /** Team Type */
2358
+ team_type?: string | null;
2359
+ /** Team Lead User Id */
2360
+ team_lead_user_id?: number | null;
2361
+ /** Team Lead Name */
2362
+ team_lead_name?: string | null;
2363
+ /** Team Lead Email */
2364
+ team_lead_email?: string | null;
2365
+ /** Auto Assign Enabled */
2366
+ auto_assign_enabled?: boolean | null;
2367
+ /** Assignment Strategy */
2368
+ assignment_strategy?: string | null;
2369
+ /** Max Tickets Per Agent */
2370
+ max_tickets_per_agent?: number | null;
2371
+ /** Business Hours */
2372
+ business_hours?: {
2373
+ [key: string]: unknown;
2374
+ } | null;
2375
+ /** Timezone */
2376
+ timezone?: string | null;
2377
+ /** Routing Rules */
2378
+ routing_rules?: {
2379
+ [key: string]: unknown;
2380
+ } | null;
2381
+ /** Sla First Response Minutes */
2382
+ sla_first_response_minutes?: number | null;
2383
+ /** Sla Resolution Minutes */
2384
+ sla_resolution_minutes?: number | null;
2385
+ /** Escalation Enabled */
2386
+ escalation_enabled?: boolean | null;
2387
+ /** Escalation After Minutes */
2388
+ escalation_after_minutes?: number | null;
2389
+ /** Escalation Team Id */
2390
+ escalation_team_id?: string | null;
2391
+ /** Is Default */
2392
+ is_default?: boolean | null;
2435
2393
  /**
2436
- * Date To
2437
- * @description End date
2394
+ * Status
2395
+ * @description active, inactive, archived
2438
2396
  */
2439
- date_to?: string | null;
2397
+ status?: string | null;
2398
+ /** Settings */
2399
+ settings?: {
2400
+ [key: string]: unknown;
2401
+ } | null;
2402
+ /** Custom Fields */
2403
+ custom_fields?: {
2404
+ [key: string]: unknown;
2405
+ } | null;
2406
+ };
2407
+ /**
2408
+ * CreateEmailTemplateRequest
2409
+ * @description Request model for creating email template
2410
+ * @example {
2411
+ * "available_variables": [
2412
+ * "ticket_number",
2413
+ * "ticket_subject",
2414
+ * "customer_name"
2415
+ * ],
2416
+ * "body_html": "<h1>Your ticket has been created</h1><p>Ticket: {{ticket_number}}</p>",
2417
+ * "body_text": "Your ticket {{ticket_number}} has been created.",
2418
+ * "is_default": true,
2419
+ * "subject_template": "Ticket #{{ticket_number}} Created: {{ticket_subject}}",
2420
+ * "template_name": "New Ticket Created",
2421
+ * "template_slug": "ticket-created",
2422
+ * "template_type": "ticket_created"
2423
+ * }
2424
+ */
2425
+ CreateEmailTemplateRequest: {
2440
2426
  /**
2441
- * Page
2442
- * @description Page number
2443
- * @default 1
2427
+ * Template Name
2428
+ * @description Template name
2444
2429
  */
2445
- page: number;
2430
+ template_name: string;
2446
2431
  /**
2447
- * Limit
2448
- * @description Items per page
2449
- * @default 50
2432
+ * Template Slug
2433
+ * @description Unique template slug
2450
2434
  */
2451
- limit: number;
2452
- };
2453
- InvalidParam: {
2454
- /** @example items[0].quantity */
2455
- field?: string;
2456
- /** @example Input should be greater than or equal to 1 */
2457
- error?: string;
2458
- };
2459
- /**
2460
- * AddTeamMemberRequest
2461
- * @description Request model for adding a team member
2462
- */
2463
- AddTeamMemberRequest: {
2435
+ template_slug: string;
2464
2436
  /**
2465
- * User Id
2466
- * @description User ID to add to team
2437
+ * Description
2438
+ * @description Template description
2467
2439
  */
2468
- user_id: number;
2469
- /** User Name */
2470
- user_name: string;
2471
- /** User Email */
2472
- user_email: string;
2440
+ description?: string | null;
2441
+ /** @description Template type */
2442
+ template_type: components["schemas"]["TemplateType"];
2473
2443
  /**
2474
- * Role
2475
- * @description agent, senior_agent, team_lead, trainee
2476
- * @default agent
2444
+ * Subject Template
2445
+ * @description Subject with {{variables}}
2477
2446
  */
2478
- role: string;
2447
+ subject_template: string;
2479
2448
  /**
2480
- * Is Team Lead
2481
- * @default false
2449
+ * Body Html
2450
+ * @description HTML body template
2482
2451
  */
2483
- is_team_lead: boolean;
2484
- /** Max Concurrent Tickets */
2485
- max_concurrent_tickets?: number | null;
2452
+ body_html: string;
2486
2453
  /**
2487
- * Skills
2488
- * @description Agent skills and expertise
2454
+ * Body Text
2455
+ * @description Plain text body template
2489
2456
  */
2490
- skills?: string[] | null;
2457
+ body_text?: string | null;
2491
2458
  /**
2492
- * Skill Level
2493
- * @description beginner, intermediate, expert, master
2494
- * @default intermediate
2459
+ * Available Variables
2460
+ * @description Available template variables
2495
2461
  */
2496
- skill_level: string;
2462
+ available_variables?: string[] | null;
2497
2463
  /**
2498
- * Categories
2499
- * @description Categories agent handles
2464
+ * From Email
2465
+ * @description Override from email
2500
2466
  */
2501
- categories?: string[] | null;
2467
+ from_email?: string | null;
2502
2468
  /**
2503
- * Priority Levels
2504
- * @description Priority levels: low, medium, high, critical
2469
+ * From Name
2470
+ * @description Override from name
2505
2471
  */
2506
- priority_levels?: string[] | null;
2472
+ from_name?: string | null;
2507
2473
  /**
2508
- * Auto Assign Enabled
2509
- * @default true
2474
+ * Reply To
2475
+ * @description Reply-to address
2510
2476
  */
2511
- auto_assign_enabled: boolean;
2477
+ reply_to?: string | null;
2512
2478
  /**
2513
- * Assignment Weight
2514
- * @description Weight for load balancing (100 = normal)
2515
- * @default 100
2479
+ * Is Default
2480
+ * @description Set as default template for type
2481
+ * @default false
2516
2482
  */
2517
- assignment_weight: number;
2518
- /** Working Hours */
2519
- working_hours?: {
2520
- [key: string]: unknown;
2521
- } | null;
2483
+ is_default: boolean;
2522
2484
  /**
2523
- * Timezone
2524
- * @default UTC
2485
+ * Language
2486
+ * @description Template language
2487
+ * @default en-US
2525
2488
  */
2526
- timezone: string;
2489
+ language: string;
2527
2490
  };
2528
2491
  /**
2529
- * CreateMacroRequest
2530
- * @description Request model for creating a new macro
2531
- * @example {
2532
- * "actions": [
2533
- * {
2534
- * "action": "set_status",
2535
- * "value": "solved"
2536
- * },
2537
- * {
2538
- * "action": "add_internal_note",
2539
- * "note": "Ticket closed as solved"
2540
- * }
2541
- * ],
2542
- * "button_color": "#4CAF50",
2543
- * "description": "Mark ticket as solved and close it",
2544
- * "display_order": 1,
2545
- * "icon": "check-circle",
2546
- * "include_response": false,
2547
- * "is_public": true,
2548
- * "macro_name": "Close as Solved",
2549
- * "macro_slug": "close-solved",
2550
- * "status": "active"
2551
- * }
2492
+ * BulkAssignRequest
2493
+ * @description Request model for bulk assigning tickets
2552
2494
  */
2553
- CreateMacroRequest: {
2495
+ BulkAssignRequest: {
2554
2496
  /**
2555
- * Macro Name
2556
- * @description Macro name
2497
+ * Ticket Ids
2498
+ * @description List of ticket IDs
2557
2499
  */
2558
- macro_name: string;
2500
+ ticket_ids: number[];
2559
2501
  /**
2560
- * Macro Slug
2561
- * @description URL-friendly slug
2502
+ * Assigned To User Id
2503
+ * @description User to assign to
2562
2504
  */
2563
- macro_slug: string;
2505
+ assigned_to_user_id: number;
2564
2506
  /**
2565
- * Description
2566
- * @description Macro description
2507
+ * Assigned To Name
2508
+ * @description User name
2567
2509
  */
2568
- description?: string | null;
2510
+ assigned_to_name: string;
2569
2511
  /**
2570
- * Actions
2571
- * @description Actions to perform
2512
+ * Assigned Team Id
2513
+ * @description Team ID (optional)
2572
2514
  */
2573
- actions: {
2574
- [key: string]: unknown;
2575
- }[];
2515
+ assigned_team_id?: number | null;
2516
+ };
2517
+ /**
2518
+ * MergeTicketsRequest
2519
+ * @description Request model for merging tickets
2520
+ */
2521
+ MergeTicketsRequest: {
2576
2522
  /**
2577
- * Include Response
2578
- * @description Include a canned response
2579
- * @default false
2523
+ * Parent Ticket Id
2524
+ * @description Parent ticket ID (kept active)
2580
2525
  */
2581
- include_response: boolean;
2526
+ parent_ticket_id: number;
2582
2527
  /**
2583
- * Canned Response Id
2584
- * @description Canned response to include
2528
+ * Child Ticket Id
2529
+ * @description Child ticket ID (merged)
2585
2530
  */
2586
- canned_response_id?: number | null;
2531
+ child_ticket_id: number;
2587
2532
  /**
2588
- * Is Public
2589
- * @description Available to all agents
2590
- * @default true
2591
- */
2592
- is_public: boolean;
2593
- /**
2594
- * Team Ids
2595
- * @description Specific teams (if not public)
2596
- */
2597
- team_ids?: number[] | null;
2598
- /**
2599
- * User Ids
2600
- * @description Specific users (if not public)
2601
- */
2602
- user_ids?: number[] | null;
2603
- /**
2604
- * Display Order
2605
- * @description Display order
2606
- * @default 0
2607
- */
2608
- display_order: number;
2609
- /**
2610
- * Button Color
2611
- * @description Button color (hex)
2612
- */
2613
- button_color?: string | null;
2614
- /**
2615
- * Icon
2616
- * @description Icon identifier
2617
- */
2618
- icon?: string | null;
2619
- /**
2620
- * Status
2621
- * @description Macro status (active, inactive)
2622
- * @default active
2623
- */
2624
- status: string;
2625
- };
2626
- /**
2627
- * @example {
2628
- * "status": "success",
2629
- * "message": "Operation successful",
2630
- * "message_code": "api_suc_20001",
2631
- * "data": {},
2632
- * "metadata": {
2633
- * "timestamp": "2026-03-26T10:00:00.000Z",
2634
- * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
2635
- * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
2636
- * "version": "v1",
2637
- * "executionTime": 42,
2638
- * "language": "en-US"
2639
- * }
2640
- * }
2641
- */
2642
- StandardResponse: {
2643
- /** @example success */
2644
- status?: string;
2645
- data?: Record<string, never> | null;
2646
- /** @example Operation successful */
2647
- message?: string | null;
2648
- /** @example api_suc_20001 */
2649
- message_code?: string | null;
2650
- metadata?: Record<string, never> | null;
2651
- error?: components["schemas"]["ErrorResponse"];
2652
- };
2653
- /**
2654
- * UpdateCannedResponseRequest
2655
- * @description Request model for updating a canned response
2656
- */
2657
- UpdateCannedResponseRequest: {
2658
- /** Response Name */
2659
- response_name?: string | null;
2660
- /** Response Slug */
2661
- response_slug?: string | null;
2662
- /** Subject */
2663
- subject?: string | null;
2664
- /** Content */
2665
- content?: string | null;
2666
- /** Content Type */
2667
- content_type?: string | null;
2668
- /** Category */
2669
- category?: string | null;
2670
- /** Tags */
2671
- tags?: string[] | null;
2672
- /** Is Public */
2673
- is_public?: boolean | null;
2674
- /** Team Ids */
2675
- team_ids?: number[] | null;
2676
- /** User Ids */
2677
- user_ids?: number[] | null;
2678
- /** Shortcut */
2679
- shortcut?: string | null;
2680
- /** Status */
2681
- status?: string | null;
2682
- };
2683
- /**
2684
- * AddWatcherRequest
2685
- * @description Request model for adding a watcher to a ticket
2686
- */
2687
- AddWatcherRequest: {
2688
- /**
2689
- * User Id
2690
- * @description User ID to add as watcher
2691
- */
2692
- user_id: number;
2693
- /**
2694
- * User Name
2695
- * @description User name
2696
- */
2697
- user_name: string;
2698
- /**
2699
- * User Email
2700
- * @description User email
2701
- */
2702
- user_email: string;
2703
- /**
2704
- * Watch Type
2705
- * @description Watch type
2706
- * @default manual
2533
+ * Merge Reason
2534
+ * @description Reason for merge
2707
2535
  */
2708
- watch_type: string;
2536
+ merge_reason: string;
2709
2537
  /**
2710
- * Notify On Comment
2711
- * @description Notify on comments
2712
- * @default true
2538
+ * Merge Type
2539
+ * @description Merge type
2713
2540
  */
2714
- notify_on_comment: boolean;
2541
+ merge_type: string;
2715
2542
  /**
2716
- * Notify On Status Change
2717
- * @description Notify on status change
2543
+ * Copy Comments
2544
+ * @description Copy comments to parent
2718
2545
  * @default true
2719
2546
  */
2720
- notify_on_status_change: boolean;
2547
+ copy_comments: boolean;
2721
2548
  /**
2722
- * Notify On Assignment
2723
- * @description Notify on assignment
2549
+ * Copy Attachments
2550
+ * @description Copy attachments to parent
2724
2551
  * @default true
2725
2552
  */
2726
- notify_on_assignment: boolean;
2553
+ copy_attachments: boolean;
2727
2554
  /**
2728
- * Notify On Resolution
2729
- * @description Notify on resolution
2555
+ * Notify Customers
2556
+ * @description Notify customers
2730
2557
  * @default true
2731
2558
  */
2732
- notify_on_resolution: boolean;
2559
+ notify_customers: boolean;
2733
2560
  };
2734
2561
  /**
2735
2562
  * RateSatisfactionRequest
@@ -2748,31 +2575,49 @@ export interface components {
2748
2575
  comment?: string | null;
2749
2576
  };
2750
2577
  /**
2751
- * BulkAssignRequest
2752
- * @description Request model for bulk assigning tickets
2578
+ * UpdateTicketStatusRequest
2579
+ * @description Request model for updating ticket status
2753
2580
  */
2754
- BulkAssignRequest: {
2755
- /**
2756
- * Ticket Ids
2757
- * @description List of ticket IDs
2758
- */
2759
- ticket_ids: number[];
2760
- /**
2761
- * Assigned To User Id
2762
- * @description User to assign to
2763
- */
2764
- assigned_to_user_id: number;
2581
+ UpdateTicketStatusRequest: {
2765
2582
  /**
2766
- * Assigned To Name
2767
- * @description User name
2583
+ * Status
2584
+ * @description New status: new, open, pending, waiting_for_customer, on_hold, resolved, closed
2768
2585
  */
2769
- assigned_to_name: string;
2586
+ status: string;
2770
2587
  /**
2771
- * Assigned Team Id
2772
- * @description Team ID (optional)
2588
+ * Reason
2589
+ * @description Reason for status change
2773
2590
  */
2774
- assigned_team_id?: number | null;
2591
+ reason?: string | null;
2592
+ };
2593
+ /**
2594
+ * UpdateSavedFilterRequest
2595
+ * @description Request model for updating a saved filter
2596
+ */
2597
+ UpdateSavedFilterRequest: {
2598
+ /** Filter Name */
2599
+ filter_name?: string | null;
2600
+ /** Filter Slug */
2601
+ filter_slug?: string | null;
2602
+ /** Description */
2603
+ description?: string | null;
2604
+ /** Filter Config */
2605
+ filter_config?: {
2606
+ [key: string]: unknown;
2607
+ } | null;
2608
+ /** Is Public */
2609
+ is_public?: boolean | null;
2610
+ /** Is Default */
2611
+ is_default?: boolean | null;
2612
+ /** Status */
2613
+ status?: string | null;
2775
2614
  };
2615
+ /**
2616
+ * GroupByDimension
2617
+ * @description Grouping dimensions for SLA compliance
2618
+ * @enum {string}
2619
+ */
2620
+ GroupByDimension: "daily" | "weekly" | "monthly" | "team" | "agent";
2776
2621
  /**
2777
2622
  * ExportFormat
2778
2623
  * @description Export file formats
@@ -2780,33 +2625,43 @@ export interface components {
2780
2625
  */
2781
2626
  ExportFormat: "csv" | "excel" | "json" | "pdf";
2782
2627
  /**
2783
- * SearchCommentsRequest
2784
- * @description Request model for searching comments
2628
+ * GetAgentPerformanceRequest
2629
+ * @description Request model for getting agent performance metrics
2785
2630
  * @example {
2786
- * "include_internal": false,
2787
- * "limit": 20,
2631
+ * "agent_id": 123,
2632
+ * "date_from": "2025-11-01",
2633
+ * "date_to": "2025-12-01",
2634
+ * "limit": 50,
2788
2635
  * "page": 1,
2789
- * "query": "refund",
2790
- * "ticket_id": "tkt_xxx123"
2636
+ * "period_type": "daily"
2791
2637
  * }
2792
2638
  */
2793
- SearchCommentsRequest: {
2639
+ GetAgentPerformanceRequest: {
2794
2640
  /**
2795
- * Query
2796
- * @description Search query
2641
+ * Agent Id
2642
+ * @description Specific agent ID
2797
2643
  */
2798
- query: string;
2644
+ agent_id?: number | null;
2799
2645
  /**
2800
- * Ticket Id
2801
- * @description Filter by specific ticket ID
2646
+ * Team Id
2647
+ * @description Filter by team ID
2802
2648
  */
2803
- ticket_id?: string | null;
2649
+ team_id?: number | null;
2804
2650
  /**
2805
- * Include Internal
2806
- * @description Include internal notes in search results
2807
- * @default false
2651
+ * @description Period type: daily, weekly, monthly
2652
+ * @default daily
2808
2653
  */
2809
- include_internal: boolean;
2654
+ period_type: components["schemas"]["PeriodType"];
2655
+ /**
2656
+ * Date From
2657
+ * @description Start date
2658
+ */
2659
+ date_from?: string | null;
2660
+ /**
2661
+ * Date To
2662
+ * @description End date
2663
+ */
2664
+ date_to?: string | null;
2810
2665
  /**
2811
2666
  * Page
2812
2667
  * @description Page number
@@ -2815,383 +2670,387 @@ export interface components {
2815
2670
  page: number;
2816
2671
  /**
2817
2672
  * Limit
2818
- * @description Results per page
2819
- * @default 20
2673
+ * @description Items per page
2674
+ * @default 50
2820
2675
  */
2821
2676
  limit: number;
2822
2677
  };
2823
2678
  /**
2824
- * GetSLAComplianceRequest
2825
- * @description Request model for SLA compliance report
2826
- * @example {
2827
- * "date_from": "2025-11-01",
2828
- * "date_to": "2025-12-01",
2829
- * "group_by": "agent"
2830
- * }
2679
+ * RemoveTeamMemberRequest
2680
+ * @description Request model for removing a team member
2831
2681
  */
2832
- GetSLAComplianceRequest: {
2833
- /**
2834
- * Date From
2835
- * Format: date
2836
- * @description Start date (required)
2837
- */
2838
- date_from: string;
2839
- /**
2840
- * Date To
2841
- * Format: date
2842
- * @description End date (required)
2843
- */
2844
- date_to: string;
2682
+ RemoveTeamMemberRequest: {
2845
2683
  /**
2846
- * @description Grouping dimension
2847
- * @default daily
2684
+ * Removal Reason
2685
+ * @description Reason for removal
2848
2686
  */
2849
- group_by: components["schemas"]["GroupByDimension"];
2687
+ removal_reason?: string | null;
2850
2688
  };
2851
2689
  /**
2852
- * UpdateAgentTicketRequest
2853
- * @description Request model for updating a ticket (agent-facing)
2690
+ * UpdateEmailTemplateRequest
2691
+ * @description Request model for updating email template
2692
+ * @example {
2693
+ * "status": "active",
2694
+ * "subject_template": "New Support Ticket #{{ticket_number}}",
2695
+ * "template_name": "Updated Ticket Created Template"
2696
+ * }
2854
2697
  */
2855
- UpdateAgentTicketRequest: {
2856
- /** Subject */
2857
- subject?: string | null;
2698
+ UpdateEmailTemplateRequest: {
2699
+ /** Template Name */
2700
+ template_name?: string | null;
2858
2701
  /** Description */
2859
2702
  description?: string | null;
2860
- /**
2861
- * Priority
2862
- * @description low, medium, high, urgent, critical
2863
- */
2864
- priority?: string | null;
2703
+ /** Subject Template */
2704
+ subject_template?: string | null;
2705
+ /** Body Html */
2706
+ body_html?: string | null;
2707
+ /** Body Text */
2708
+ body_text?: string | null;
2709
+ /** Available Variables */
2710
+ available_variables?: string[] | null;
2711
+ /** From Email */
2712
+ from_email?: string | null;
2713
+ /** From Name */
2714
+ from_name?: string | null;
2715
+ /** Reply To */
2716
+ reply_to?: string | null;
2717
+ /** Is Default */
2718
+ is_default?: boolean | null;
2719
+ status?: components["schemas"]["TemplateStatus"] | null;
2720
+ };
2721
+ /**
2722
+ * UpdateCannedResponseRequest
2723
+ * @description Request model for updating a canned response
2724
+ */
2725
+ UpdateCannedResponseRequest: {
2726
+ /** Response Name */
2727
+ response_name?: string | null;
2728
+ /** Response Slug */
2729
+ response_slug?: string | null;
2730
+ /** Subject */
2731
+ subject?: string | null;
2732
+ /** Content */
2733
+ content?: string | null;
2734
+ /** Content Type */
2735
+ content_type?: string | null;
2865
2736
  /** Category */
2866
2737
  category?: string | null;
2867
- /** Sub Category */
2868
- sub_category?: string | null;
2869
- /**
2870
- * Status
2871
- * @description new, open, pending, waiting_for_customer, on_hold, resolved, closed
2872
- */
2873
- status?: string | null;
2874
2738
  /** Tags */
2875
2739
  tags?: string[] | null;
2876
- /** Custom Fields */
2877
- custom_fields?: {
2878
- [key: string]: unknown;
2879
- } | null;
2740
+ /** Is Public */
2741
+ is_public?: boolean | null;
2742
+ /** Team Ids */
2743
+ team_ids?: number[] | null;
2744
+ /** User Ids */
2745
+ user_ids?: number[] | null;
2746
+ /** Shortcut */
2747
+ shortcut?: string | null;
2748
+ /** Status */
2749
+ status?: string | null;
2880
2750
  };
2881
2751
  /**
2882
- * ReverseMergeRequest
2883
- * @description Request model for reversing a ticket merge
2752
+ * SubmitRatingRequest
2753
+ * @description Request model for submitting a satisfaction rating
2884
2754
  */
2885
- ReverseMergeRequest: {
2755
+ SubmitRatingRequest: {
2886
2756
  /**
2887
- * Reversal Reason
2888
- * @description Reason for reversal
2757
+ * Survey Token
2758
+ * @description Survey token
2889
2759
  */
2890
- reversal_reason: string;
2891
- };
2892
- Extensions: {
2893
- /** @example GENERIC_ERROR */
2894
- message_code?: string;
2895
- /** @example [] */
2896
- invalid_params?: components["schemas"]["InvalidParam"][];
2897
- extra_data?: Record<string, never> | null;
2898
- /** @example Detailed debug information */
2899
- debug?: string | null;
2760
+ survey_token: string;
2761
+ /**
2762
+ * Rating
2763
+ * @description Rating (1-5 stars)
2764
+ */
2765
+ rating: number;
2766
+ /**
2767
+ * Feedback Text
2768
+ * @description Optional feedback text
2769
+ */
2770
+ feedback_text?: string | null;
2771
+ /**
2772
+ * Feedback Category
2773
+ * @description Feedback category
2774
+ */
2775
+ feedback_category?: string | null;
2900
2776
  };
2901
2777
  /**
2902
- * ExecuteMacroRequest
2903
- * @description Request model for executing a macro
2778
+ * CreateReportExportRequest
2779
+ * @description Request model for creating a report export
2904
2780
  * @example {
2905
- * "ticket_data": {
2906
- * "category_id": 5,
2907
- * "id": 123,
2908
- * "priority_id": 2,
2909
- * "status": "open",
2910
- * "ticket_number": "TKT-12345"
2911
- * }
2781
+ * "export_format": "excel",
2782
+ * "report_name": "Monthly Ticket Report - November 2025",
2783
+ * "report_params": {
2784
+ * "date_from": "2025-11-01",
2785
+ * "date_to": "2025-11-30",
2786
+ * "include_breakdowns": true,
2787
+ * "period_type": "daily"
2788
+ * },
2789
+ * "report_type": "ticket_metrics"
2912
2790
  * }
2913
2791
  */
2914
- ExecuteMacroRequest: {
2792
+ CreateReportExportRequest: {
2793
+ /** @description Type of report to export */
2794
+ report_type: components["schemas"]["ReportType"];
2915
2795
  /**
2916
- * Ticket Data
2917
- * @description Ticket context data
2796
+ * Report Name
2797
+ * @description User-friendly report name
2918
2798
  */
2919
- ticket_data: {
2799
+ report_name: string;
2800
+ /**
2801
+ * Report Params
2802
+ * @description Report parameters (filters, date ranges, etc.)
2803
+ */
2804
+ report_params: {
2920
2805
  [key: string]: unknown;
2921
2806
  };
2807
+ /** @description Export file format */
2808
+ export_format: components["schemas"]["ExportFormat"];
2922
2809
  };
2923
2810
  /**
2924
- * MergeTicketsRequest
2925
- * @description Request model for merging tickets
2811
+ * CreatePriorityRequest
2812
+ * @description Request model for creating a new priority level
2813
+ * @example {
2814
+ * "color": "#FF0000",
2815
+ * "is_default": false,
2816
+ * "priority_level": 1,
2817
+ * "priority_name": "Urgent",
2818
+ * "priority_slug": "urgent",
2819
+ * "sla_first_response_minutes": 15,
2820
+ * "sla_resolution_minutes": 120
2821
+ * }
2926
2822
  */
2927
- MergeTicketsRequest: {
2823
+ CreatePriorityRequest: {
2928
2824
  /**
2929
- * Parent Ticket Id
2930
- * @description Parent ticket ID (kept active)
2825
+ * Priority Name
2826
+ * @description Priority name (e.g., 'Urgent', 'High', 'Medium', 'Low')
2931
2827
  */
2932
- parent_ticket_id: number;
2828
+ priority_name: string;
2933
2829
  /**
2934
- * Child Ticket Id
2935
- * @description Child ticket ID (merged)
2830
+ * Priority Slug
2831
+ * @description URL-friendly slug (lowercase, hyphens only)
2936
2832
  */
2937
- child_ticket_id: number;
2833
+ priority_slug: string;
2938
2834
  /**
2939
- * Merge Reason
2940
- * @description Reason for merge
2835
+ * Priority Level
2836
+ * @description Priority level (1=highest, 100=lowest)
2941
2837
  */
2942
- merge_reason: string;
2838
+ priority_level: number;
2943
2839
  /**
2944
- * Merge Type
2945
- * @description Merge type
2840
+ * Sla First Response Minutes
2841
+ * @description SLA for first response in minutes
2946
2842
  */
2947
- merge_type: string;
2843
+ sla_first_response_minutes?: number | null;
2948
2844
  /**
2949
- * Copy Comments
2950
- * @description Copy comments to parent
2951
- * @default true
2845
+ * Sla Resolution Minutes
2846
+ * @description SLA for resolution in minutes
2952
2847
  */
2953
- copy_comments: boolean;
2848
+ sla_resolution_minutes?: number | null;
2954
2849
  /**
2955
- * Copy Attachments
2956
- * @description Copy attachments to parent
2957
- * @default true
2850
+ * Is Default
2851
+ * @description Whether this is the default priority level
2852
+ * @default false
2958
2853
  */
2959
- copy_attachments: boolean;
2854
+ is_default: boolean;
2960
2855
  /**
2961
- * Notify Customers
2962
- * @description Notify customers
2963
- * @default true
2856
+ * Color
2857
+ * @description Color hex code (e.g., '#FF5733')
2964
2858
  */
2965
- notify_customers: boolean;
2966
- };
2967
- /**
2968
- * UpdateSavedFilterRequest
2969
- * @description Request model for updating a saved filter
2970
- */
2971
- UpdateSavedFilterRequest: {
2972
- /** Filter Name */
2973
- filter_name?: string | null;
2974
- /** Filter Slug */
2975
- filter_slug?: string | null;
2976
- /** Description */
2977
- description?: string | null;
2978
- /** Filter Config */
2979
- filter_config?: {
2980
- [key: string]: unknown;
2981
- } | null;
2982
- /** Is Public */
2983
- is_public?: boolean | null;
2984
- /** Is Default */
2985
- is_default?: boolean | null;
2986
- /** Status */
2987
- status?: string | null;
2859
+ color?: string | null;
2988
2860
  };
2989
2861
  /**
2990
- * TemplateType
2991
- * @description Email template types
2992
- * @enum {string}
2993
- */
2994
- TemplateType: "ticket_created" | "ticket_updated" | "ticket_assigned" | "ticket_resolved" | "ticket_closed" | "comment_added" | "agent_assigned" | "sla_warning" | "customer_satisfaction";
2995
- /**
2996
- * CreateHolidayRequest
2997
- * @description Request model for creating a holiday
2862
+ * CreateAutomationRuleRequest
2863
+ * @description Request model for creating a new automation rule
2998
2864
  * @example {
2999
- * "affects_sla": true,
3000
- * "holiday_date": "2025-12-25",
3001
- * "holiday_name": "Christmas Day",
3002
- * "is_full_day": true,
3003
- * "is_recurring": true
2865
+ * "actions": [
2866
+ * {
2867
+ * "action": "assign_to_team",
2868
+ * "team_id": 456
2869
+ * },
2870
+ * {
2871
+ * "action": "set_priority",
2872
+ * "priority_id": 2
2873
+ * }
2874
+ * ],
2875
+ * "applies_to_all_categories": false,
2876
+ * "applies_to_all_priorities": true,
2877
+ * "category_ids": [
2878
+ * 123
2879
+ * ],
2880
+ * "conditions": {
2881
+ * "all": [
2882
+ * {
2883
+ * "field": "category_id",
2884
+ * "operator": "equals",
2885
+ * "value": 123
2886
+ * }
2887
+ * ]
2888
+ * },
2889
+ * "description": "Automatically assign new tickets to the support team",
2890
+ * "execution_order": 1,
2891
+ * "is_active": true,
2892
+ * "rule_name": "Auto-assign New Tickets",
2893
+ * "rule_slug": "auto-assign-new",
2894
+ * "status": "active",
2895
+ * "stop_processing": false,
2896
+ * "trigger_event": "ticket_created"
3004
2897
  * }
3005
2898
  */
3006
- CreateHolidayRequest: {
3007
- /** Holiday Name */
3008
- holiday_name: string;
2899
+ CreateAutomationRuleRequest: {
3009
2900
  /**
3010
- * Holiday Date
3011
- * Format: date
3012
- * @description Holiday date
2901
+ * Rule Name
2902
+ * @description Rule name
3013
2903
  */
3014
- holiday_date: string;
2904
+ rule_name: string;
3015
2905
  /**
3016
- * Is Recurring
3017
- * @description Recurs annually
3018
- * @default false
2906
+ * Rule Slug
2907
+ * @description URL-friendly slug (lowercase, hyphens only)
3019
2908
  */
3020
- is_recurring: boolean;
2909
+ rule_slug: string;
3021
2910
  /**
3022
- * Affects Sla
3023
- * @description Whether this holiday affects SLA
3024
- * @default true
2911
+ * Description
2912
+ * @description Rule description
3025
2913
  */
3026
- affects_sla: boolean;
2914
+ description?: string | null;
3027
2915
  /**
3028
- * Is Full Day
3029
- * @description Full day or partial day holiday
3030
- * @default true
2916
+ * Trigger Event
2917
+ * @description Event that triggers the rule (ticket_created, status_changed, etc.)
3031
2918
  */
3032
- is_full_day: boolean;
2919
+ trigger_event: string;
3033
2920
  /**
3034
- * Start Time
3035
- * @description Start time for partial day
2921
+ * Execution Order
2922
+ * @description Order of execution (lower runs first)
2923
+ * @default 0
3036
2924
  */
3037
- start_time?: string | null;
2925
+ execution_order: number;
3038
2926
  /**
3039
- * End Time
3040
- * @description End time for partial day
2927
+ * Stop Processing
2928
+ * @description Stop processing other rules if this matches
2929
+ * @default false
3041
2930
  */
3042
- end_time?: string | null;
3043
- /** Notes */
3044
- notes?: string | null;
3045
- };
3046
- /**
3047
- * SearchTicketsRequest
3048
- * @description Request model for searching tickets
3049
- * @example {
3050
- * "filters": {
3051
- * "category_id": [
3052
- * 1,
3053
- * 2
3054
- * ],
3055
- * "created_from": "2025-01-01",
3056
- * "created_to": "2025-12-31",
3057
- * "is_overdue": true,
3058
- * "priority": [
3059
- * "high",
3060
- * "urgent"
3061
- * ],
3062
- * "status": [
3063
- * "open",
3064
- * "pending"
3065
- * ]
3066
- * },
3067
- * "limit": 20,
3068
- * "page": 1,
3069
- * "query": "payment issue",
3070
- * "sort_by": "created_at",
3071
- * "sort_order": "desc"
3072
- * }
3073
- */
3074
- SearchTicketsRequest: {
2931
+ stop_processing: boolean;
3075
2932
  /**
3076
- * Query
3077
- * @description Search query for full-text search
2933
+ * Conditions
2934
+ * @description Matching conditions (AND/OR logic)
3078
2935
  */
3079
- query?: string | null;
2936
+ conditions?: {
2937
+ [key: string]: unknown;
2938
+ } | null;
3080
2939
  /**
3081
- * Filters
3082
- * @description Advanced filters (status, priority, category, dates, etc.)
2940
+ * Actions
2941
+ * @description Actions to perform when conditions match
3083
2942
  */
3084
- filters?: {
2943
+ actions: {
3085
2944
  [key: string]: unknown;
3086
- } | null;
2945
+ }[];
3087
2946
  /**
3088
- * Sort By
3089
- * @description Sort field (created_at, updated_at, priority, status)
3090
- * @default created_at
2947
+ * Applies To All Categories
2948
+ * @description Apply to all categories
2949
+ * @default true
3091
2950
  */
3092
- sort_by: string;
2951
+ applies_to_all_categories: boolean;
3093
2952
  /**
3094
- * Sort Order
3095
- * @description Sort order (asc/desc)
3096
- * @default desc
2953
+ * Category Ids
2954
+ * @description Specific category IDs (if not all)
3097
2955
  */
3098
- sort_order: string;
2956
+ category_ids?: number[] | null;
3099
2957
  /**
3100
- * Page
3101
- * @description Page number
3102
- * @default 1
2958
+ * Applies To All Priorities
2959
+ * @description Apply to all priorities
2960
+ * @default true
3103
2961
  */
3104
- page: number;
2962
+ applies_to_all_priorities: boolean;
3105
2963
  /**
3106
- * Limit
3107
- * @description Results per page
3108
- * @default 20
2964
+ * Priority Ids
2965
+ * @description Specific priority IDs (if not all)
3109
2966
  */
3110
- limit: number;
2967
+ priority_ids?: number[] | null;
2968
+ /**
2969
+ * Is Active
2970
+ * @description Rule is active
2971
+ * @default true
2972
+ */
2973
+ is_active: boolean;
2974
+ /**
2975
+ * Status
2976
+ * @description Rule status (active, inactive, paused)
2977
+ * @default active
2978
+ */
2979
+ status: string;
3111
2980
  };
3112
2981
  /**
3113
- * CreateEmailTemplateRequest
3114
- * @description Request model for creating email template
2982
+ * TemplateType
2983
+ * @description Email template types
2984
+ * @enum {string}
2985
+ */
2986
+ TemplateType: "ticket_created" | "ticket_updated" | "ticket_assigned" | "ticket_resolved" | "ticket_closed" | "comment_added" | "agent_assigned" | "sla_warning" | "customer_satisfaction";
2987
+ /**
2988
+ * ExecuteMacroRequest
2989
+ * @description Request model for executing a macro
3115
2990
  * @example {
3116
- * "available_variables": [
3117
- * "ticket_number",
3118
- * "ticket_subject",
3119
- * "customer_name"
3120
- * ],
3121
- * "body_html": "<h1>Your ticket has been created</h1><p>Ticket: {{ticket_number}}</p>",
3122
- * "body_text": "Your ticket {{ticket_number}} has been created.",
3123
- * "is_default": true,
3124
- * "subject_template": "Ticket #{{ticket_number}} Created: {{ticket_subject}}",
3125
- * "template_name": "New Ticket Created",
3126
- * "template_slug": "ticket-created",
3127
- * "template_type": "ticket_created"
2991
+ * "ticket_data": {
2992
+ * "category_id": 5,
2993
+ * "id": 123,
2994
+ * "priority_id": 2,
2995
+ * "status": "open",
2996
+ * "ticket_number": "TKT-12345"
2997
+ * }
3128
2998
  * }
3129
2999
  */
3130
- CreateEmailTemplateRequest: {
3000
+ ExecuteMacroRequest: {
3131
3001
  /**
3132
- * Template Name
3133
- * @description Template name
3002
+ * Ticket Data
3003
+ * @description Ticket context data
3134
3004
  */
3135
- template_name: string;
3005
+ ticket_data: {
3006
+ [key: string]: unknown;
3007
+ };
3008
+ };
3009
+ /**
3010
+ * AssignTicketRequest
3011
+ * @description Request model for assigning a ticket
3012
+ */
3013
+ AssignTicketRequest: {
3136
3014
  /**
3137
- * Template Slug
3138
- * @description Unique template slug
3015
+ * Assigned To User Id
3016
+ * @description User ID to assign to
3139
3017
  */
3140
- template_slug: string;
3018
+ assigned_to_user_id?: number | null;
3141
3019
  /**
3142
- * Description
3143
- * @description Template description
3020
+ * Assigned Team Id
3021
+ * @description Team ID to assign to
3144
3022
  */
3023
+ assigned_team_id?: number | null;
3024
+ };
3025
+ /**
3026
+ * UpdateAgentTicketRequest
3027
+ * @description Request model for updating a ticket (agent-facing)
3028
+ */
3029
+ UpdateAgentTicketRequest: {
3030
+ /** Subject */
3031
+ subject?: string | null;
3032
+ /** Description */
3145
3033
  description?: string | null;
3146
- /** @description Template type */
3147
- template_type: components["schemas"]["TemplateType"];
3148
3034
  /**
3149
- * Subject Template
3150
- * @description Subject with {{variables}}
3035
+ * Priority
3036
+ * @description low, medium, high, urgent, critical
3151
3037
  */
3152
- subject_template: string;
3153
- /**
3154
- * Body Html
3155
- * @description HTML body template
3156
- */
3157
- body_html: string;
3158
- /**
3159
- * Body Text
3160
- * @description Plain text body template
3161
- */
3162
- body_text?: string | null;
3163
- /**
3164
- * Available Variables
3165
- * @description Available template variables
3166
- */
3167
- available_variables?: string[] | null;
3168
- /**
3169
- * From Email
3170
- * @description Override from email
3171
- */
3172
- from_email?: string | null;
3173
- /**
3174
- * From Name
3175
- * @description Override from name
3176
- */
3177
- from_name?: string | null;
3178
- /**
3179
- * Reply To
3180
- * @description Reply-to address
3181
- */
3182
- reply_to?: string | null;
3183
- /**
3184
- * Is Default
3185
- * @description Set as default template for type
3186
- * @default false
3187
- */
3188
- is_default: boolean;
3038
+ priority?: string | null;
3039
+ /** Category */
3040
+ category?: string | null;
3041
+ /** Sub Category */
3042
+ sub_category?: string | null;
3189
3043
  /**
3190
- * Language
3191
- * @description Template language
3192
- * @default en-US
3044
+ * Status
3045
+ * @description new, open, pending, waiting_for_customer, on_hold, resolved, closed
3193
3046
  */
3194
- language: string;
3047
+ status?: string | null;
3048
+ /** Tags */
3049
+ tags?: string[] | null;
3050
+ /** Custom Fields */
3051
+ custom_fields?: {
3052
+ [key: string]: unknown;
3053
+ } | null;
3195
3054
  };
3196
3055
  /**
3197
3056
  * CreateTicketRequest
@@ -3253,31 +3112,145 @@ export interface components {
3253
3112
  } | null;
3254
3113
  };
3255
3114
  /**
3256
- * GetDashboardMetricsRequest
3257
- * @description Request model for getting dashboard metrics
3115
+ * ReportType
3116
+ * @description Report types for exports
3117
+ * @enum {string}
3118
+ */
3119
+ ReportType: "ticket_metrics" | "agent_performance" | "sla_compliance" | "custom";
3120
+ /**
3121
+ * CreateBusinessHoursRequest
3122
+ * @description Request model for creating business hours schedule
3258
3123
  * @example {
3259
- * "date_from": "2025-11-01",
3260
- * "date_to": "2025-12-01",
3261
- * "period_type": "daily"
3124
+ * "is_default": true,
3125
+ * "observes_holidays": true,
3126
+ * "schedule_name": "Standard Business Hours",
3127
+ * "schedule_slug": "standard-hours",
3128
+ * "timezone": "America/New_York",
3129
+ * "working_hours": {
3130
+ * "friday": {
3131
+ * "enabled": true,
3132
+ * "end": "17:00",
3133
+ * "start": "09:00"
3134
+ * },
3135
+ * "monday": {
3136
+ * "enabled": true,
3137
+ * "end": "17:00",
3138
+ * "start": "09:00"
3139
+ * },
3140
+ * "saturday": {
3141
+ * "enabled": false
3142
+ * },
3143
+ * "sunday": {
3144
+ * "enabled": false
3145
+ * },
3146
+ * "thursday": {
3147
+ * "enabled": true,
3148
+ * "end": "17:00",
3149
+ * "start": "09:00"
3150
+ * },
3151
+ * "tuesday": {
3152
+ * "enabled": true,
3153
+ * "end": "17:00",
3154
+ * "start": "09:00"
3155
+ * },
3156
+ * "wednesday": {
3157
+ * "enabled": true,
3158
+ * "end": "17:00",
3159
+ * "start": "09:00"
3160
+ * }
3161
+ * }
3262
3162
  * }
3263
3163
  */
3264
- GetDashboardMetricsRequest: {
3164
+ CreateBusinessHoursRequest: {
3165
+ /** Schedule Name */
3166
+ schedule_name: string;
3167
+ /** Schedule Slug */
3168
+ schedule_slug: string;
3169
+ /** Description */
3170
+ description?: string | null;
3265
3171
  /**
3266
- * @description Period type: daily, weekly, monthly
3267
- * @default daily
3172
+ * Timezone
3173
+ * @description Timezone (e.g., 'America/New_York')
3174
+ * @default UTC
3268
3175
  */
3269
- period_type: components["schemas"]["PeriodType"];
3176
+ timezone: string;
3270
3177
  /**
3271
- * Date From
3272
- * @description Start date (defaults to 30 days ago)
3178
+ * Working Hours
3179
+ * @description Working hours per day of week
3273
3180
  */
3274
- date_from?: string | null;
3181
+ working_hours: {
3182
+ [key: string]: unknown;
3183
+ };
3275
3184
  /**
3276
- * Date To
3277
- * @description End date (defaults to today)
3185
+ * Observes Holidays
3186
+ * @description Whether to observe holiday calendar
3187
+ * @default true
3278
3188
  */
3279
- date_to?: string | null;
3189
+ observes_holidays: boolean;
3190
+ /**
3191
+ * Is Default
3192
+ * @description Default business hours for organization
3193
+ * @default false
3194
+ */
3195
+ is_default: boolean;
3196
+ };
3197
+ /**
3198
+ * AddWatcherRequest
3199
+ * @description Request model for adding a watcher to a ticket
3200
+ */
3201
+ AddWatcherRequest: {
3202
+ /**
3203
+ * User Id
3204
+ * @description User ID to add as watcher
3205
+ */
3206
+ user_id: number;
3207
+ /**
3208
+ * User Name
3209
+ * @description User name
3210
+ */
3211
+ user_name: string;
3212
+ /**
3213
+ * User Email
3214
+ * @description User email
3215
+ */
3216
+ user_email: string;
3217
+ /**
3218
+ * Watch Type
3219
+ * @description Watch type
3220
+ * @default manual
3221
+ */
3222
+ watch_type: string;
3223
+ /**
3224
+ * Notify On Comment
3225
+ * @description Notify on comments
3226
+ * @default true
3227
+ */
3228
+ notify_on_comment: boolean;
3229
+ /**
3230
+ * Notify On Status Change
3231
+ * @description Notify on status change
3232
+ * @default true
3233
+ */
3234
+ notify_on_status_change: boolean;
3235
+ /**
3236
+ * Notify On Assignment
3237
+ * @description Notify on assignment
3238
+ * @default true
3239
+ */
3240
+ notify_on_assignment: boolean;
3241
+ /**
3242
+ * Notify On Resolution
3243
+ * @description Notify on resolution
3244
+ * @default true
3245
+ */
3246
+ notify_on_resolution: boolean;
3280
3247
  };
3248
+ /**
3249
+ * TemplateStatus
3250
+ * @description Template status values
3251
+ * @enum {string}
3252
+ */
3253
+ TemplateStatus: "active" | "draft" | "archived";
3281
3254
  /**
3282
3255
  * CreateTagRequest
3283
3256
  * @description Request model for creating a new support tag
@@ -3311,93 +3284,75 @@ export interface components {
3311
3284
  color?: string | null;
3312
3285
  };
3313
3286
  /**
3314
- * BulkCloseRequest
3315
- * @description Request model for bulk closing tickets
3316
- */
3317
- BulkCloseRequest: {
3318
- /**
3319
- * Ticket Ids
3320
- * @description List of ticket IDs
3321
- */
3322
- ticket_ids: number[];
3323
- };
3324
- /**
3325
- * UpdateCategoryRequest
3326
- * @description Request model for updating a support category
3287
+ * CreateSLAPolicyRequest
3288
+ * @description Request model for creating a new SLA policy
3327
3289
  * @example {
3328
- * "category_name": "Billing & Payment Issues",
3329
- * "description": "Updated description for billing category",
3330
- * "is_public": true,
3331
- * "sla_first_response_minutes": 30,
3332
- * "status": "active"
3290
+ * "description": "Standard SLA for all tickets",
3291
+ * "escalation_enabled": true,
3292
+ * "escalation_threshold_percent": 80,
3293
+ * "first_response_target_minutes": 60,
3294
+ * "is_default": true,
3295
+ * "policy_name": "Standard Support",
3296
+ * "policy_slug": "standard-support",
3297
+ * "priority_order": 0,
3298
+ * "resolution_target_minutes": 480
3333
3299
  * }
3334
3300
  */
3335
- app__models__support__category_models__UpdateCategoryRequest: {
3301
+ CreateSLAPolicyRequest: {
3336
3302
  /**
3337
- * Category Name
3338
- * @description Category name
3303
+ * Policy Name
3304
+ * @description Policy name
3339
3305
  */
3340
- category_name?: string | null;
3306
+ policy_name: string;
3307
+ /**
3308
+ * Policy Slug
3309
+ * @description URL-friendly slug (lowercase, hyphens only)
3310
+ */
3311
+ policy_slug: string;
3341
3312
  /**
3342
3313
  * Description
3343
- * @description Category description
3314
+ * @description Policy description
3344
3315
  */
3345
3316
  description?: string | null;
3346
3317
  /**
3347
- * Category Slug
3348
- * @description URL-friendly slug
3318
+ * First Response Target Minutes
3319
+ * @description Target for first response in minutes
3349
3320
  */
3350
- category_slug?: string | null;
3321
+ first_response_target_minutes: number;
3351
3322
  /**
3352
- * Parent Category Id
3353
- * @description Parent category ID
3323
+ * Resolution Target Minutes
3324
+ * @description Target for resolution in minutes
3354
3325
  */
3355
- parent_category_id?: number | null;
3326
+ resolution_target_minutes: number;
3356
3327
  /**
3357
- * Default Team Id
3358
- * @description Default team ID for auto-routing
3328
+ * Operational Hours Id
3329
+ * @description Business hours schedule ID (NULL = 24/7)
3359
3330
  */
3360
- default_team_id?: number | null;
3331
+ operational_hours_id?: number | null;
3361
3332
  /**
3362
- * Default Priority
3363
- * @description Default priority slug
3364
- */
3365
- default_priority?: string | null;
3366
- /**
3367
- * Sla First Response Minutes
3368
- * @description SLA for first response in minutes
3369
- */
3370
- sla_first_response_minutes?: number | null;
3371
- /**
3372
- * Sla Resolution Minutes
3373
- * @description SLA for resolution in minutes
3374
- */
3375
- sla_resolution_minutes?: number | null;
3376
- /**
3377
- * Is Public
3378
- * @description Whether category is visible to customers
3379
- */
3380
- is_public?: boolean | null;
3381
- /**
3382
- * Display Order
3383
- * @description Display order for sorting
3333
+ * Escalation Enabled
3334
+ * @description Enable auto-escalation on breach
3335
+ * @default true
3384
3336
  */
3385
- display_order?: number | null;
3337
+ escalation_enabled: boolean;
3386
3338
  /**
3387
- * Icon
3388
- * @description Icon identifier
3339
+ * Escalation Threshold Percent
3340
+ * @description Escalate at X% of SLA time
3341
+ * @default 80
3389
3342
  */
3390
- icon?: string | null;
3343
+ escalation_threshold_percent: number;
3391
3344
  /**
3392
- * Color
3393
- * @description Color hex code
3345
+ * Is Default
3346
+ * @description Whether this is the default SLA policy
3347
+ * @default false
3394
3348
  */
3395
- color?: string | null;
3349
+ is_default: boolean;
3396
3350
  /**
3397
- * Status
3398
- * @description Category status: active, inactive, archived
3351
+ * Priority Order
3352
+ * @description Priority order (lower = higher priority)
3353
+ * @default 0
3399
3354
  */
3400
- status?: string | null;
3355
+ priority_order: number;
3401
3356
  /**
3402
3357
  * Settings
3403
3358
  * @description Additional JSON settings
@@ -3407,214 +3362,177 @@ export interface components {
3407
3362
  } | null;
3408
3363
  };
3409
3364
  /**
3410
- * SubmitRatingRequest
3411
- * @description Request model for submitting a satisfaction rating
3365
+ * PeriodType
3366
+ * @description Period type for metrics snapshots
3367
+ * @enum {string}
3412
3368
  */
3413
- SubmitRatingRequest: {
3369
+ PeriodType: "daily" | "weekly" | "monthly";
3370
+ /**
3371
+ * GenerateSurveyRequest
3372
+ * @description Request model for generating a satisfaction survey
3373
+ */
3374
+ GenerateSurveyRequest: {
3414
3375
  /**
3415
- * Survey Token
3416
- * @description Survey token
3376
+ * Survey Type
3377
+ * @description Survey type
3378
+ * @default post_resolution
3417
3379
  */
3418
- survey_token: string;
3380
+ survey_type: string;
3381
+ };
3382
+ /**
3383
+ * CreateTeamRequest
3384
+ * @description Request model for creating a team
3385
+ */
3386
+ CreateTeamRequest: {
3419
3387
  /**
3420
- * Rating
3421
- * @description Rating (1-5 stars)
3388
+ * Team Name
3389
+ * @description Team name
3422
3390
  */
3423
- rating: number;
3391
+ team_name: string;
3424
3392
  /**
3425
- * Feedback Text
3426
- * @description Optional feedback text
3393
+ * Description
3394
+ * @description Team description
3427
3395
  */
3428
- feedback_text?: string | null;
3396
+ description?: string | null;
3429
3397
  /**
3430
- * Feedback Category
3431
- * @description Feedback category
3398
+ * Team Type
3399
+ * @description Team type: general, technical, billing, sales, custom
3400
+ * @default general
3432
3401
  */
3433
- feedback_category?: string | null;
3434
- };
3435
- /**
3436
- * CreateSLAPolicyRequest
3437
- * @description Request model for creating a new SLA policy
3438
- * @example {
3439
- * "description": "Standard SLA for all tickets",
3440
- * "escalation_enabled": true,
3441
- * "escalation_threshold_percent": 80,
3442
- * "first_response_target_minutes": 60,
3443
- * "is_default": true,
3444
- * "policy_name": "Standard Support",
3445
- * "policy_slug": "standard-support",
3446
- * "priority_order": 0,
3447
- * "resolution_target_minutes": 480
3448
- * }
3449
- */
3450
- CreateSLAPolicyRequest: {
3402
+ team_type: string;
3451
3403
  /**
3452
- * Policy Name
3453
- * @description Policy name
3404
+ * Team Lead User Id
3405
+ * @description User ID of team leader
3454
3406
  */
3455
- policy_name: string;
3407
+ team_lead_user_id?: number | null;
3408
+ /** Team Lead Name */
3409
+ team_lead_name?: string | null;
3410
+ /** Team Lead Email */
3411
+ team_lead_email?: string | null;
3456
3412
  /**
3457
- * Policy Slug
3458
- * @description URL-friendly slug (lowercase, hyphens only)
3413
+ * Auto Assign Enabled
3414
+ * @description Enable auto-assignment
3415
+ * @default false
3459
3416
  */
3460
- policy_slug: string;
3417
+ auto_assign_enabled: boolean;
3461
3418
  /**
3462
- * Description
3463
- * @description Policy description
3419
+ * Assignment Strategy
3420
+ * @description round_robin, least_active, skill_based, random
3421
+ * @default round_robin
3464
3422
  */
3465
- description?: string | null;
3423
+ assignment_strategy: string;
3424
+ /** Max Tickets Per Agent */
3425
+ max_tickets_per_agent?: number | null;
3466
3426
  /**
3467
- * First Response Target Minutes
3468
- * @description Target for first response in minutes
3427
+ * Business Hours
3428
+ * @description Business hours schedule
3469
3429
  */
3470
- first_response_target_minutes: number;
3430
+ business_hours?: {
3431
+ [key: string]: unknown;
3432
+ } | null;
3471
3433
  /**
3472
- * Resolution Target Minutes
3473
- * @description Target for resolution in minutes
3434
+ * Timezone
3435
+ * @description Team timezone
3436
+ * @default UTC
3474
3437
  */
3475
- resolution_target_minutes: number;
3438
+ timezone: string;
3476
3439
  /**
3477
- * Operational Hours Id
3478
- * @description Business hours schedule ID (NULL = 24/7)
3440
+ * Routing Rules
3441
+ * @description Routing rules for auto-assignment
3479
3442
  */
3480
- operational_hours_id?: number | null;
3443
+ routing_rules?: {
3444
+ [key: string]: unknown;
3445
+ } | null;
3446
+ /** Sla First Response Minutes */
3447
+ sla_first_response_minutes?: number | null;
3448
+ /** Sla Resolution Minutes */
3449
+ sla_resolution_minutes?: number | null;
3481
3450
  /**
3482
3451
  * Escalation Enabled
3483
- * @description Enable auto-escalation on breach
3484
- * @default true
3452
+ * @default false
3485
3453
  */
3486
3454
  escalation_enabled: boolean;
3455
+ /** Escalation After Minutes */
3456
+ escalation_after_minutes?: number | null;
3487
3457
  /**
3488
- * Escalation Threshold Percent
3489
- * @description Escalate at X% of SLA time
3490
- * @default 80
3458
+ * Escalation Team Id
3459
+ * @description Team ID to escalate to
3491
3460
  */
3492
- escalation_threshold_percent: number;
3461
+ escalation_team_id?: string | null;
3493
3462
  /**
3494
3463
  * Is Default
3495
- * @description Whether this is the default SLA policy
3464
+ * @description Set as default team for unassigned tickets
3496
3465
  * @default false
3497
3466
  */
3498
3467
  is_default: boolean;
3499
- /**
3500
- * Priority Order
3501
- * @description Priority order (lower = higher priority)
3502
- * @default 0
3503
- */
3504
- priority_order: number;
3505
- /**
3506
- * Settings
3507
- * @description Additional JSON settings
3508
- */
3468
+ /** Settings */
3509
3469
  settings?: {
3510
3470
  [key: string]: unknown;
3511
3471
  } | null;
3472
+ /** Custom Fields */
3473
+ custom_fields?: {
3474
+ [key: string]: unknown;
3475
+ } | null;
3512
3476
  };
3513
3477
  /**
3514
- * RemoveTeamMemberRequest
3515
- * @description Request model for removing a team member
3478
+ * CreateMacroRequest
3479
+ * @description Request model for creating a new macro
3480
+ * @example {
3481
+ * "actions": [
3482
+ * {
3483
+ * "action": "set_status",
3484
+ * "value": "solved"
3485
+ * },
3486
+ * {
3487
+ * "action": "add_internal_note",
3488
+ * "note": "Ticket closed as solved"
3489
+ * }
3490
+ * ],
3491
+ * "button_color": "#4CAF50",
3492
+ * "description": "Mark ticket as solved and close it",
3493
+ * "display_order": 1,
3494
+ * "icon": "check-circle",
3495
+ * "include_response": false,
3496
+ * "is_public": true,
3497
+ * "macro_name": "Close as Solved",
3498
+ * "macro_slug": "close-solved",
3499
+ * "status": "active"
3500
+ * }
3516
3501
  */
3517
- RemoveTeamMemberRequest: {
3502
+ CreateMacroRequest: {
3518
3503
  /**
3519
- * Removal Reason
3520
- * @description Reason for removal
3504
+ * Macro Name
3505
+ * @description Macro name
3506
+ */
3507
+ macro_name: string;
3508
+ /**
3509
+ * Macro Slug
3510
+ * @description URL-friendly slug
3511
+ */
3512
+ macro_slug: string;
3513
+ /**
3514
+ * Description
3515
+ * @description Macro description
3521
3516
  */
3522
- removal_reason?: string | null;
3523
- };
3524
- /**
3525
- * UpdateAutomationRuleRequest
3526
- * @description Request model for updating an automation rule
3527
- */
3528
- UpdateAutomationRuleRequest: {
3529
- /** Rule Name */
3530
- rule_name?: string | null;
3531
- /** Rule Slug */
3532
- rule_slug?: string | null;
3533
- /** Description */
3534
3517
  description?: string | null;
3535
- /** Trigger Event */
3536
- trigger_event?: string | null;
3537
- /** Execution Order */
3538
- execution_order?: number | null;
3539
- /** Stop Processing */
3540
- stop_processing?: boolean | null;
3541
- /** Conditions */
3542
- conditions?: {
3543
- [key: string]: unknown;
3544
- } | null;
3545
- /** Actions */
3546
- actions?: {
3547
- [key: string]: unknown;
3548
- }[] | null;
3549
- /** Applies To All Categories */
3550
- applies_to_all_categories?: boolean | null;
3551
- /** Category Ids */
3552
- category_ids?: number[] | null;
3553
- /** Applies To All Priorities */
3554
- applies_to_all_priorities?: boolean | null;
3555
- /** Priority Ids */
3556
- priority_ids?: number[] | null;
3557
- /** Is Active */
3558
- is_active?: boolean | null;
3559
- /** Status */
3560
- status?: string | null;
3561
- };
3562
- /**
3563
- * CreateCannedResponseRequest
3564
- * @description Request model for creating a new canned response
3565
- * @example {
3566
- * "category": "greeting",
3567
- * "content": "Hello {{ticket.customer_name}},\\n\\nThank you for contacting support. We received your request and will get back to you shortly.\\n\\nBest regards,\\n{{agent.name}}",
3568
- * "content_type": "plain",
3569
- * "is_public": true,
3570
- * "response_name": "Greeting",
3571
- * "response_slug": "greeting",
3572
- * "shortcut": "/greeting",
3573
- * "status": "active",
3574
- * "subject": "Thank you for contacting us",
3575
- * "tags": [
3576
- * "initial",
3577
- * "acknowledgment"
3578
- * ]
3579
- * }
3580
- */
3581
- CreateCannedResponseRequest: {
3582
- /**
3583
- * Response Name
3584
- * @description Response name/title
3585
- */
3586
- response_name: string;
3587
- /**
3588
- * Response Slug
3589
- * @description URL-friendly slug
3590
- */
3591
- response_slug: string;
3592
- /**
3593
- * Subject
3594
- * @description Email subject (if applicable)
3595
- */
3596
- subject?: string | null;
3597
- /**
3598
- * Content
3599
- * @description Response content (supports placeholders like {{ticket.customer_name}})
3600
- */
3601
- content: string;
3602
3518
  /**
3603
- * Content Type
3604
- * @description Content type (plain, html, markdown)
3605
- * @default plain
3519
+ * Actions
3520
+ * @description Actions to perform
3606
3521
  */
3607
- content_type: string;
3522
+ actions: {
3523
+ [key: string]: unknown;
3524
+ }[];
3608
3525
  /**
3609
- * Category
3610
- * @description Response category (greeting, closing, solution, etc.)
3526
+ * Include Response
3527
+ * @description Include a canned response
3528
+ * @default false
3611
3529
  */
3612
- category?: string | null;
3530
+ include_response: boolean;
3613
3531
  /**
3614
- * Tags
3615
- * @description Tags for quick filtering
3532
+ * Canned Response Id
3533
+ * @description Canned response to include
3616
3534
  */
3617
- tags?: string[] | null;
3535
+ canned_response_id?: number | null;
3618
3536
  /**
3619
3537
  * Is Public
3620
3538
  * @description Available to all agents
@@ -3632,111 +3550,62 @@ export interface components {
3632
3550
  */
3633
3551
  user_ids?: number[] | null;
3634
3552
  /**
3635
- * Shortcut
3636
- * @description Keyboard shortcut (e.g., /greeting)
3637
- */
3638
- shortcut?: string | null;
3639
- /**
3640
- * Status
3641
- * @description Response status (active, inactive, archived)
3642
- * @default active
3643
- */
3644
- status: string;
3645
- };
3646
- /**
3647
- * UpdateTicketRequest
3648
- * @description Request model for updating a ticket (customer-facing)
3649
- */
3650
- UpdateTicketRequest: {
3651
- /**
3652
- * Subject
3653
- * @description Ticket subject
3654
- */
3655
- subject?: string | null;
3656
- /**
3657
- * Description
3658
- * @description Ticket description
3553
+ * Display Order
3554
+ * @description Display order
3555
+ * @default 0
3659
3556
  */
3660
- description?: string | null;
3557
+ display_order: number;
3661
3558
  /**
3662
- * Priority
3663
- * @description Priority level
3559
+ * Button Color
3560
+ * @description Button color (hex)
3664
3561
  */
3665
- priority?: string | null;
3562
+ button_color?: string | null;
3666
3563
  /**
3667
- * Category
3668
- * @description Ticket category
3564
+ * Icon
3565
+ * @description Icon identifier
3669
3566
  */
3670
- category?: string | null;
3567
+ icon?: string | null;
3671
3568
  /**
3672
- * Tags
3673
- * @description Tags
3569
+ * Status
3570
+ * @description Macro status (active, inactive)
3571
+ * @default active
3674
3572
  */
3675
- tags?: string[] | null;
3573
+ status: string;
3676
3574
  };
3677
3575
  /**
3678
- * CreateSavedFilterRequest
3679
- * @description Request model for creating a saved filter
3680
- * @example {
3681
- * "description": "All high priority tickets assigned to me",
3682
- * "filter_config": {
3683
- * "priority": [
3684
- * "high",
3685
- * "urgent"
3686
- * ],
3687
- * "status": [
3688
- * "open",
3689
- * "pending"
3690
- * ]
3691
- * },
3692
- * "filter_name": "My High Priority Tickets",
3693
- * "filter_slug": "my-high-priority",
3694
- * "is_default": true,
3695
- * "is_public": false
3696
- * }
3576
+ * UpdateMacroRequest
3577
+ * @description Request model for updating a macro
3697
3578
  */
3698
- CreateSavedFilterRequest: {
3699
- /**
3700
- * Filter Name
3701
- * @description Filter name
3702
- */
3703
- filter_name: string;
3704
- /**
3705
- * Filter Slug
3706
- * @description URL-friendly slug
3707
- */
3708
- filter_slug: string;
3709
- /**
3710
- * Description
3711
- * @description Filter description
3712
- */
3579
+ UpdateMacroRequest: {
3580
+ /** Macro Name */
3581
+ macro_name?: string | null;
3582
+ /** Macro Slug */
3583
+ macro_slug?: string | null;
3584
+ /** Description */
3713
3585
  description?: string | null;
3714
- /**
3715
- * Filter Config
3716
- * @description Filter configuration (query, filters, sort)
3717
- */
3718
- filter_config: {
3586
+ /** Actions */
3587
+ actions?: {
3719
3588
  [key: string]: unknown;
3720
- };
3721
- /**
3722
- * Is Public
3723
- * @description Make filter available to all users in organization
3724
- * @default false
3725
- */
3726
- is_public: boolean;
3727
- /**
3728
- * Is Default
3729
- * @description Set as default filter for user
3730
- * @default false
3731
- */
3732
- is_default: boolean;
3589
+ }[] | null;
3590
+ /** Include Response */
3591
+ include_response?: boolean | null;
3592
+ /** Canned Response Id */
3593
+ canned_response_id?: number | null;
3594
+ /** Is Public */
3595
+ is_public?: boolean | null;
3596
+ /** Team Ids */
3597
+ team_ids?: number[] | null;
3598
+ /** User Ids */
3599
+ user_ids?: number[] | null;
3600
+ /** Display Order */
3601
+ display_order?: number | null;
3602
+ /** Button Color */
3603
+ button_color?: string | null;
3604
+ /** Icon */
3605
+ icon?: string | null;
3606
+ /** Status */
3607
+ status?: string | null;
3733
3608
  };
3734
- /**
3735
- * PeriodType
3736
- * @description Period type for metrics snapshots
3737
- * @enum {string}
3738
- */
3739
- PeriodType: "daily" | "weekly" | "monthly";
3740
3609
  /**
3741
3610
  * UpdateEmailConfigRequest
3742
3611
  * @description Request model for updating email configuration
@@ -3889,376 +3758,320 @@ export interface components {
3889
3758
  notify_agent_on_assignment?: boolean | null;
3890
3759
  };
3891
3760
  /**
3892
- * MarkFollowupRequest
3893
- * @description Request model for marking follow-up as completed
3761
+ * BulkCloseRequest
3762
+ * @description Request model for bulk closing tickets
3894
3763
  */
3895
- MarkFollowupRequest: {
3764
+ BulkCloseRequest: {
3896
3765
  /**
3897
- * Followup Notes
3898
- * @description Follow-up notes
3766
+ * Ticket Ids
3767
+ * @description List of ticket IDs
3899
3768
  */
3900
- followup_notes: string;
3769
+ ticket_ids: number[];
3901
3770
  };
3902
3771
  /**
3903
- * TemplateStatus
3904
- * @description Template status values
3905
- * @enum {string}
3906
- */
3907
- TemplateStatus: "active" | "draft" | "archived";
3908
- /**
3909
- * UpdateMacroRequest
3910
- * @description Request model for updating a macro
3772
+ * AddTeamMemberRequest
3773
+ * @description Request model for adding a team member
3911
3774
  */
3912
- UpdateMacroRequest: {
3913
- /** Macro Name */
3914
- macro_name?: string | null;
3915
- /** Macro Slug */
3916
- macro_slug?: string | null;
3917
- /** Description */
3918
- description?: string | null;
3919
- /** Actions */
3920
- actions?: {
3921
- [key: string]: unknown;
3922
- }[] | null;
3923
- /** Include Response */
3924
- include_response?: boolean | null;
3925
- /** Canned Response Id */
3926
- canned_response_id?: number | null;
3927
- /** Is Public */
3928
- is_public?: boolean | null;
3929
- /** Team Ids */
3930
- team_ids?: number[] | null;
3931
- /** User Ids */
3932
- user_ids?: number[] | null;
3933
- /** Display Order */
3934
- display_order?: number | null;
3935
- /** Button Color */
3936
- button_color?: string | null;
3937
- /** Icon */
3938
- icon?: string | null;
3939
- /** Status */
3940
- status?: string | null;
3941
- };
3942
- /**
3943
- * GenerateSurveyRequest
3944
- * @description Request model for generating a satisfaction survey
3945
- */
3946
- GenerateSurveyRequest: {
3775
+ AddTeamMemberRequest: {
3947
3776
  /**
3948
- * Survey Type
3949
- * @description Survey type
3950
- * @default post_resolution
3777
+ * User Id
3778
+ * @description User ID to add to team
3951
3779
  */
3952
- survey_type: string;
3953
- };
3954
- /**
3955
- * CreateTeamRequest
3956
- * @description Request model for creating a team
3957
- */
3958
- CreateTeamRequest: {
3780
+ user_id: number;
3781
+ /** User Name */
3782
+ user_name: string;
3783
+ /** User Email */
3784
+ user_email: string;
3959
3785
  /**
3960
- * Team Name
3961
- * @description Team name
3786
+ * Role
3787
+ * @description agent, senior_agent, team_lead, trainee
3788
+ * @default agent
3962
3789
  */
3963
- team_name: string;
3790
+ role: string;
3964
3791
  /**
3965
- * Description
3966
- * @description Team description
3792
+ * Is Team Lead
3793
+ * @default false
3967
3794
  */
3968
- description?: string | null;
3795
+ is_team_lead: boolean;
3796
+ /** Max Concurrent Tickets */
3797
+ max_concurrent_tickets?: number | null;
3969
3798
  /**
3970
- * Team Type
3971
- * @description Team type: general, technical, billing, sales, custom
3972
- * @default general
3799
+ * Skills
3800
+ * @description Agent skills and expertise
3973
3801
  */
3974
- team_type: string;
3802
+ skills?: string[] | null;
3975
3803
  /**
3976
- * Team Lead User Id
3977
- * @description User ID of team leader
3804
+ * Skill Level
3805
+ * @description beginner, intermediate, expert, master
3806
+ * @default intermediate
3978
3807
  */
3979
- team_lead_user_id?: number | null;
3980
- /** Team Lead Name */
3981
- team_lead_name?: string | null;
3982
- /** Team Lead Email */
3983
- team_lead_email?: string | null;
3808
+ skill_level: string;
3984
3809
  /**
3985
- * Auto Assign Enabled
3986
- * @description Enable auto-assignment
3987
- * @default false
3810
+ * Categories
3811
+ * @description Categories agent handles
3988
3812
  */
3989
- auto_assign_enabled: boolean;
3813
+ categories?: string[] | null;
3990
3814
  /**
3991
- * Assignment Strategy
3992
- * @description round_robin, least_active, skill_based, random
3993
- * @default round_robin
3815
+ * Priority Levels
3816
+ * @description Priority levels: low, medium, high, critical
3994
3817
  */
3995
- assignment_strategy: string;
3996
- /** Max Tickets Per Agent */
3997
- max_tickets_per_agent?: number | null;
3818
+ priority_levels?: string[] | null;
3998
3819
  /**
3999
- * Business Hours
4000
- * @description Business hours schedule
3820
+ * Auto Assign Enabled
3821
+ * @default true
4001
3822
  */
4002
- business_hours?: {
3823
+ auto_assign_enabled: boolean;
3824
+ /**
3825
+ * Assignment Weight
3826
+ * @description Weight for load balancing (100 = normal)
3827
+ * @default 100
3828
+ */
3829
+ assignment_weight: number;
3830
+ /** Working Hours */
3831
+ working_hours?: {
4003
3832
  [key: string]: unknown;
4004
3833
  } | null;
4005
3834
  /**
4006
3835
  * Timezone
4007
- * @description Team timezone
4008
3836
  * @default UTC
4009
3837
  */
4010
3838
  timezone: string;
3839
+ };
3840
+ /**
3841
+ * SearchTicketsRequest
3842
+ * @description Request model for searching tickets
3843
+ * @example {
3844
+ * "filters": {
3845
+ * "category_id": [
3846
+ * 1,
3847
+ * 2
3848
+ * ],
3849
+ * "created_from": "2025-01-01",
3850
+ * "created_to": "2025-12-31",
3851
+ * "is_overdue": true,
3852
+ * "priority": [
3853
+ * "high",
3854
+ * "urgent"
3855
+ * ],
3856
+ * "status": [
3857
+ * "open",
3858
+ * "pending"
3859
+ * ]
3860
+ * },
3861
+ * "limit": 20,
3862
+ * "page": 1,
3863
+ * "query": "payment issue",
3864
+ * "sort_by": "created_at",
3865
+ * "sort_order": "desc"
3866
+ * }
3867
+ */
3868
+ SearchTicketsRequest: {
4011
3869
  /**
4012
- * Routing Rules
4013
- * @description Routing rules for auto-assignment
3870
+ * Query
3871
+ * @description Search query for full-text search
4014
3872
  */
4015
- routing_rules?: {
3873
+ query?: string | null;
3874
+ /**
3875
+ * Filters
3876
+ * @description Advanced filters (status, priority, category, dates, etc.)
3877
+ */
3878
+ filters?: {
4016
3879
  [key: string]: unknown;
4017
3880
  } | null;
4018
- /** Sla First Response Minutes */
4019
- sla_first_response_minutes?: number | null;
4020
- /** Sla Resolution Minutes */
4021
- sla_resolution_minutes?: number | null;
4022
3881
  /**
4023
- * Escalation Enabled
4024
- * @default false
3882
+ * Sort By
3883
+ * @description Sort field (created_at, updated_at, priority, status)
3884
+ * @default created_at
4025
3885
  */
4026
- escalation_enabled: boolean;
4027
- /** Escalation After Minutes */
4028
- escalation_after_minutes?: number | null;
3886
+ sort_by: string;
4029
3887
  /**
4030
- * Escalation Team Id
4031
- * @description Team ID to escalate to
3888
+ * Sort Order
3889
+ * @description Sort order (asc/desc)
3890
+ * @default desc
4032
3891
  */
4033
- escalation_team_id?: string | null;
3892
+ sort_order: string;
4034
3893
  /**
4035
- * Is Default
4036
- * @description Set as default team for unassigned tickets
4037
- * @default false
3894
+ * Page
3895
+ * @description Page number
3896
+ * @default 1
4038
3897
  */
4039
- is_default: boolean;
4040
- /** Settings */
4041
- settings?: {
4042
- [key: string]: unknown;
4043
- } | null;
4044
- /** Custom Fields */
4045
- custom_fields?: {
4046
- [key: string]: unknown;
4047
- } | null;
3898
+ page: number;
3899
+ /**
3900
+ * Limit
3901
+ * @description Results per page
3902
+ * @default 20
3903
+ */
3904
+ limit: number;
3905
+ };
3906
+ ErrorResponse: {
3907
+ /** @example about:blank */
3908
+ type?: string;
3909
+ /** @example GENERIC_ERROR */
3910
+ code?: string;
3911
+ /** @example Client Error */
3912
+ title?: string;
3913
+ /** @example 400 */
3914
+ status?: number;
3915
+ /** @example An error occurred */
3916
+ detail?: string;
3917
+ /** @example /v1/cart/items */
3918
+ instance?: string;
3919
+ extensions?: components["schemas"]["Extensions"];
4048
3920
  };
4049
3921
  /**
4050
- * AssignTicketRequest
4051
- * @description Request model for assigning a ticket
3922
+ * CreateCommentRequest
3923
+ * @description Request model for adding a comment
4052
3924
  */
4053
- AssignTicketRequest: {
3925
+ app__models__support__ticket_models__CreateCommentRequest: {
4054
3926
  /**
4055
- * Assigned To User Id
4056
- * @description User ID to assign to
3927
+ * Comment Body
3928
+ * @description Comment text
4057
3929
  */
4058
- assigned_to_user_id?: number | null;
3930
+ comment_body: string;
4059
3931
  /**
4060
- * Assigned Team Id
4061
- * @description Team ID to assign to
3932
+ * Is Internal
3933
+ * @description Internal note (agents only)
3934
+ * @default false
4062
3935
  */
4063
- assigned_team_id?: number | null;
3936
+ is_internal: boolean | null;
4064
3937
  };
4065
3938
  /**
4066
- * UpdateEmailTemplateRequest
4067
- * @description Request model for updating email template
3939
+ * CreateCannedResponseRequest
3940
+ * @description Request model for creating a new canned response
4068
3941
  * @example {
3942
+ * "category": "greeting",
3943
+ * "content": "Hello {{ticket.customer_name}},\\n\\nThank you for contacting support. We received your request and will get back to you shortly.\\n\\nBest regards,\\n{{agent.name}}",
3944
+ * "content_type": "plain",
3945
+ * "is_public": true,
3946
+ * "response_name": "Greeting",
3947
+ * "response_slug": "greeting",
3948
+ * "shortcut": "/greeting",
4069
3949
  * "status": "active",
4070
- * "subject_template": "New Support Ticket #{{ticket_number}}",
4071
- * "template_name": "Updated Ticket Created Template"
3950
+ * "subject": "Thank you for contacting us",
3951
+ * "tags": [
3952
+ * "initial",
3953
+ * "acknowledgment"
3954
+ * ]
4072
3955
  * }
4073
3956
  */
4074
- UpdateEmailTemplateRequest: {
4075
- /** Template Name */
4076
- template_name?: string | null;
4077
- /** Description */
4078
- description?: string | null;
4079
- /** Subject Template */
4080
- subject_template?: string | null;
4081
- /** Body Html */
4082
- body_html?: string | null;
4083
- /** Body Text */
4084
- body_text?: string | null;
4085
- /** Available Variables */
4086
- available_variables?: string[] | null;
4087
- /** From Email */
4088
- from_email?: string | null;
4089
- /** From Name */
4090
- from_name?: string | null;
4091
- /** Reply To */
4092
- reply_to?: string | null;
4093
- /** Is Default */
4094
- is_default?: boolean | null;
4095
- status?: components["schemas"]["TemplateStatus"] | null;
4096
- };
4097
- /**
4098
- * UpdateTeamRequest
4099
- * @description Request model for updating a team
4100
- */
4101
- UpdateTeamRequest: {
4102
- /** Team Name */
4103
- team_name?: string | null;
4104
- /** Description */
4105
- description?: string | null;
4106
- /** Team Type */
4107
- team_type?: string | null;
4108
- /** Team Lead User Id */
4109
- team_lead_user_id?: number | null;
4110
- /** Team Lead Name */
4111
- team_lead_name?: string | null;
4112
- /** Team Lead Email */
4113
- team_lead_email?: string | null;
4114
- /** Auto Assign Enabled */
4115
- auto_assign_enabled?: boolean | null;
4116
- /** Assignment Strategy */
4117
- assignment_strategy?: string | null;
4118
- /** Max Tickets Per Agent */
4119
- max_tickets_per_agent?: number | null;
4120
- /** Business Hours */
4121
- business_hours?: {
4122
- [key: string]: unknown;
4123
- } | null;
4124
- /** Timezone */
4125
- timezone?: string | null;
4126
- /** Routing Rules */
4127
- routing_rules?: {
4128
- [key: string]: unknown;
4129
- } | null;
4130
- /** Sla First Response Minutes */
4131
- sla_first_response_minutes?: number | null;
4132
- /** Sla Resolution Minutes */
4133
- sla_resolution_minutes?: number | null;
4134
- /** Escalation Enabled */
4135
- escalation_enabled?: boolean | null;
4136
- /** Escalation After Minutes */
4137
- escalation_after_minutes?: number | null;
4138
- /** Escalation Team Id */
4139
- escalation_team_id?: string | null;
4140
- /** Is Default */
4141
- is_default?: boolean | null;
3957
+ CreateCannedResponseRequest: {
3958
+ /**
3959
+ * Response Name
3960
+ * @description Response name/title
3961
+ */
3962
+ response_name: string;
3963
+ /**
3964
+ * Response Slug
3965
+ * @description URL-friendly slug
3966
+ */
3967
+ response_slug: string;
3968
+ /**
3969
+ * Subject
3970
+ * @description Email subject (if applicable)
3971
+ */
3972
+ subject?: string | null;
3973
+ /**
3974
+ * Content
3975
+ * @description Response content (supports placeholders like {{ticket.customer_name}})
3976
+ */
3977
+ content: string;
3978
+ /**
3979
+ * Content Type
3980
+ * @description Content type (plain, html, markdown)
3981
+ * @default plain
3982
+ */
3983
+ content_type: string;
3984
+ /**
3985
+ * Category
3986
+ * @description Response category (greeting, closing, solution, etc.)
3987
+ */
3988
+ category?: string | null;
3989
+ /**
3990
+ * Tags
3991
+ * @description Tags for quick filtering
3992
+ */
3993
+ tags?: string[] | null;
3994
+ /**
3995
+ * Is Public
3996
+ * @description Available to all agents
3997
+ * @default true
3998
+ */
3999
+ is_public: boolean;
4000
+ /**
4001
+ * Team Ids
4002
+ * @description Specific teams (if not public)
4003
+ */
4004
+ team_ids?: number[] | null;
4005
+ /**
4006
+ * User Ids
4007
+ * @description Specific users (if not public)
4008
+ */
4009
+ user_ids?: number[] | null;
4010
+ /**
4011
+ * Shortcut
4012
+ * @description Keyboard shortcut (e.g., /greeting)
4013
+ */
4014
+ shortcut?: string | null;
4142
4015
  /**
4143
4016
  * Status
4144
- * @description active, inactive, archived
4017
+ * @description Response status (active, inactive, archived)
4018
+ * @default active
4145
4019
  */
4146
- status?: string | null;
4147
- /** Settings */
4148
- settings?: {
4149
- [key: string]: unknown;
4150
- } | null;
4151
- /** Custom Fields */
4152
- custom_fields?: {
4153
- [key: string]: unknown;
4154
- } | null;
4020
+ status: string;
4155
4021
  };
4156
4022
  /**
4157
- * CreateReportExportRequest
4158
- * @description Request model for creating a report export
4023
+ * CreateSavedFilterRequest
4024
+ * @description Request model for creating a saved filter
4159
4025
  * @example {
4160
- * "export_format": "excel",
4161
- * "report_name": "Monthly Ticket Report - November 2025",
4162
- * "report_params": {
4163
- * "date_from": "2025-11-01",
4164
- * "date_to": "2025-11-30",
4165
- * "include_breakdowns": true,
4166
- * "period_type": "daily"
4026
+ * "description": "All high priority tickets assigned to me",
4027
+ * "filter_config": {
4028
+ * "priority": [
4029
+ * "high",
4030
+ * "urgent"
4031
+ * ],
4032
+ * "status": [
4033
+ * "open",
4034
+ * "pending"
4035
+ * ]
4167
4036
  * },
4168
- * "report_type": "ticket_metrics"
4037
+ * "filter_name": "My High Priority Tickets",
4038
+ * "filter_slug": "my-high-priority",
4039
+ * "is_default": true,
4040
+ * "is_public": false
4169
4041
  * }
4170
4042
  */
4171
- CreateReportExportRequest: {
4172
- /** @description Type of report to export */
4173
- report_type: components["schemas"]["ReportType"];
4043
+ CreateSavedFilterRequest: {
4174
4044
  /**
4175
- * Report Name
4176
- * @description User-friendly report name
4045
+ * Filter Name
4046
+ * @description Filter name
4177
4047
  */
4178
- report_name: string;
4048
+ filter_name: string;
4179
4049
  /**
4180
- * Report Params
4181
- * @description Report parameters (filters, date ranges, etc.)
4050
+ * Filter Slug
4051
+ * @description URL-friendly slug
4182
4052
  */
4183
- report_params: {
4184
- [key: string]: unknown;
4185
- };
4186
- /** @description Export file format */
4187
- export_format: components["schemas"]["ExportFormat"];
4188
- };
4189
- /**
4190
- * CreateBusinessHoursRequest
4191
- * @description Request model for creating business hours schedule
4192
- * @example {
4193
- * "is_default": true,
4194
- * "observes_holidays": true,
4195
- * "schedule_name": "Standard Business Hours",
4196
- * "schedule_slug": "standard-hours",
4197
- * "timezone": "America/New_York",
4198
- * "working_hours": {
4199
- * "friday": {
4200
- * "enabled": true,
4201
- * "end": "17:00",
4202
- * "start": "09:00"
4203
- * },
4204
- * "monday": {
4205
- * "enabled": true,
4206
- * "end": "17:00",
4207
- * "start": "09:00"
4208
- * },
4209
- * "saturday": {
4210
- * "enabled": false
4211
- * },
4212
- * "sunday": {
4213
- * "enabled": false
4214
- * },
4215
- * "thursday": {
4216
- * "enabled": true,
4217
- * "end": "17:00",
4218
- * "start": "09:00"
4219
- * },
4220
- * "tuesday": {
4221
- * "enabled": true,
4222
- * "end": "17:00",
4223
- * "start": "09:00"
4224
- * },
4225
- * "wednesday": {
4226
- * "enabled": true,
4227
- * "end": "17:00",
4228
- * "start": "09:00"
4229
- * }
4230
- * }
4231
- * }
4232
- */
4233
- CreateBusinessHoursRequest: {
4234
- /** Schedule Name */
4235
- schedule_name: string;
4236
- /** Schedule Slug */
4237
- schedule_slug: string;
4238
- /** Description */
4239
- description?: string | null;
4053
+ filter_slug: string;
4240
4054
  /**
4241
- * Timezone
4242
- * @description Timezone (e.g., 'America/New_York')
4243
- * @default UTC
4055
+ * Description
4056
+ * @description Filter description
4244
4057
  */
4245
- timezone: string;
4058
+ description?: string | null;
4246
4059
  /**
4247
- * Working Hours
4248
- * @description Working hours per day of week
4060
+ * Filter Config
4061
+ * @description Filter configuration (query, filters, sort)
4249
4062
  */
4250
- working_hours: {
4063
+ filter_config: {
4251
4064
  [key: string]: unknown;
4252
4065
  };
4253
4066
  /**
4254
- * Observes Holidays
4255
- * @description Whether to observe holiday calendar
4256
- * @default true
4067
+ * Is Public
4068
+ * @description Make filter available to all users in organization
4069
+ * @default false
4257
4070
  */
4258
- observes_holidays: boolean;
4071
+ is_public: boolean;
4259
4072
  /**
4260
4073
  * Is Default
4261
- * @description Default business hours for organization
4074
+ * @description Set as default filter for user
4262
4075
  * @default false
4263
4076
  */
4264
4077
  is_default: boolean;
@@ -4354,58 +4167,245 @@ export interface components {
4354
4167
  [key: string]: unknown;
4355
4168
  } | null;
4356
4169
  };
4357
- ErrorResponse: {
4358
- /** @example about:blank */
4359
- type?: string;
4170
+ /**
4171
+ * GetDashboardMetricsRequest
4172
+ * @description Request model for getting dashboard metrics
4173
+ * @example {
4174
+ * "date_from": "2025-11-01",
4175
+ * "date_to": "2025-12-01",
4176
+ * "period_type": "daily"
4177
+ * }
4178
+ */
4179
+ GetDashboardMetricsRequest: {
4180
+ /**
4181
+ * @description Period type: daily, weekly, monthly
4182
+ * @default daily
4183
+ */
4184
+ period_type: components["schemas"]["PeriodType"];
4185
+ /**
4186
+ * Date From
4187
+ * @description Start date (defaults to 30 days ago)
4188
+ */
4189
+ date_from?: string | null;
4190
+ /**
4191
+ * Date To
4192
+ * @description End date (defaults to today)
4193
+ */
4194
+ date_to?: string | null;
4195
+ };
4196
+ Extensions: {
4360
4197
  /** @example GENERIC_ERROR */
4361
- code?: string;
4362
- /** @example Client Error */
4363
- title?: string;
4364
- /** @example 400 */
4365
- status?: number;
4366
- /** @example An error occurred */
4367
- detail?: string;
4368
- /** @example /v1/cart/items */
4369
- instance?: string;
4370
- extensions?: components["schemas"]["Extensions"];
4198
+ message_code?: string;
4199
+ /** @example [] */
4200
+ invalid_params?: components["schemas"]["InvalidParam"][];
4201
+ extra_data?: Record<string, never> | null;
4202
+ /** @example Detailed debug information */
4203
+ debug?: string | null;
4204
+ };
4205
+ InvalidParam: {
4206
+ /** @example items[0].quantity */
4207
+ field?: string;
4208
+ /** @example Input should be greater than or equal to 1 */
4209
+ error?: string;
4371
4210
  };
4372
4211
  /**
4373
- * UpdateTicketStatusRequest
4374
- * @description Request model for updating ticket status
4212
+ * SearchCommentsRequest
4213
+ * @description Request model for searching comments
4214
+ * @example {
4215
+ * "include_internal": false,
4216
+ * "limit": 20,
4217
+ * "page": 1,
4218
+ * "query": "refund",
4219
+ * "ticket_id": "tkt_xxx123"
4220
+ * }
4375
4221
  */
4376
- UpdateTicketStatusRequest: {
4222
+ SearchCommentsRequest: {
4377
4223
  /**
4378
- * Status
4379
- * @description New status: new, open, pending, waiting_for_customer, on_hold, resolved, closed
4224
+ * Query
4225
+ * @description Search query
4380
4226
  */
4381
- status: string;
4227
+ query: string;
4382
4228
  /**
4383
- * Reason
4384
- * @description Reason for status change
4229
+ * Ticket Id
4230
+ * @description Filter by specific ticket ID
4385
4231
  */
4386
- reason?: string | null;
4232
+ ticket_id?: string | null;
4233
+ /**
4234
+ * Include Internal
4235
+ * @description Include internal notes in search results
4236
+ * @default false
4237
+ */
4238
+ include_internal: boolean;
4239
+ /**
4240
+ * Page
4241
+ * @description Page number
4242
+ * @default 1
4243
+ */
4244
+ page: number;
4245
+ /**
4246
+ * Limit
4247
+ * @description Results per page
4248
+ * @default 20
4249
+ */
4250
+ limit: number;
4387
4251
  };
4388
4252
  /**
4389
- * GroupByDimension
4390
- * @description Grouping dimensions for SLA compliance
4391
- * @enum {string}
4253
+ * UpdateTicketRequest
4254
+ * @description Request model for updating a ticket (customer-facing)
4392
4255
  */
4393
- GroupByDimension: "daily" | "weekly" | "monthly" | "team" | "agent";
4256
+ UpdateTicketRequest: {
4257
+ /**
4258
+ * Subject
4259
+ * @description Ticket subject
4260
+ */
4261
+ subject?: string | null;
4262
+ /**
4263
+ * Description
4264
+ * @description Ticket description
4265
+ */
4266
+ description?: string | null;
4267
+ /**
4268
+ * Priority
4269
+ * @description Priority level
4270
+ */
4271
+ priority?: string | null;
4272
+ /**
4273
+ * Category
4274
+ * @description Ticket category
4275
+ */
4276
+ category?: string | null;
4277
+ /**
4278
+ * Tags
4279
+ * @description Tags
4280
+ */
4281
+ tags?: string[] | null;
4282
+ };
4394
4283
  /**
4395
- * BulkUpdateStatusRequest
4396
- * @description Request model for bulk updating ticket status
4284
+ * UpdateAutomationRuleRequest
4285
+ * @description Request model for updating an automation rule
4397
4286
  */
4398
- BulkUpdateStatusRequest: {
4287
+ UpdateAutomationRuleRequest: {
4288
+ /** Rule Name */
4289
+ rule_name?: string | null;
4290
+ /** Rule Slug */
4291
+ rule_slug?: string | null;
4292
+ /** Description */
4293
+ description?: string | null;
4294
+ /** Trigger Event */
4295
+ trigger_event?: string | null;
4296
+ /** Execution Order */
4297
+ execution_order?: number | null;
4298
+ /** Stop Processing */
4299
+ stop_processing?: boolean | null;
4300
+ /** Conditions */
4301
+ conditions?: {
4302
+ [key: string]: unknown;
4303
+ } | null;
4304
+ /** Actions */
4305
+ actions?: {
4306
+ [key: string]: unknown;
4307
+ }[] | null;
4308
+ /** Applies To All Categories */
4309
+ applies_to_all_categories?: boolean | null;
4310
+ /** Category Ids */
4311
+ category_ids?: number[] | null;
4312
+ /** Applies To All Priorities */
4313
+ applies_to_all_priorities?: boolean | null;
4314
+ /** Priority Ids */
4315
+ priority_ids?: number[] | null;
4316
+ /** Is Active */
4317
+ is_active?: boolean | null;
4318
+ /** Status */
4319
+ status?: string | null;
4320
+ };
4321
+ /**
4322
+ * @example {
4323
+ * "status": "success",
4324
+ * "message": "Operation successful",
4325
+ * "message_code": "api_suc_20001",
4326
+ * "data": {},
4327
+ * "metadata": {
4328
+ * "timestamp": "2026-03-26T10:00:00.000Z",
4329
+ * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
4330
+ * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
4331
+ * "version": "v1",
4332
+ * "executionTime": 42,
4333
+ * "language": "en-US"
4334
+ * }
4335
+ * }
4336
+ */
4337
+ StandardResponse: {
4338
+ /** @example success */
4339
+ status?: string;
4340
+ data?: Record<string, never> | null;
4341
+ /** @example Operation successful */
4342
+ message?: string | null;
4343
+ /** @example api_suc_20001 */
4344
+ message_code?: string | null;
4345
+ metadata?: Record<string, never> | null;
4346
+ error?: components["schemas"]["ErrorResponse"];
4347
+ };
4348
+ /**
4349
+ * ReverseMergeRequest
4350
+ * @description Request model for reversing a ticket merge
4351
+ */
4352
+ ReverseMergeRequest: {
4399
4353
  /**
4400
- * Ticket Ids
4401
- * @description List of ticket IDs
4354
+ * Reversal Reason
4355
+ * @description Reason for reversal
4402
4356
  */
4403
- ticket_ids: number[];
4357
+ reversal_reason: string;
4358
+ };
4359
+ /**
4360
+ * CreateHolidayRequest
4361
+ * @description Request model for creating a holiday
4362
+ * @example {
4363
+ * "affects_sla": true,
4364
+ * "holiday_date": "2025-12-25",
4365
+ * "holiday_name": "Christmas Day",
4366
+ * "is_full_day": true,
4367
+ * "is_recurring": true
4368
+ * }
4369
+ */
4370
+ CreateHolidayRequest: {
4371
+ /** Holiday Name */
4372
+ holiday_name: string;
4404
4373
  /**
4405
- * New Status
4406
- * @description New status
4374
+ * Holiday Date
4375
+ * Format: date
4376
+ * @description Holiday date
4407
4377
  */
4408
- new_status: string;
4378
+ holiday_date: string;
4379
+ /**
4380
+ * Is Recurring
4381
+ * @description Recurs annually
4382
+ * @default false
4383
+ */
4384
+ is_recurring: boolean;
4385
+ /**
4386
+ * Affects Sla
4387
+ * @description Whether this holiday affects SLA
4388
+ * @default true
4389
+ */
4390
+ affects_sla: boolean;
4391
+ /**
4392
+ * Is Full Day
4393
+ * @description Full day or partial day holiday
4394
+ * @default true
4395
+ */
4396
+ is_full_day: boolean;
4397
+ /**
4398
+ * Start Time
4399
+ * @description Start time for partial day
4400
+ */
4401
+ start_time?: string | null;
4402
+ /**
4403
+ * End Time
4404
+ * @description End time for partial day
4405
+ */
4406
+ end_time?: string | null;
4407
+ /** Notes */
4408
+ notes?: string | null;
4409
4409
  };
4410
4410
  };
4411
4411
  responses: never;
@@ -5455,7 +5455,7 @@ export interface operations {
5455
5455
  };
5456
5456
  requestBody: {
5457
5457
  content: {
5458
- "application/json": components["schemas"]["CreateCommentRequest"];
5458
+ "application/json": components["schemas"]["app__models__support__ticket_models__CreateCommentRequest"];
5459
5459
  };
5460
5460
  };
5461
5461
  responses: {
@@ -7703,7 +7703,7 @@ export interface operations {
7703
7703
  };
7704
7704
  requestBody: {
7705
7705
  content: {
7706
- "application/json": components["schemas"]["CreateCommentRequest"];
7706
+ "application/json": components["schemas"]["app__models__support__ticket_models__CreateCommentRequest"];
7707
7707
  };
7708
7708
  };
7709
7709
  responses: {
@@ -7908,7 +7908,7 @@ export interface operations {
7908
7908
  };
7909
7909
  requestBody: {
7910
7910
  content: {
7911
- "application/json": components["schemas"]["CreateCommentRequest"];
7911
+ "application/json": components["schemas"]["app__models__support__ticket_models__CreateCommentRequest"];
7912
7912
  };
7913
7913
  };
7914
7914
  responses: {
@@ -10776,7 +10776,7 @@ export interface operations {
10776
10776
  };
10777
10777
  requestBody: {
10778
10778
  content: {
10779
- "application/json": components["schemas"]["app__models__support__category_models__UpdateCategoryRequest"];
10779
+ "application/json": components["schemas"]["UpdateCategoryRequest"];
10780
10780
  };
10781
10781
  };
10782
10782
  responses: {