@redonvn/redai-openapi-user 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1839 @@
1
+ {
2
+ "pluginId": "redai-openapi-user",
3
+ "pluginName": "RedAI User API Export - User",
4
+ "version": "0.1.0",
5
+ "description": "OpenAPI export cho nhóm API user đã chọn: User.",
6
+ "serverUrl": "https://v2.redai.vn/api",
7
+ "optional": true,
8
+ "tools": [
9
+ {
10
+ "name": "redai_openapi_user_accountcontroller_createavataruploadurl_v1",
11
+ "description": "POST /v1/user/account/avatar/upload-url",
12
+ "method": "POST",
13
+ "path": "/v1/user/account/avatar/upload-url",
14
+ "operationId": "accountcontroller_createavataruploadurl_v1",
15
+ "parameters": {
16
+ "type": "object",
17
+ "properties": {
18
+ "body": {
19
+ "type": "object",
20
+ "properties": {
21
+ "imageType": {
22
+ "type": "string",
23
+ "description": "Loại hình ảnh",
24
+ "enum": [
25
+ "image/png",
26
+ "image/jpeg",
27
+ "image/webp",
28
+ "image/gif",
29
+ "image/svg+xml",
30
+ "image/bmp",
31
+ "image/tiff",
32
+ "image/x-icon",
33
+ "image/avif"
34
+ ]
35
+ },
36
+ "maxSize": {
37
+ "type": "number",
38
+ "description": "Kích thước tối đa của file (bytes)"
39
+ }
40
+ },
41
+ "required": [
42
+ "imageType",
43
+ "maxSize"
44
+ ]
45
+ }
46
+ },
47
+ "required": [
48
+ "body"
49
+ ],
50
+ "additionalProperties": false,
51
+ "description": "AccountController_createAvatarUploadUrl_v1 tool arguments"
52
+ },
53
+ "tags": [
54
+ "User - Account"
55
+ ]
56
+ },
57
+ {
58
+ "name": "redai_openapi_user_accountcontroller_createcoverimageuploadurl_v1",
59
+ "description": "Tạo URL tạm thời để tải lên ảnh bìa. API này tạo URL tạm thời để user có thể upload ảnh bìa lên S3. Key sẽ được lưu vào database ngay lập tức.",
60
+ "method": "POST",
61
+ "path": "/v1/user/account/cover-image/upload-url",
62
+ "operationId": "accountcontroller_createcoverimageuploadurl_v1",
63
+ "parameters": {
64
+ "type": "object",
65
+ "properties": {
66
+ "body": {
67
+ "type": "object",
68
+ "properties": {
69
+ "imageType": {
70
+ "type": "string",
71
+ "description": "Loại hình ảnh",
72
+ "enum": [
73
+ "image/png",
74
+ "image/jpeg",
75
+ "image/webp",
76
+ "image/gif",
77
+ "image/svg+xml",
78
+ "image/bmp",
79
+ "image/tiff",
80
+ "image/x-icon",
81
+ "image/avif"
82
+ ]
83
+ },
84
+ "maxSize": {
85
+ "type": "number",
86
+ "description": "Kích thước tối đa của file (bytes)"
87
+ }
88
+ },
89
+ "required": [
90
+ "imageType",
91
+ "maxSize"
92
+ ]
93
+ }
94
+ },
95
+ "required": [
96
+ "body"
97
+ ],
98
+ "additionalProperties": false,
99
+ "description": "Tạo URL tạm thời để tải lên ảnh bìa tool arguments"
100
+ },
101
+ "tags": [
102
+ "User - Account"
103
+ ]
104
+ },
105
+ {
106
+ "name": "redai_openapi_user_accountcontroller_getbankinfo_v1",
107
+ "description": "Lấy thông tin tài khoản ngân hàng của người dùng",
108
+ "method": "GET",
109
+ "path": "/v1/user/account/bank-info",
110
+ "operationId": "accountcontroller_getbankinfo_v1",
111
+ "parameters": {
112
+ "type": "object",
113
+ "properties": {},
114
+ "additionalProperties": false,
115
+ "description": "Lấy thông tin tài khoản ngân hàng của người dùng tool arguments"
116
+ },
117
+ "tags": [
118
+ "User - Account"
119
+ ]
120
+ },
121
+ {
122
+ "name": "redai_openapi_user_accountcontroller_getbusinessinfo_v1",
123
+ "description": "Lấy thông tin doanh nghiệp của người dùng",
124
+ "method": "GET",
125
+ "path": "/v1/user/account/business-info",
126
+ "operationId": "accountcontroller_getbusinessinfo_v1",
127
+ "parameters": {
128
+ "type": "object",
129
+ "properties": {},
130
+ "additionalProperties": false,
131
+ "description": "Lấy thông tin doanh nghiệp của người dùng tool arguments"
132
+ },
133
+ "tags": [
134
+ "User - Account"
135
+ ]
136
+ },
137
+ {
138
+ "name": "redai_openapi_user_accountcontroller_getnotificationsettings_v1",
139
+ "description": "Lấy thông tin cài đặt thông báo của user. API này cho phép user xem các cài đặt thông báo của họ",
140
+ "method": "GET",
141
+ "path": "/v1/user/account/notification-settings",
142
+ "operationId": "accountcontroller_getnotificationsettings_v1",
143
+ "parameters": {
144
+ "type": "object",
145
+ "properties": {},
146
+ "additionalProperties": false,
147
+ "description": "Lấy thông tin cài đặt thông báo của user tool arguments"
148
+ },
149
+ "tags": [
150
+ "User - Account"
151
+ ]
152
+ },
153
+ {
154
+ "name": "redai_openapi_user_accountcontroller_sendemailverificationotp_v1",
155
+ "description": "Gửi OTP xác thực email. Gửi mã OTP 6 số đến email của người dùng để xác thực. Email phải chưa được sử dụng bởi tài khoản khác. Có cooldown 60 giây giữa các lần gửi.",
156
+ "method": "POST",
157
+ "path": "/v1/user/account/email/send-otp",
158
+ "operationId": "accountcontroller_sendemailverificationotp_v1",
159
+ "parameters": {
160
+ "type": "object",
161
+ "properties": {
162
+ "body": {
163
+ "type": "object",
164
+ "properties": {
165
+ "email": {
166
+ "type": "string",
167
+ "description": "Email cần xác thực"
168
+ }
169
+ },
170
+ "required": [
171
+ "email"
172
+ ]
173
+ }
174
+ },
175
+ "required": [
176
+ "body"
177
+ ],
178
+ "additionalProperties": false,
179
+ "description": "Gửi OTP xác thực email tool arguments"
180
+ },
181
+ "tags": [
182
+ "User - Account"
183
+ ]
184
+ },
185
+ {
186
+ "name": "redai_openapi_user_accountcontroller_sendphoneverificationotp_v1",
187
+ "description": "Gửi OTP xác thực số điện thoại. API này gửi mã OTP 6 số đến số điện thoại để xác thực. Kiểm tra số điện thoại không trùng với tài khoản khác.",
188
+ "method": "POST",
189
+ "path": "/v1/user/account/phone/send-otp",
190
+ "operationId": "accountcontroller_sendphoneverificationotp_v1",
191
+ "parameters": {
192
+ "type": "object",
193
+ "properties": {
194
+ "body": {
195
+ "type": "object",
196
+ "properties": {
197
+ "phoneNumber": {
198
+ "type": "string",
199
+ "description": "Số điện thoại cần xác thực"
200
+ }
201
+ },
202
+ "required": [
203
+ "phoneNumber"
204
+ ]
205
+ }
206
+ },
207
+ "required": [
208
+ "body"
209
+ ],
210
+ "additionalProperties": false,
211
+ "description": "Gửi OTP xác thực số điện thoại tool arguments"
212
+ },
213
+ "tags": [
214
+ "User - Account"
215
+ ]
216
+ },
217
+ {
218
+ "name": "redai_openapi_user_accountcontroller_updateavatar_v1",
219
+ "description": "PUT /v1/user/account/avatar",
220
+ "method": "PUT",
221
+ "path": "/v1/user/account/avatar",
222
+ "operationId": "accountcontroller_updateavatar_v1",
223
+ "parameters": {
224
+ "type": "object",
225
+ "properties": {
226
+ "body": {
227
+ "type": "object",
228
+ "properties": {
229
+ "avatarKey": {
230
+ "type": "string",
231
+ "description": "Khóa S3 của avatar"
232
+ }
233
+ },
234
+ "required": [
235
+ "avatarKey"
236
+ ]
237
+ }
238
+ },
239
+ "required": [
240
+ "body"
241
+ ],
242
+ "additionalProperties": false,
243
+ "description": "AccountController_updateAvatar_v1 tool arguments"
244
+ },
245
+ "tags": [
246
+ "User - Account"
247
+ ]
248
+ },
249
+ {
250
+ "name": "redai_openapi_user_accountcontroller_updatebankinfo_v1",
251
+ "description": "Cập nhật thông tin tài khoản ngân hàng",
252
+ "method": "PUT",
253
+ "path": "/v1/user/account/bank-info",
254
+ "operationId": "accountcontroller_updatebankinfo_v1",
255
+ "parameters": {
256
+ "type": "object",
257
+ "properties": {
258
+ "body": {
259
+ "type": "object",
260
+ "properties": {
261
+ "bankCode": {
262
+ "type": "string",
263
+ "description": "Mã ngân hàng"
264
+ },
265
+ "accountNumber": {
266
+ "type": "string",
267
+ "description": "Số tài khoản"
268
+ },
269
+ "accountHolder": {
270
+ "type": "string",
271
+ "description": "Tên chủ tài khoản"
272
+ },
273
+ "bankBranch": {
274
+ "type": "string",
275
+ "description": "Chi nhánh ngân hàng"
276
+ }
277
+ },
278
+ "required": [
279
+ "bankCode",
280
+ "accountNumber",
281
+ "accountHolder"
282
+ ]
283
+ }
284
+ },
285
+ "required": [
286
+ "body"
287
+ ],
288
+ "additionalProperties": false,
289
+ "description": "Cập nhật thông tin tài khoản ngân hàng tool arguments"
290
+ },
291
+ "tags": [
292
+ "User - Account"
293
+ ]
294
+ },
295
+ {
296
+ "name": "redai_openapi_user_accountcontroller_updatebusinessinfo_v1",
297
+ "description": "Cập nhật thông tin doanh nghiệp của người dùng. API này cho phép người dùng cập nhật thông tin doanh nghiệp của họ. Nếu chưa có thông tin doanh nghiệp, hệ thống sẽ tạo mới.",
298
+ "method": "PUT",
299
+ "path": "/v1/user/account/business-info",
300
+ "operationId": "accountcontroller_updatebusinessinfo_v1",
301
+ "parameters": {
302
+ "type": "object",
303
+ "properties": {
304
+ "body": {
305
+ "type": "object",
306
+ "properties": {
307
+ "businessName": {
308
+ "type": "string",
309
+ "description": "Tên doanh nghiệp"
310
+ },
311
+ "businessEmail": {
312
+ "type": "string",
313
+ "description": "Email doanh nghiệp"
314
+ },
315
+ "businessPhone": {
316
+ "type": "string",
317
+ "description": "Số điện thoại doanh nghiệp"
318
+ },
319
+ "taxCode": {
320
+ "type": "string",
321
+ "description": "Mã số thuế"
322
+ },
323
+ "representativeName": {
324
+ "type": "string",
325
+ "description": "Tên người đại diện"
326
+ },
327
+ "representativePosition": {
328
+ "type": "string",
329
+ "description": "Vị trí người đại diện"
330
+ },
331
+ "businessAddress": {
332
+ "type": "string",
333
+ "description": "Địa chỉ doanh nghiệp"
334
+ }
335
+ },
336
+ "required": [
337
+ "businessName",
338
+ "businessEmail",
339
+ "businessPhone",
340
+ "taxCode",
341
+ "representativeName",
342
+ "representativePosition",
343
+ "businessAddress"
344
+ ]
345
+ }
346
+ },
347
+ "required": [
348
+ "body"
349
+ ],
350
+ "additionalProperties": false,
351
+ "description": "Cập nhật thông tin doanh nghiệp của người dùng tool arguments"
352
+ },
353
+ "tags": [
354
+ "User - Account"
355
+ ]
356
+ },
357
+ {
358
+ "name": "redai_openapi_user_accountcontroller_updatenotificationsettings_v1",
359
+ "description": "Cập nhật thông tin cài đặt thông báo của user. API này cho phép user cập nhật các cài đặt thông báo của họ",
360
+ "method": "PUT",
361
+ "path": "/v1/user/account/notification-settings",
362
+ "operationId": "accountcontroller_updatenotificationsettings_v1",
363
+ "parameters": {
364
+ "type": "object",
365
+ "properties": {
366
+ "body": {
367
+ "type": "object",
368
+ "properties": {
369
+ "receiveAccountSystemEmails": {
370
+ "type": "boolean",
371
+ "description": "Nhận email thông báo hệ thống"
372
+ },
373
+ "receiveBillingEmails": {
374
+ "type": "boolean",
375
+ "description": "Nhận email thông báo thanh toán"
376
+ },
377
+ "receiveNewFeatureEmails": {
378
+ "type": "boolean",
379
+ "description": "Nhận email thông báo tính năng mới"
380
+ },
381
+ "receiveAffiliateEmails": {
382
+ "type": "boolean",
383
+ "description": "Nhận email thông báo tiếp thị liên kết"
384
+ },
385
+ "receiveDocumentationEmails": {
386
+ "type": [
387
+ "boolean",
388
+ "null"
389
+ ],
390
+ "description": "Nhận email thông báo tài liệu"
391
+ },
392
+ "receivePromotionalEmails": {
393
+ "type": "boolean",
394
+ "description": "Nhận email quảng cáo"
395
+ }
396
+ }
397
+ }
398
+ },
399
+ "required": [
400
+ "body"
401
+ ],
402
+ "additionalProperties": false,
403
+ "description": "Cập nhật thông tin cài đặt thông báo của user tool arguments"
404
+ },
405
+ "tags": [
406
+ "User - Account"
407
+ ]
408
+ },
409
+ {
410
+ "name": "redai_openapi_user_accountcontroller_upgradetobusinessaccount_v1",
411
+ "description": "Nâng cấp tài khoản cá nhân lên doanh nghiệp. API này cho phép nâng cấp tài khoản cá nhân (INDIVIDUAL) lên doanh nghiệp (BUSINESS). Khi nâng cấp, hệ thống sẽ cập nhật trường type thành BUSINESS, đặt isSignatureRuleContract = false, tạo/cập nhật thông tin doanh nghiệp, và nếu có AffiliateAccount thì cập nhật trạng thái thành DRAFT.",
412
+ "method": "POST",
413
+ "path": "/v1/user/account/upgrade-to-business",
414
+ "operationId": "accountcontroller_upgradetobusinessaccount_v1",
415
+ "parameters": {
416
+ "type": "object",
417
+ "properties": {
418
+ "body": {
419
+ "type": "object",
420
+ "properties": {
421
+ "businessName": {
422
+ "type": "string",
423
+ "description": "Tên doanh nghiệp"
424
+ },
425
+ "businessEmail": {
426
+ "type": "string",
427
+ "description": "Email doanh nghiệp"
428
+ },
429
+ "businessPhone": {
430
+ "type": "string",
431
+ "description": "Số điện thoại doanh nghiệp"
432
+ },
433
+ "taxCode": {
434
+ "type": "string",
435
+ "description": "Mã số thuế"
436
+ },
437
+ "representativeName": {
438
+ "type": "string",
439
+ "description": "Tên người đại diện"
440
+ },
441
+ "representativePosition": {
442
+ "type": "string",
443
+ "description": "Vị trí người đại diện"
444
+ },
445
+ "businessAddress": {
446
+ "type": "string",
447
+ "description": "Địa chỉ doanh nghiệp"
448
+ }
449
+ },
450
+ "required": [
451
+ "businessName",
452
+ "businessEmail",
453
+ "businessPhone",
454
+ "taxCode",
455
+ "representativeName",
456
+ "representativePosition",
457
+ "businessAddress"
458
+ ]
459
+ }
460
+ },
461
+ "required": [
462
+ "body"
463
+ ],
464
+ "additionalProperties": false,
465
+ "description": "Nâng cấp tài khoản cá nhân lên doanh nghiệp tool arguments"
466
+ },
467
+ "tags": [
468
+ "User - Account"
469
+ ]
470
+ },
471
+ {
472
+ "name": "redai_openapi_user_accountcontroller_verifyemailotp_v1",
473
+ "description": "Xác thực OTP email. Xác thực mã OTP và verificationKey để cập nhật email cho người dùng. Sau khi xác thực thành công, email sẽ được lưu và đánh dấu đã xác thực.",
474
+ "method": "POST",
475
+ "path": "/v1/user/account/email/verify-otp",
476
+ "operationId": "accountcontroller_verifyemailotp_v1",
477
+ "parameters": {
478
+ "type": "object",
479
+ "properties": {
480
+ "body": {
481
+ "type": "object",
482
+ "properties": {
483
+ "otp": {
484
+ "type": "string",
485
+ "description": "Mã OTP 6 số"
486
+ },
487
+ "verificationKey": {
488
+ "type": "string",
489
+ "description": "Key mã hóa trả về từ API gửi OTP"
490
+ }
491
+ },
492
+ "required": [
493
+ "otp",
494
+ "verificationKey"
495
+ ]
496
+ }
497
+ },
498
+ "required": [
499
+ "body"
500
+ ],
501
+ "additionalProperties": false,
502
+ "description": "Xác thực OTP email tool arguments"
503
+ },
504
+ "tags": [
505
+ "User - Account"
506
+ ]
507
+ },
508
+ {
509
+ "name": "redai_openapi_user_accountcontroller_verifyphoneotp_v1",
510
+ "description": "Xác thực OTP số điện thoại. API này xác thực mã OTP và cập nhật trạng thái isVerifyPhone=true cho user.",
511
+ "method": "POST",
512
+ "path": "/v1/user/account/phone/verify-otp",
513
+ "operationId": "accountcontroller_verifyphoneotp_v1",
514
+ "parameters": {
515
+ "type": "object",
516
+ "properties": {
517
+ "body": {
518
+ "type": "object",
519
+ "properties": {
520
+ "phoneNumber": {
521
+ "type": "string",
522
+ "description": "Số điện thoại đã gửi OTP"
523
+ },
524
+ "otp": {
525
+ "type": "string",
526
+ "description": "Mã OTP 6 số"
527
+ }
528
+ },
529
+ "required": [
530
+ "phoneNumber",
531
+ "otp"
532
+ ]
533
+ }
534
+ },
535
+ "required": [
536
+ "body"
537
+ ],
538
+ "additionalProperties": false,
539
+ "description": "Xác thực OTP số điện thoại tool arguments"
540
+ },
541
+ "tags": [
542
+ "User - Account"
543
+ ]
544
+ },
545
+ {
546
+ "name": "redai_openapi_user_apikeycontroller_activateapikey_v1",
547
+ "description": "Kích hoạt API key. Kích hoạt một API key đã bị vô hiệu hóa",
548
+ "method": "PUT",
549
+ "path": "/v1/api-keys/{id}/activate",
550
+ "operationId": "apikeycontroller_activateapikey_v1",
551
+ "parameters": {
552
+ "type": "object",
553
+ "properties": {
554
+ "path": {
555
+ "type": "object",
556
+ "properties": {
557
+ "id": {
558
+ "type": "number",
559
+ "description": "ID của API key"
560
+ }
561
+ },
562
+ "required": [
563
+ "id"
564
+ ],
565
+ "additionalProperties": false
566
+ }
567
+ },
568
+ "required": [
569
+ "path"
570
+ ],
571
+ "additionalProperties": false,
572
+ "description": "Kích hoạt API key tool arguments"
573
+ },
574
+ "tags": [
575
+ "API Keys"
576
+ ]
577
+ },
578
+ {
579
+ "name": "redai_openapi_user_apikeycontroller_createapikey_v1",
580
+ "description": "Tạo API key mới. Tạo API key mới với mã hóa bảo mật. API key chỉ hiển thị 1 lần khi tạo.",
581
+ "method": "POST",
582
+ "path": "/v1/api-keys",
583
+ "operationId": "apikeycontroller_createapikey_v1",
584
+ "parameters": {
585
+ "type": "object",
586
+ "properties": {
587
+ "body": {
588
+ "type": "object",
589
+ "properties": {
590
+ "name": {
591
+ "type": "string",
592
+ "description": "Tên mô tả cho API key"
593
+ },
594
+ "permissions": {
595
+ "type": "array",
596
+ "description": "Danh sách quyền của API key",
597
+ "items": {
598
+ "type": "string",
599
+ "enum": [
600
+ "module_workflow",
601
+ "module_agent",
602
+ "module_marketing",
603
+ "module_business",
604
+ "module_dashboard",
605
+ "module_calendar",
606
+ "module_training",
607
+ "module_integration",
608
+ "module_tool",
609
+ "module_marketplace",
610
+ "module_multichannel_chat",
611
+ "module_blog",
612
+ "module_affiliate",
613
+ "module_cloud_storage"
614
+ ]
615
+ }
616
+ },
617
+ "expiresAt": {
618
+ "type": "number",
619
+ "description": "Thời gian hết hạn (Unix timestamp). Null = không hết hạn"
620
+ },
621
+ "usageLimit": {
622
+ "type": "number",
623
+ "description": "Giới hạn số lần sử dụng. Null = không giới hạn"
624
+ }
625
+ },
626
+ "required": [
627
+ "name"
628
+ ]
629
+ }
630
+ },
631
+ "required": [
632
+ "body"
633
+ ],
634
+ "additionalProperties": false,
635
+ "description": "Tạo API key mới tool arguments"
636
+ },
637
+ "tags": [
638
+ "API Keys"
639
+ ]
640
+ },
641
+ {
642
+ "name": "redai_openapi_user_apikeycontroller_deactivateapikey_v1",
643
+ "description": "Vô hiệu hóa API key. Vô hiệu hóa một API key để ngừng sử dụng tạm thời",
644
+ "method": "PUT",
645
+ "path": "/v1/api-keys/{id}/deactivate",
646
+ "operationId": "apikeycontroller_deactivateapikey_v1",
647
+ "parameters": {
648
+ "type": "object",
649
+ "properties": {
650
+ "path": {
651
+ "type": "object",
652
+ "properties": {
653
+ "id": {
654
+ "type": "number",
655
+ "description": "ID của API key"
656
+ }
657
+ },
658
+ "required": [
659
+ "id"
660
+ ],
661
+ "additionalProperties": false
662
+ }
663
+ },
664
+ "required": [
665
+ "path"
666
+ ],
667
+ "additionalProperties": false,
668
+ "description": "Vô hiệu hóa API key tool arguments"
669
+ },
670
+ "tags": [
671
+ "API Keys"
672
+ ]
673
+ },
674
+ {
675
+ "name": "redai_openapi_user_apikeycontroller_deleteapikey_v1",
676
+ "description": "Xóa API key. Xóa vĩnh viễn một API key. Hành động này không thể hoàn tác.",
677
+ "method": "DELETE",
678
+ "path": "/v1/api-keys/{id}",
679
+ "operationId": "apikeycontroller_deleteapikey_v1",
680
+ "parameters": {
681
+ "type": "object",
682
+ "properties": {
683
+ "path": {
684
+ "type": "object",
685
+ "properties": {
686
+ "id": {
687
+ "type": "number",
688
+ "description": "ID của API key"
689
+ }
690
+ },
691
+ "required": [
692
+ "id"
693
+ ],
694
+ "additionalProperties": false
695
+ }
696
+ },
697
+ "required": [
698
+ "path"
699
+ ],
700
+ "additionalProperties": false,
701
+ "description": "Xóa API key tool arguments"
702
+ },
703
+ "tags": [
704
+ "API Keys"
705
+ ]
706
+ },
707
+ {
708
+ "name": "redai_openapi_user_apikeycontroller_getapikey_v1",
709
+ "description": "Lấy thông tin API key. Lấy thông tin chi tiết của một API key theo ID",
710
+ "method": "GET",
711
+ "path": "/v1/api-keys/{id}",
712
+ "operationId": "apikeycontroller_getapikey_v1",
713
+ "parameters": {
714
+ "type": "object",
715
+ "properties": {
716
+ "path": {
717
+ "type": "object",
718
+ "properties": {
719
+ "id": {
720
+ "type": "number",
721
+ "description": "ID của API key"
722
+ }
723
+ },
724
+ "required": [
725
+ "id"
726
+ ],
727
+ "additionalProperties": false
728
+ }
729
+ },
730
+ "required": [
731
+ "path"
732
+ ],
733
+ "additionalProperties": false,
734
+ "description": "Lấy thông tin API key tool arguments"
735
+ },
736
+ "tags": [
737
+ "API Keys"
738
+ ]
739
+ },
740
+ {
741
+ "name": "redai_openapi_user_apikeycontroller_getapikeys_v1",
742
+ "description": "Lấy danh sách API keys. Lấy danh sách tất cả API keys của người dùng hiện tại với phân trang",
743
+ "method": "GET",
744
+ "path": "/v1/api-keys",
745
+ "operationId": "apikeycontroller_getapikeys_v1",
746
+ "parameters": {
747
+ "type": "object",
748
+ "properties": {
749
+ "query": {
750
+ "type": "object",
751
+ "properties": {
752
+ "includeInactive": {
753
+ "type": "boolean",
754
+ "default": false,
755
+ "description": "Có bao gồm API keys không active không"
756
+ },
757
+ "page": {
758
+ "type": "number",
759
+ "default": 1,
760
+ "description": "Số trang (bắt đầu từ 1)"
761
+ },
762
+ "limit": {
763
+ "type": "number",
764
+ "default": 10,
765
+ "description": "Số lượng bản ghi trên mỗi trang"
766
+ }
767
+ },
768
+ "additionalProperties": false
769
+ }
770
+ },
771
+ "additionalProperties": false,
772
+ "description": "Lấy danh sách API keys tool arguments"
773
+ },
774
+ "tags": [
775
+ "API Keys"
776
+ ]
777
+ },
778
+ {
779
+ "name": "redai_openapi_user_apikeycontroller_revealapikey_v1",
780
+ "description": "Hiển thị API key đầy đủ. Hiển thị API key đầy đủ để người dùng copy.",
781
+ "method": "POST",
782
+ "path": "/v1/api-keys/{id}/reveal",
783
+ "operationId": "apikeycontroller_revealapikey_v1",
784
+ "parameters": {
785
+ "type": "object",
786
+ "properties": {
787
+ "path": {
788
+ "type": "object",
789
+ "properties": {
790
+ "id": {
791
+ "type": "number",
792
+ "description": "ID của API key"
793
+ }
794
+ },
795
+ "required": [
796
+ "id"
797
+ ],
798
+ "additionalProperties": false
799
+ }
800
+ },
801
+ "required": [
802
+ "path"
803
+ ],
804
+ "additionalProperties": false,
805
+ "description": "Hiển thị API key đầy đủ tool arguments"
806
+ },
807
+ "tags": [
808
+ "API Keys"
809
+ ]
810
+ },
811
+ {
812
+ "name": "redai_openapi_user_apikeycontroller_updateapikey_v1",
813
+ "description": "Cập nhật API key. Cập nhật thông tin của một API key (tên, quyền, thời gian hết hạn, giới hạn sử dụng)",
814
+ "method": "PUT",
815
+ "path": "/v1/api-keys/{id}",
816
+ "operationId": "apikeycontroller_updateapikey_v1",
817
+ "parameters": {
818
+ "type": "object",
819
+ "properties": {
820
+ "path": {
821
+ "type": "object",
822
+ "properties": {
823
+ "id": {
824
+ "type": "number",
825
+ "description": "ID của API key"
826
+ }
827
+ },
828
+ "required": [
829
+ "id"
830
+ ],
831
+ "additionalProperties": false
832
+ },
833
+ "body": {
834
+ "type": "object",
835
+ "properties": {
836
+ "name": {
837
+ "type": "string",
838
+ "description": "Tên mô tả cho API key"
839
+ },
840
+ "permissions": {
841
+ "type": "array",
842
+ "description": "Danh sách quyền của API key",
843
+ "items": {
844
+ "type": "string",
845
+ "enum": [
846
+ "module_workflow",
847
+ "module_agent",
848
+ "module_marketing",
849
+ "module_business",
850
+ "module_dashboard",
851
+ "module_calendar",
852
+ "module_training",
853
+ "module_integration",
854
+ "module_tool",
855
+ "module_marketplace",
856
+ "module_multichannel_chat",
857
+ "module_blog",
858
+ "module_affiliate",
859
+ "module_cloud_storage"
860
+ ]
861
+ }
862
+ },
863
+ "expiresAt": {
864
+ "type": "number",
865
+ "description": "Thời gian hết hạn (Unix timestamp). Null = không hết hạn"
866
+ },
867
+ "usageLimit": {
868
+ "type": "number",
869
+ "description": "Giới hạn số lần sử dụng. Null = không giới hạn"
870
+ }
871
+ }
872
+ }
873
+ },
874
+ "required": [
875
+ "path",
876
+ "body"
877
+ ],
878
+ "additionalProperties": false,
879
+ "description": "Cập nhật API key tool arguments"
880
+ },
881
+ "tags": [
882
+ "API Keys"
883
+ ]
884
+ },
885
+ {
886
+ "name": "redai_openapi_user_apikeycontroller_validateapikey_v1",
887
+ "description": "Xác thực API key. Xác thực tính hợp lệ của một API key. Endpoint này dành cho hệ thống nội bộ.",
888
+ "method": "POST",
889
+ "path": "/v1/api-keys/validate",
890
+ "operationId": "apikeycontroller_validateapikey_v1",
891
+ "parameters": {
892
+ "type": "object",
893
+ "properties": {
894
+ "body": {
895
+ "type": "object",
896
+ "properties": {
897
+ "apiKey": {
898
+ "type": "string",
899
+ "description": "API key cần xác thực"
900
+ }
901
+ },
902
+ "required": [
903
+ "apiKey"
904
+ ]
905
+ }
906
+ },
907
+ "required": [
908
+ "body"
909
+ ],
910
+ "additionalProperties": false,
911
+ "description": "Xác thực API key tool arguments"
912
+ },
913
+ "tags": [
914
+ "API Keys"
915
+ ]
916
+ },
917
+ {
918
+ "name": "redai_openapi_user_authverificationlogcontroller_getauthverificationlogbyid_v1",
919
+ "description": "Lấy chi tiết log xác thực theo ID. API này cho phép người dùng xem chi tiết một log xác thực cụ thể",
920
+ "method": "GET",
921
+ "path": "/v1/user/auth-verification-logs/detail/{id}",
922
+ "operationId": "authverificationlogcontroller_getauthverificationlogbyid_v1",
923
+ "parameters": {
924
+ "type": "object",
925
+ "properties": {
926
+ "path": {
927
+ "type": "object",
928
+ "properties": {
929
+ "id": {
930
+ "type": "number",
931
+ "description": "ID của log xác thực"
932
+ }
933
+ },
934
+ "required": [
935
+ "id"
936
+ ],
937
+ "additionalProperties": false
938
+ }
939
+ },
940
+ "required": [
941
+ "path"
942
+ ],
943
+ "additionalProperties": false,
944
+ "description": "Lấy chi tiết log xác thực theo ID tool arguments"
945
+ },
946
+ "tags": [
947
+ "User - Auth Verification Log"
948
+ ]
949
+ },
950
+ {
951
+ "name": "redai_openapi_user_authverificationlogcontroller_getauthverificationlogs_v1",
952
+ "description": "Lấy danh sách log xác thực của người dùng hiện tại. API này cho phép người dùng xem lịch sử xác thực của mình với các bộ lọc, tìm kiếm và phân trang. Hỗ trợ tìm kiếm theo ipAddress, userAgent, authMethod, status.",
953
+ "method": "GET",
954
+ "path": "/v1/user/auth-verification-logs",
955
+ "operationId": "authverificationlogcontroller_getauthverificationlogs_v1",
956
+ "parameters": {
957
+ "type": "object",
958
+ "properties": {
959
+ "query": {
960
+ "type": "object",
961
+ "properties": {
962
+ "page": {
963
+ "type": "number",
964
+ "default": 1,
965
+ "description": "Số trang hiện tại (bắt đầu từ 1)"
966
+ },
967
+ "limit": {
968
+ "type": "number",
969
+ "default": 10,
970
+ "description": "Số lượng bản ghi trên mỗi trang"
971
+ },
972
+ "search": {
973
+ "type": "string",
974
+ "description": "Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)"
975
+ },
976
+ "searchBy": {
977
+ "type": "string",
978
+ "description": "Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)"
979
+ },
980
+ "sortBy": {
981
+ "type": "string",
982
+ "description": "Trường cần sắp xếp"
983
+ },
984
+ "sortDirection": {
985
+ "type": "string",
986
+ "default": "DESC",
987
+ "enum": [
988
+ "ASC",
989
+ "DESC"
990
+ ],
991
+ "description": "Hướng sắp xếp"
992
+ },
993
+ "authMethod": {
994
+ "type": "string",
995
+ "enum": [
996
+ "EMAIL",
997
+ "SMS",
998
+ "GOOGLE",
999
+ "FACEBOOK",
1000
+ "ZALO"
1001
+ ],
1002
+ "description": "Phương thức xác thực"
1003
+ },
1004
+ "status": {
1005
+ "type": "string",
1006
+ "enum": [
1007
+ "PENDING",
1008
+ "SUCCESS",
1009
+ "FAILED",
1010
+ "EXPIRED"
1011
+ ],
1012
+ "description": "Trạng thái xác thực"
1013
+ },
1014
+ "ipAddress": {
1015
+ "type": "string",
1016
+ "description": "Địa chỉ IP"
1017
+ },
1018
+ "fromDate": {
1019
+ "type": "number",
1020
+ "description": "Từ ngày (timestamp)"
1021
+ },
1022
+ "toDate": {
1023
+ "type": "number",
1024
+ "description": "Đến ngày (timestamp)"
1025
+ }
1026
+ },
1027
+ "additionalProperties": false
1028
+ }
1029
+ },
1030
+ "additionalProperties": false,
1031
+ "description": "Lấy danh sách log xác thực của người dùng hiện tại tool arguments"
1032
+ },
1033
+ "tags": [
1034
+ "User - Auth Verification Log"
1035
+ ]
1036
+ },
1037
+ {
1038
+ "name": "redai_openapi_user_authverificationlogcontroller_getauthverificationstats_v1",
1039
+ "description": "Lấy thống kê log xác thực của người dùng hiện tại. API này cung cấp thống kê tổng quan về các lần xác thực của người dùng",
1040
+ "method": "GET",
1041
+ "path": "/v1/user/auth-verification-logs/stats",
1042
+ "operationId": "authverificationlogcontroller_getauthverificationstats_v1",
1043
+ "parameters": {
1044
+ "type": "object",
1045
+ "properties": {
1046
+ "query": {
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "fromDate": {
1050
+ "type": "number"
1051
+ },
1052
+ "toDate": {
1053
+ "type": "number"
1054
+ }
1055
+ },
1056
+ "required": [
1057
+ "fromDate",
1058
+ "toDate"
1059
+ ],
1060
+ "additionalProperties": false
1061
+ }
1062
+ },
1063
+ "required": [
1064
+ "query"
1065
+ ],
1066
+ "additionalProperties": false,
1067
+ "description": "Lấy thống kê log xác thực của người dùng hiện tại tool arguments"
1068
+ },
1069
+ "tags": [
1070
+ "User - Auth Verification Log"
1071
+ ]
1072
+ },
1073
+ {
1074
+ "name": "redai_openapi_user_deviceinfocontroller_deletedevice_v1",
1075
+ "description": "Xóa thiết bị. Xóa thiết bị khỏi danh sách thiết bị đáng tin cậy. Thiết bị sẽ cần xác thực lại khi đăng nhập.",
1076
+ "method": "DELETE",
1077
+ "path": "/v1/user/device-info/{deviceId}",
1078
+ "operationId": "deviceinfocontroller_deletedevice_v1",
1079
+ "parameters": {
1080
+ "type": "object",
1081
+ "properties": {
1082
+ "path": {
1083
+ "type": "object",
1084
+ "properties": {
1085
+ "deviceId": {
1086
+ "type": "string",
1087
+ "description": "ID của thiết bị"
1088
+ }
1089
+ },
1090
+ "required": [
1091
+ "deviceId"
1092
+ ],
1093
+ "additionalProperties": false
1094
+ }
1095
+ },
1096
+ "required": [
1097
+ "path"
1098
+ ],
1099
+ "additionalProperties": false,
1100
+ "description": "Xóa thiết bị tool arguments"
1101
+ },
1102
+ "tags": [
1103
+ "User - Device Info"
1104
+ ]
1105
+ },
1106
+ {
1107
+ "name": "redai_openapi_user_deviceinfocontroller_getdeviceinfobyid_v1",
1108
+ "description": "Lấy chi tiết thiết bị. Lấy thông tin chi tiết của một thiết bị cụ thể",
1109
+ "method": "GET",
1110
+ "path": "/v1/user/device-info/{deviceId}",
1111
+ "operationId": "deviceinfocontroller_getdeviceinfobyid_v1",
1112
+ "parameters": {
1113
+ "type": "object",
1114
+ "properties": {
1115
+ "path": {
1116
+ "type": "object",
1117
+ "properties": {
1118
+ "deviceId": {
1119
+ "type": "string",
1120
+ "description": "ID của thiết bị"
1121
+ }
1122
+ },
1123
+ "required": [
1124
+ "deviceId"
1125
+ ],
1126
+ "additionalProperties": false
1127
+ }
1128
+ },
1129
+ "required": [
1130
+ "path"
1131
+ ],
1132
+ "additionalProperties": false,
1133
+ "description": "Lấy chi tiết thiết bị tool arguments"
1134
+ },
1135
+ "tags": [
1136
+ "User - Device Info"
1137
+ ]
1138
+ },
1139
+ {
1140
+ "name": "redai_openapi_user_deviceinfocontroller_getdeviceinfos_v1",
1141
+ "description": "Lấy danh sách thiết bị. Lấy danh sách tất cả thiết bị đã đăng nhập của người dùng hiện tại với các bộ lọc và phân trang",
1142
+ "method": "GET",
1143
+ "path": "/v1/user/device-info",
1144
+ "operationId": "deviceinfocontroller_getdeviceinfos_v1",
1145
+ "parameters": {
1146
+ "type": "object",
1147
+ "properties": {
1148
+ "query": {
1149
+ "type": "object",
1150
+ "properties": {
1151
+ "page": {
1152
+ "type": "number",
1153
+ "default": 1,
1154
+ "description": "Số trang (bắt đầu từ 1)"
1155
+ },
1156
+ "limit": {
1157
+ "type": "number",
1158
+ "default": 10,
1159
+ "description": "Số lượng item trên mỗi trang"
1160
+ },
1161
+ "search": {
1162
+ "type": "string",
1163
+ "description": "Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)"
1164
+ },
1165
+ "searchBy": {
1166
+ "type": "string",
1167
+ "description": "Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)"
1168
+ },
1169
+ "sortBy": {
1170
+ "type": "string",
1171
+ "description": "Trường cần sắp xếp"
1172
+ },
1173
+ "sortDirection": {
1174
+ "type": "string",
1175
+ "default": "DESC",
1176
+ "enum": [
1177
+ "ASC",
1178
+ "DESC"
1179
+ ],
1180
+ "description": "Hướng sắp xếp"
1181
+ },
1182
+ "browser": {
1183
+ "type": "string",
1184
+ "description": "Lọc theo trình duyệt"
1185
+ },
1186
+ "operatingSystem": {
1187
+ "type": "string",
1188
+ "description": "Lọc theo hệ điều hành"
1189
+ },
1190
+ "isTrusted": {
1191
+ "type": "boolean",
1192
+ "description": "Lọc theo trạng thái tin cậy"
1193
+ },
1194
+ "ipAddress": {
1195
+ "type": "string",
1196
+ "description": "Lọc theo địa chỉ IP"
1197
+ },
1198
+ "fromDate": {
1199
+ "type": "number",
1200
+ "description": "Từ ngày (timestamp)"
1201
+ },
1202
+ "toDate": {
1203
+ "type": "number",
1204
+ "description": "Đến ngày (timestamp)"
1205
+ }
1206
+ },
1207
+ "additionalProperties": false
1208
+ }
1209
+ },
1210
+ "additionalProperties": false,
1211
+ "description": "Lấy danh sách thiết bị tool arguments"
1212
+ },
1213
+ "tags": [
1214
+ "User - Device Info"
1215
+ ]
1216
+ },
1217
+ {
1218
+ "name": "redai_openapi_user_deviceinfocontroller_getdevicestats_v1",
1219
+ "description": "Lấy thống kê thiết bị. Lấy thống kê tổng quan về các thiết bị của người dùng bao gồm số lượng, trình duyệt, hệ điều hành",
1220
+ "method": "GET",
1221
+ "path": "/v1/user/device-info/stats/overview",
1222
+ "operationId": "deviceinfocontroller_getdevicestats_v1",
1223
+ "parameters": {
1224
+ "type": "object",
1225
+ "properties": {},
1226
+ "additionalProperties": false,
1227
+ "description": "Lấy thống kê thiết bị tool arguments"
1228
+ },
1229
+ "tags": [
1230
+ "User - Device Info"
1231
+ ]
1232
+ },
1233
+ {
1234
+ "name": "redai_openapi_user_deviceinfocontroller_updatedevicetrust_v1",
1235
+ "description": "Cập nhật trạng thái tin cậy thiết bị. Đánh dấu thiết bị là đáng tin cậy hoặc không đáng tin cậy",
1236
+ "method": "PUT",
1237
+ "path": "/v1/user/device-info/{deviceId}/trust",
1238
+ "operationId": "deviceinfocontroller_updatedevicetrust_v1",
1239
+ "parameters": {
1240
+ "type": "object",
1241
+ "properties": {
1242
+ "path": {
1243
+ "type": "object",
1244
+ "properties": {
1245
+ "deviceId": {
1246
+ "type": "string",
1247
+ "description": "ID của thiết bị"
1248
+ }
1249
+ },
1250
+ "required": [
1251
+ "deviceId"
1252
+ ],
1253
+ "additionalProperties": false
1254
+ },
1255
+ "body": {
1256
+ "type": "object",
1257
+ "properties": {
1258
+ "isTrusted": {
1259
+ "type": "boolean",
1260
+ "description": "Thiết bị đáng tin cậy"
1261
+ }
1262
+ },
1263
+ "required": [
1264
+ "isTrusted"
1265
+ ]
1266
+ }
1267
+ },
1268
+ "required": [
1269
+ "path",
1270
+ "body"
1271
+ ],
1272
+ "additionalProperties": false,
1273
+ "description": "Cập nhật trạng thái tin cậy thiết bị tool arguments"
1274
+ },
1275
+ "tags": [
1276
+ "User - Device Info"
1277
+ ]
1278
+ },
1279
+ {
1280
+ "name": "redai_openapi_user_userbankcontroller_findall_v1",
1281
+ "description": "Lấy danh sách ngân hàng với phân trang và filter",
1282
+ "method": "GET",
1283
+ "path": "/v1/user/banks",
1284
+ "operationId": "userbankcontroller_findall_v1",
1285
+ "parameters": {
1286
+ "type": "object",
1287
+ "properties": {
1288
+ "query": {
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "page": {
1292
+ "type": "number",
1293
+ "default": 1,
1294
+ "description": "Số trang hiện tại (bắt đầu từ 1)"
1295
+ },
1296
+ "limit": {
1297
+ "type": "number",
1298
+ "default": 10,
1299
+ "description": "Số lượng bản ghi trên mỗi trang"
1300
+ },
1301
+ "search": {
1302
+ "type": "string",
1303
+ "description": "Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)"
1304
+ },
1305
+ "searchBy": {
1306
+ "type": "string",
1307
+ "description": "Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)"
1308
+ },
1309
+ "sortBy": {
1310
+ "type": "string",
1311
+ "default": "bankName",
1312
+ "enum": [
1313
+ "bankCode",
1314
+ "bankName"
1315
+ ],
1316
+ "description": "Sắp xếp theo trường"
1317
+ },
1318
+ "sortDirection": {
1319
+ "type": "string",
1320
+ "default": "DESC",
1321
+ "enum": [
1322
+ "ASC",
1323
+ "DESC"
1324
+ ],
1325
+ "description": "Hướng sắp xếp"
1326
+ },
1327
+ "bankName": {
1328
+ "type": "string",
1329
+ "description": "Tìm kiếm theo tên ngân hàng"
1330
+ },
1331
+ "bankCode": {
1332
+ "type": "string",
1333
+ "description": "Tìm kiếm theo mã ngân hàng"
1334
+ }
1335
+ },
1336
+ "additionalProperties": false
1337
+ }
1338
+ },
1339
+ "additionalProperties": false,
1340
+ "description": "Lấy danh sách ngân hàng với phân trang và filter tool arguments"
1341
+ },
1342
+ "tags": [
1343
+ "User Banks"
1344
+ ]
1345
+ },
1346
+ {
1347
+ "name": "redai_openapi_user_userbankcontroller_findallbanks_v1",
1348
+ "description": "Lấy tất cả ngân hàng (không phân trang). Lấy tất cả ngân hàng với khả năng tìm kiếm (tìm trong tên, mã, tên đầy đủ, BIN) và sắp xếp",
1349
+ "method": "GET",
1350
+ "path": "/v1/user/banks/all",
1351
+ "operationId": "userbankcontroller_findallbanks_v1",
1352
+ "parameters": {
1353
+ "type": "object",
1354
+ "properties": {
1355
+ "query": {
1356
+ "type": "object",
1357
+ "properties": {
1358
+ "search": {
1359
+ "type": "string",
1360
+ "description": "Tìm kiếm ngân hàng (tìm trong tên ngân hàng, mã ngân hàng, tên đầy đủ, BIN - hỗ trợ tìm kiếm gần đúng)"
1361
+ },
1362
+ "sortBy": {
1363
+ "type": "string",
1364
+ "default": "bankName",
1365
+ "enum": [
1366
+ "bankCode",
1367
+ "bankName"
1368
+ ],
1369
+ "description": "Sắp xếp theo trường"
1370
+ },
1371
+ "sortDirection": {
1372
+ "type": "string",
1373
+ "default": "ASC",
1374
+ "enum": [
1375
+ "ASC",
1376
+ "DESC"
1377
+ ],
1378
+ "description": "Hướng sắp xếp"
1379
+ }
1380
+ },
1381
+ "additionalProperties": false
1382
+ }
1383
+ },
1384
+ "additionalProperties": false,
1385
+ "description": "Lấy tất cả ngân hàng (không phân trang) tool arguments"
1386
+ },
1387
+ "tags": [
1388
+ "User Banks"
1389
+ ]
1390
+ },
1391
+ {
1392
+ "name": "redai_openapi_user_userbankcontroller_findbycode_v1",
1393
+ "description": "Lấy ngân hàng theo mã",
1394
+ "method": "GET",
1395
+ "path": "/v1/user/banks/{bankCode}",
1396
+ "operationId": "userbankcontroller_findbycode_v1",
1397
+ "parameters": {
1398
+ "type": "object",
1399
+ "properties": {
1400
+ "path": {
1401
+ "type": "object",
1402
+ "properties": {
1403
+ "bankCode": {
1404
+ "type": "string"
1405
+ }
1406
+ },
1407
+ "required": [
1408
+ "bankCode"
1409
+ ],
1410
+ "additionalProperties": false
1411
+ }
1412
+ },
1413
+ "required": [
1414
+ "path"
1415
+ ],
1416
+ "additionalProperties": false,
1417
+ "description": "Lấy ngân hàng theo mã tool arguments"
1418
+ },
1419
+ "tags": [
1420
+ "User Banks"
1421
+ ]
1422
+ },
1423
+ {
1424
+ "name": "redai_openapi_user_userresourcecontroller_deleteuserresource_v1",
1425
+ "description": "Xóa tài nguyên. Xóa tài nguyên khỏi hệ thống (bao gồm cả file trên S3)",
1426
+ "method": "DELETE",
1427
+ "path": "/v1/user/resources/{resourceId}",
1428
+ "operationId": "userresourcecontroller_deleteuserresource_v1",
1429
+ "parameters": {
1430
+ "type": "object",
1431
+ "properties": {
1432
+ "path": {
1433
+ "type": "object",
1434
+ "properties": {
1435
+ "resourceId": {
1436
+ "type": "string",
1437
+ "description": "ID của tài nguyên"
1438
+ }
1439
+ },
1440
+ "required": [
1441
+ "resourceId"
1442
+ ],
1443
+ "additionalProperties": false
1444
+ }
1445
+ },
1446
+ "required": [
1447
+ "path"
1448
+ ],
1449
+ "additionalProperties": false,
1450
+ "description": "Xóa tài nguyên tool arguments"
1451
+ },
1452
+ "tags": [
1453
+ "User Resources"
1454
+ ]
1455
+ },
1456
+ {
1457
+ "name": "redai_openapi_user_userresourcecontroller_getuserresource_v1",
1458
+ "description": "Lấy thông tin chi tiết tài nguyên. Lấy thông tin chi tiết của một tài nguyên cụ thể",
1459
+ "method": "GET",
1460
+ "path": "/v1/user/resources/{resourceId}",
1461
+ "operationId": "userresourcecontroller_getuserresource_v1",
1462
+ "parameters": {
1463
+ "type": "object",
1464
+ "properties": {
1465
+ "path": {
1466
+ "type": "object",
1467
+ "properties": {
1468
+ "resourceId": {
1469
+ "type": "string",
1470
+ "description": "ID của tài nguyên"
1471
+ }
1472
+ },
1473
+ "required": [
1474
+ "resourceId"
1475
+ ],
1476
+ "additionalProperties": false
1477
+ }
1478
+ },
1479
+ "required": [
1480
+ "path"
1481
+ ],
1482
+ "additionalProperties": false,
1483
+ "description": "Lấy thông tin chi tiết tài nguyên tool arguments"
1484
+ },
1485
+ "tags": [
1486
+ "User Resources"
1487
+ ]
1488
+ },
1489
+ {
1490
+ "name": "redai_openapi_user_userresourcecontroller_getuserresources_v1",
1491
+ "description": "Lấy danh sách tài nguyên người dùng. Lấy danh sách tất cả tài nguyên của người dùng với phân trang và filter",
1492
+ "method": "GET",
1493
+ "path": "/v1/user/resources",
1494
+ "operationId": "userresourcecontroller_getuserresources_v1",
1495
+ "parameters": {
1496
+ "type": "object",
1497
+ "properties": {
1498
+ "query": {
1499
+ "type": "object",
1500
+ "properties": {
1501
+ "resourceType": {
1502
+ "type": "string",
1503
+ "enum": [
1504
+ "ZALO_CONVERSATION",
1505
+ "DOCUMENT",
1506
+ "IMAGE",
1507
+ "VIDEO",
1508
+ "AUDIO",
1509
+ "OTHER"
1510
+ ],
1511
+ "description": "Lọc theo loại tài nguyên"
1512
+ },
1513
+ "status": {
1514
+ "type": "string",
1515
+ "enum": [
1516
+ "PENDING",
1517
+ "PROCESSING",
1518
+ "COMPLETED",
1519
+ "FAILED"
1520
+ ],
1521
+ "description": "Lọc theo trạng thái"
1522
+ },
1523
+ "page": {
1524
+ "type": "number",
1525
+ "default": 1,
1526
+ "description": "Số trang (bắt đầu từ 1)"
1527
+ },
1528
+ "limit": {
1529
+ "type": "number",
1530
+ "default": 20,
1531
+ "description": "Số lượng item trên mỗi trang"
1532
+ }
1533
+ },
1534
+ "additionalProperties": false
1535
+ }
1536
+ },
1537
+ "additionalProperties": false,
1538
+ "description": "Lấy danh sách tài nguyên người dùng tool arguments"
1539
+ },
1540
+ "tags": [
1541
+ "User Resources"
1542
+ ]
1543
+ },
1544
+ {
1545
+ "name": "redai_openapi_user_userresourcecontroller_refreshaccessurl_v1",
1546
+ "description": "Làm mới URL truy cập tài nguyên. Tạo presigned URL mới để truy cập tài nguyên",
1547
+ "method": "POST",
1548
+ "path": "/v1/user/resources/{resourceId}/refresh-url",
1549
+ "operationId": "userresourcecontroller_refreshaccessurl_v1",
1550
+ "parameters": {
1551
+ "type": "object",
1552
+ "properties": {
1553
+ "path": {
1554
+ "type": "object",
1555
+ "properties": {
1556
+ "resourceId": {
1557
+ "type": "string",
1558
+ "description": "ID của tài nguyên"
1559
+ }
1560
+ },
1561
+ "required": [
1562
+ "resourceId"
1563
+ ],
1564
+ "additionalProperties": false
1565
+ }
1566
+ },
1567
+ "required": [
1568
+ "path"
1569
+ ],
1570
+ "additionalProperties": false,
1571
+ "description": "Làm mới URL truy cập tài nguyên tool arguments"
1572
+ },
1573
+ "tags": [
1574
+ "User Resources"
1575
+ ]
1576
+ },
1577
+ {
1578
+ "name": "redai_openapi_user_usersettingscontroller_deleteusersettings_v1",
1579
+ "description": "Xóa user settings của người dùng hiện tại (reset về mặc định)",
1580
+ "method": "DELETE",
1581
+ "path": "/v1/users/settings",
1582
+ "operationId": "usersettingscontroller_deleteusersettings_v1",
1583
+ "parameters": {
1584
+ "type": "object",
1585
+ "properties": {},
1586
+ "additionalProperties": false,
1587
+ "description": "Xóa user settings của người dùng hiện tại (reset về mặc định) tool arguments"
1588
+ },
1589
+ "tags": [
1590
+ "Users"
1591
+ ]
1592
+ },
1593
+ {
1594
+ "name": "redai_openapi_user_usersettingscontroller_getusersettings_v1",
1595
+ "description": "Lấy user settings của người dùng hiện tại",
1596
+ "method": "GET",
1597
+ "path": "/v1/users/settings",
1598
+ "operationId": "usersettingscontroller_getusersettings_v1",
1599
+ "parameters": {
1600
+ "type": "object",
1601
+ "properties": {},
1602
+ "additionalProperties": false,
1603
+ "description": "Lấy user settings của người dùng hiện tại tool arguments"
1604
+ },
1605
+ "tags": [
1606
+ "Users"
1607
+ ]
1608
+ },
1609
+ {
1610
+ "name": "redai_openapi_user_usersettingscontroller_getusersettingsoptions_v1",
1611
+ "description": "Lấy danh sách options cho user settings",
1612
+ "method": "GET",
1613
+ "path": "/v1/users/settings/options",
1614
+ "operationId": "usersettingscontroller_getusersettingsoptions_v1",
1615
+ "parameters": {
1616
+ "type": "object",
1617
+ "properties": {},
1618
+ "additionalProperties": false,
1619
+ "description": "Lấy danh sách options cho user settings tool arguments"
1620
+ },
1621
+ "tags": [
1622
+ "Users"
1623
+ ]
1624
+ },
1625
+ {
1626
+ "name": "redai_openapi_user_usersettingscontroller_updatecurrencysettings_v1",
1627
+ "description": "Cập nhật currency settings của người dùng hiện tại. Cập nhật đơn vị tiền tệ của người dùng. Hỗ trợ các loại tiền tệ phổ biến như USD, VND, EUR, etc.",
1628
+ "method": "PUT",
1629
+ "path": "/v1/users/settings/currency",
1630
+ "operationId": "usersettingscontroller_updatecurrencysettings_v1",
1631
+ "parameters": {
1632
+ "type": "object",
1633
+ "properties": {
1634
+ "body": {
1635
+ "type": "object",
1636
+ "properties": {
1637
+ "currency": {
1638
+ "type": "string",
1639
+ "description": "Đơn vị tiền tệ được chọn bởi người dùng (ví dụ: USD, VND, EUR)"
1640
+ }
1641
+ },
1642
+ "required": [
1643
+ "currency"
1644
+ ]
1645
+ }
1646
+ },
1647
+ "required": [
1648
+ "body"
1649
+ ],
1650
+ "additionalProperties": false,
1651
+ "description": "Cập nhật currency settings của người dùng hiện tại tool arguments"
1652
+ },
1653
+ "tags": [
1654
+ "Users"
1655
+ ]
1656
+ },
1657
+ {
1658
+ "name": "redai_openapi_user_usersettingscontroller_updatefallbacksystemkeysettings_v1",
1659
+ "description": "Cập nhật fallback system key settings của người dùng hiện tại. Cập nhật cài đặt fallback system key của người dùng.",
1660
+ "method": "PUT",
1661
+ "path": "/v1/users/settings/fallback-system-key",
1662
+ "operationId": "usersettingscontroller_updatefallbacksystemkeysettings_v1",
1663
+ "parameters": {
1664
+ "type": "object",
1665
+ "properties": {
1666
+ "body": {
1667
+ "type": "object",
1668
+ "properties": {
1669
+ "fallbackSystemKey": {
1670
+ "type": "boolean",
1671
+ "description": "Cài đặt fallback system key cho người dùng"
1672
+ }
1673
+ },
1674
+ "required": [
1675
+ "fallbackSystemKey"
1676
+ ]
1677
+ }
1678
+ },
1679
+ "required": [
1680
+ "body"
1681
+ ],
1682
+ "additionalProperties": false,
1683
+ "description": "Cập nhật fallback system key settings của người dùng hiện tại tool arguments"
1684
+ },
1685
+ "tags": [
1686
+ "Users"
1687
+ ]
1688
+ },
1689
+ {
1690
+ "name": "redai_openapi_user_usersettingscontroller_updatethemesettings_v1",
1691
+ "description": "Cập nhật theme settings của người dùng hiện tại. Cập nhật cài đặt giao diện (theme) của người dùng. Hỗ trợ 2 chế độ: light, dark.",
1692
+ "method": "PUT",
1693
+ "path": "/v1/users/settings/theme",
1694
+ "operationId": "usersettingscontroller_updatethemesettings_v1",
1695
+ "parameters": {
1696
+ "type": "object",
1697
+ "properties": {
1698
+ "body": {
1699
+ "type": "object",
1700
+ "properties": {
1701
+ "theme": {
1702
+ "type": "object",
1703
+ "description": "Cài đặt giao diện người dùng dạng JSON. 2 options: light, dark"
1704
+ }
1705
+ },
1706
+ "required": [
1707
+ "theme"
1708
+ ]
1709
+ }
1710
+ },
1711
+ "required": [
1712
+ "body"
1713
+ ],
1714
+ "additionalProperties": false,
1715
+ "description": "Cập nhật theme settings của người dùng hiện tại tool arguments"
1716
+ },
1717
+ "tags": [
1718
+ "Users"
1719
+ ]
1720
+ },
1721
+ {
1722
+ "name": "redai_openapi_user_usersettingscontroller_updatetimezonesettings_v1",
1723
+ "description": "Cập nhật timezone settings của người dùng hiện tại. Cập nhật múi giờ của người dùng. Hỗ trợ tất cả múi giờ theo chuẩn IANA timezone.",
1724
+ "method": "PUT",
1725
+ "path": "/v1/users/settings/timezone",
1726
+ "operationId": "usersettingscontroller_updatetimezonesettings_v1",
1727
+ "parameters": {
1728
+ "type": "object",
1729
+ "properties": {
1730
+ "body": {
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "timezone": {
1734
+ "type": "string",
1735
+ "description": "Múi giờ được chọn bởi người dùng (ví dụ: UTC, Asia/Ho_Chi_Minh)"
1736
+ }
1737
+ },
1738
+ "required": [
1739
+ "timezone"
1740
+ ]
1741
+ }
1742
+ },
1743
+ "required": [
1744
+ "body"
1745
+ ],
1746
+ "additionalProperties": false,
1747
+ "description": "Cập nhật timezone settings của người dùng hiện tại tool arguments"
1748
+ },
1749
+ "tags": [
1750
+ "Users"
1751
+ ]
1752
+ },
1753
+ {
1754
+ "name": "redai_openapi_user_usersettingscontroller_updateusersettings_v1",
1755
+ "description": "Cập nhật user settings của người dùng hiện tại (Legacy - deprecated). API này đã deprecated. Khuyến khích sử dụng các API riêng biệt: PUT /theme, PUT /timezone, PUT /currency",
1756
+ "method": "PUT",
1757
+ "path": "/v1/users/settings",
1758
+ "operationId": "usersettingscontroller_updateusersettings_v1",
1759
+ "parameters": {
1760
+ "type": "object",
1761
+ "properties": {
1762
+ "body": {
1763
+ "type": "object",
1764
+ "properties": {
1765
+ "theme": {
1766
+ "type": "object",
1767
+ "description": "Cài đặt giao diện người dùng dạng JSON. 3 options: light, dark, custom với mã màu"
1768
+ },
1769
+ "timezone": {
1770
+ "type": "string",
1771
+ "description": "Múi giờ được chọn bởi người dùng (ví dụ: UTC, Asia/Ho_Chi_Minh)"
1772
+ },
1773
+ "currency": {
1774
+ "type": "string",
1775
+ "description": "Đơn vị tiền tệ được chọn bởi người dùng (ví dụ: USD, VND, EUR)"
1776
+ }
1777
+ }
1778
+ }
1779
+ },
1780
+ "required": [
1781
+ "body"
1782
+ ],
1783
+ "additionalProperties": false,
1784
+ "description": "Cập nhật user settings của người dùng hiện tại (Legacy - deprecated) tool arguments"
1785
+ },
1786
+ "tags": [
1787
+ "Users"
1788
+ ]
1789
+ },
1790
+ {
1791
+ "name": "redai_openapi_user_usersettingscontroller_updateuseuserapikeysettings_v1",
1792
+ "description": "Cập nhật use user api key settings của người dùng hiện tại. Cập nhật cài đặt sử dụng API key của người dùng.",
1793
+ "method": "PUT",
1794
+ "path": "/v1/users/settings/use-user-api-key",
1795
+ "operationId": "usersettingscontroller_updateuseuserapikeysettings_v1",
1796
+ "parameters": {
1797
+ "type": "object",
1798
+ "properties": {
1799
+ "body": {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "useUserApiKey": {
1803
+ "type": "boolean",
1804
+ "description": "Cài đặt sử dụng API key của người dùng"
1805
+ }
1806
+ },
1807
+ "required": [
1808
+ "useUserApiKey"
1809
+ ]
1810
+ }
1811
+ },
1812
+ "required": [
1813
+ "body"
1814
+ ],
1815
+ "additionalProperties": false,
1816
+ "description": "Cập nhật use user api key settings của người dùng hiện tại tool arguments"
1817
+ },
1818
+ "tags": [
1819
+ "Users"
1820
+ ]
1821
+ },
1822
+ {
1823
+ "name": "redai_openapi_user_usertopupcontroller_gettopupoverview_v1",
1824
+ "description": "Tổng hợp số tiền người dùng đã nạp (subscription & point)",
1825
+ "method": "GET",
1826
+ "path": "/v1/users/topup/overview",
1827
+ "operationId": "usertopupcontroller_gettopupoverview_v1",
1828
+ "parameters": {
1829
+ "type": "object",
1830
+ "properties": {},
1831
+ "additionalProperties": false,
1832
+ "description": "Tổng hợp số tiền người dùng đã nạp (subscription & point) tool arguments"
1833
+ },
1834
+ "tags": [
1835
+ "Users"
1836
+ ]
1837
+ }
1838
+ ]
1839
+ }