@blezgo/api-sdk 0.1.2 → 0.1.4

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