@diffsome/sdk 3.2.5 → 3.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -13,7 +13,7 @@ interface paths {
13
13
  get?: never;
14
14
  put?: never;
15
15
  /**
16
- * 회원 로그인
16
+ * Member login
17
17
  * POST /api/{tenant_id}/auth/login
18
18
  */
19
19
  post: operations["auth.login"];
@@ -33,7 +33,7 @@ interface paths {
33
33
  get?: never;
34
34
  put?: never;
35
35
  /**
36
- * 회원 가입
36
+ * Member registration
37
37
  * POST /api/{tenant_id}/auth/register
38
38
  */
39
39
  post: operations["auth.register"];
@@ -53,7 +53,8 @@ interface paths {
53
53
  get?: never;
54
54
  put?: never;
55
55
  /**
56
- * 비밀번호 찾기 (재설정 링크 발송)
56
+ * Forgot password
57
+ * @description Sends a password reset link to the user's email.
57
58
  * POST /api/{tenant_id}/auth/forgot-password
58
59
  */
59
60
  post: operations["auth.forgotPassword"];
@@ -73,7 +74,8 @@ interface paths {
73
74
  get?: never;
74
75
  put?: never;
75
76
  /**
76
- * 비밀번호 재설정
77
+ * Reset password
78
+ * @description Resets the user's password using the reset token.
77
79
  * POST /api/{tenant_id}/auth/reset-password
78
80
  */
79
81
  post: operations["auth.resetPassword"];
@@ -93,7 +95,8 @@ interface paths {
93
95
  get?: never;
94
96
  put?: never;
95
97
  /**
96
- * 이메일로 회원 찾기 (아이디 찾기)
98
+ * Find email (ID recovery)
99
+ * @description Finds a member's masked email by name and phone.
97
100
  * POST /api/{tenant_id}/auth/find-email
98
101
  */
99
102
  post: operations["auth.findEmail"];
@@ -113,8 +116,8 @@ interface paths {
113
116
  get?: never;
114
117
  put?: never;
115
118
  /**
116
- * 로그아웃
117
- * @description 현재 로그인된 사용자의 토큰을 무효화합니다.
119
+ * Logout
120
+ * @description Invalidates the current user's access token.
118
121
  */
119
122
  post: operations["auth.logout"];
120
123
  delete?: never;
@@ -131,8 +134,8 @@ interface paths {
131
134
  cookie?: never;
132
135
  };
133
136
  /**
134
- * 현재 사용자 정보 조회
135
- * @description 로그인된 사용자의 정보를 반환합니다.
137
+ * Get current user
138
+ * @description Returns the authenticated user's profile information.
136
139
  */
137
140
  get: operations["auth.me"];
138
141
  put?: never;
@@ -150,7 +153,7 @@ interface paths {
150
153
  path?: never;
151
154
  cookie?: never;
152
155
  };
153
- /** 블로그 목록 */
156
+ /** List blog posts */
154
157
  get: operations["blogPost.index"];
155
158
  put?: never;
156
159
  post?: never;
@@ -167,7 +170,7 @@ interface paths {
167
170
  path?: never;
168
171
  cookie?: never;
169
172
  };
170
- /** 카테고리 목록 */
173
+ /** List categories */
171
174
  get: operations["blogPost.categories"];
172
175
  put?: never;
173
176
  post?: never;
@@ -184,7 +187,7 @@ interface paths {
184
187
  path?: never;
185
188
  cookie?: never;
186
189
  };
187
- /** 태그 목록 */
190
+ /** List tags */
188
191
  get: operations["blogPost.tags"];
189
192
  put?: never;
190
193
  post?: never;
@@ -201,7 +204,7 @@ interface paths {
201
204
  path?: never;
202
205
  cookie?: never;
203
206
  };
204
- /** 블로그 상세 */
207
+ /** Get blog post detail */
205
208
  get: operations["blogPost.show"];
206
209
  put?: never;
207
210
  post?: never;
@@ -218,7 +221,7 @@ interface paths {
218
221
  path?: never;
219
222
  cookie?: never;
220
223
  };
221
- /** 게시판 목록 조회 */
224
+ /** Get Board List */
222
225
  get: operations["board.index"];
223
226
  put?: never;
224
227
  post?: never;
@@ -235,7 +238,7 @@ interface paths {
235
238
  path?: never;
236
239
  cookie?: never;
237
240
  };
238
- /** 게시판 상세 조회 */
241
+ /** Get Board Details */
239
242
  get: operations["board.show"];
240
243
  put?: never;
241
244
  post?: never;
@@ -252,7 +255,7 @@ interface paths {
252
255
  path?: never;
253
256
  cookie?: never;
254
257
  };
255
- /** 게시판의 게시글 목록 */
258
+ /** Board Posts List */
256
259
  get: operations["boardPost.index"];
257
260
  put?: never;
258
261
  post?: never;
@@ -269,12 +272,12 @@ interface paths {
269
272
  path?: never;
270
273
  cookie?: never;
271
274
  };
272
- /** 게시글 상세 조회 */
275
+ /** Get Post Details */
273
276
  get: operations["boardPost.show"];
274
- /** 게시글 수정 (인증 필요) */
277
+ /** Update Post (Auth required) */
275
278
  put: operations["boardPost.update"];
276
279
  post?: never;
277
- /** 게시글 삭제 (인증 필요) */
280
+ /** Delete Post (Auth required) */
278
281
  delete: operations["boardPost.destroy"];
279
282
  options?: never;
280
283
  head?: never;
@@ -290,7 +293,7 @@ interface paths {
290
293
  };
291
294
  get?: never;
292
295
  put?: never;
293
- /** 게시글 작성 (인증 필요) */
296
+ /** Create Post (Auth required) */
294
297
  post: operations["boardPost.store"];
295
298
  delete?: never;
296
299
  options?: never;
@@ -306,14 +309,14 @@ interface paths {
306
309
  cookie?: never;
307
310
  };
308
311
  /**
309
- * 장바구니 조회
312
+ * Get cart
310
313
  * GET /api/{tenant}/cart
311
314
  */
312
315
  get: operations["cart.index"];
313
316
  put?: never;
314
317
  post?: never;
315
318
  /**
316
- * 장바구니 비우기
319
+ * Clear cart
317
320
  * DELETE /api/{tenant}/cart
318
321
  */
319
322
  delete: operations["cart.clear"];
@@ -332,7 +335,7 @@ interface paths {
332
335
  get?: never;
333
336
  put?: never;
334
337
  /**
335
- * 장바구니에 상품 추가
338
+ * Add item to cart
336
339
  * POST /api/{tenant}/cart/items
337
340
  */
338
341
  post: operations["cart.addItem"];
@@ -351,13 +354,13 @@ interface paths {
351
354
  };
352
355
  get?: never;
353
356
  /**
354
- * 장바구니 아이템 수량 변경
357
+ * Update cart item quantity
355
358
  * PUT /api/{tenant}/cart/items/{item}
356
359
  */
357
360
  put: operations["cart.updateItem"];
358
361
  post?: never;
359
362
  /**
360
- * 장바구니 아이템 삭제
363
+ * Remove item from cart
361
364
  * DELETE /api/{tenant}/cart/items/{item}
362
365
  */
363
366
  delete: operations["cart.removeItem"];
@@ -376,7 +379,7 @@ interface paths {
376
379
  get?: never;
377
380
  put?: never;
378
381
  /**
379
- * 장바구니 유효성 검사
382
+ * Validate cart
380
383
  * POST /api/{tenant}/cart/validate
381
384
  */
382
385
  post: operations["cart.validate"];
@@ -396,7 +399,7 @@ interface paths {
396
399
  get?: never;
397
400
  put?: never;
398
401
  /**
399
- * 비회원 장바구니 병합 (로그인 )
402
+ * Merge guest cart (after login)
400
403
  * POST /api/{tenant}/cart/merge
401
404
  */
402
405
  post: operations["cart.merge"];
@@ -413,10 +416,10 @@ interface paths {
413
416
  path?: never;
414
417
  cookie?: never;
415
418
  };
416
- /** 게시판 댓글 목록 */
419
+ /** Board Post Comments List */
417
420
  get: operations["comment.boardPostComments"];
418
421
  put?: never;
419
- /** 댓글 작성 - 게시판 */
422
+ /** Create Comment - Board Post */
420
423
  post: operations["comment.storeForBoardPost"];
421
424
  delete?: never;
422
425
  options?: never;
@@ -431,10 +434,10 @@ interface paths {
431
434
  path?: never;
432
435
  cookie?: never;
433
436
  };
434
- /** 블로그 댓글 목록 */
437
+ /** Blog Post Comments List */
435
438
  get: operations["comment.blogPostComments"];
436
439
  put?: never;
437
- /** 댓글 작성 - 블로그 */
440
+ /** Create Comment - Blog Post */
438
441
  post: operations["comment.storeForBlogPost"];
439
442
  delete?: never;
440
443
  options?: never;
@@ -449,10 +452,10 @@ interface paths {
449
452
  path?: never;
450
453
  cookie?: never;
451
454
  };
452
- /** 단독 댓글 목록 (방명록 ) */
455
+ /** Standalone Comments List (Guestbook, etc.) */
453
456
  get: operations["comment.standaloneComments"];
454
457
  put?: never;
455
- /** 댓글 작성 - 단독 (방명록 ) */
458
+ /** Create Comment - Standalone (Guestbook, etc.) */
456
459
  post: operations["comment.storeStandalone"];
457
460
  delete?: never;
458
461
  options?: never;
@@ -468,10 +471,10 @@ interface paths {
468
471
  cookie?: never;
469
472
  };
470
473
  get?: never;
471
- /** 댓글 수정 */
474
+ /** Update Comment */
472
475
  put: operations["comment.update"];
473
476
  post?: never;
474
- /** 댓글 삭제 */
477
+ /** Delete Comment */
475
478
  delete: operations["comment.destroy"];
476
479
  options?: never;
477
480
  head?: never;
@@ -487,7 +490,7 @@ interface paths {
487
490
  };
488
491
  get?: never;
489
492
  put?: never;
490
- /** 댓글 좋아요 */
493
+ /** Like Comment */
491
494
  post: operations["comment.like"];
492
495
  delete?: never;
493
496
  options?: never;
@@ -503,7 +506,7 @@ interface paths {
503
506
  cookie?: never;
504
507
  };
505
508
  /**
506
- * 사용 가능한 쿠폰 목록
509
+ * Available Coupons List
507
510
  * GET /api/{tenant}/coupons
508
511
  */
509
512
  get: operations["coupon.index"];
@@ -525,7 +528,7 @@ interface paths {
525
528
  get?: never;
526
529
  put?: never;
527
530
  /**
528
- * 쿠폰 유효성 검사
531
+ * Validate Coupon
529
532
  * POST /api/{tenant}/coupons/validate
530
533
  */
531
534
  post: operations["coupon.validate"];
@@ -545,7 +548,7 @@ interface paths {
545
548
  get?: never;
546
549
  put?: never;
547
550
  /**
548
- * 쿠폰 적용 (장바구니에)
551
+ * Apply Coupon (to cart)
549
552
  * POST /api/{tenant}/coupons/apply
550
553
  */
551
554
  post: operations["coupon.apply"];
@@ -563,14 +566,14 @@ interface paths {
563
566
  cookie?: never;
564
567
  };
565
568
  /**
566
- * 엔티티 목록 조회
567
- * @description 테넌트에 정의된 모든 커스텀 엔티티 목록을 조회합니다.
569
+ * Get Entity List
570
+ * @description Retrieves all custom entities defined for the tenant.
568
571
  */
569
572
  get: operations["getEntities"];
570
573
  put?: never;
571
574
  /**
572
- * 엔티티 정의 생성
573
- * @description 새로운 커스텀 엔티티를 생성합니다. 스키마에 필드 정의를 포함해야 합니다.
575
+ * Create Entity Definition
576
+ * @description Creates a new custom entity. Schema must include field definitions.
574
577
  */
575
578
  post: operations["createEntity"];
576
579
  delete?: never;
@@ -587,19 +590,19 @@ interface paths {
587
590
  cookie?: never;
588
591
  };
589
592
  /**
590
- * 엔티티 상세 조회
591
- * @description 엔티티 정의와 스키마 정보를 조회합니다.
593
+ * Get Entity Details
594
+ * @description Retrieves entity definition and schema info.
592
595
  */
593
596
  get: operations["getEntity"];
594
597
  /**
595
- * 엔티티 정의 수정
596
- * @description 엔티티 정의를 수정합니다. 스키마 변경시 기존 레코드와의 호환성에 주의하세요.
598
+ * Update Entity Definition
599
+ * @description Updates entity definition. Be careful of compatibility with existing records when changing schema.
597
600
  */
598
601
  put: operations["updateEntity"];
599
602
  post?: never;
600
603
  /**
601
- * 엔티티 정의 삭제
602
- * @description 엔티티를 삭제합니다. 레코드가 있는 경우 ?force=true 파라미터가 필요합니다.
604
+ * Delete Entity Definition
605
+ * @description Deletes the entity. If records exist, ?force=true parameter is required.
603
606
  */
604
607
  delete: operations["deleteEntity"];
605
608
  options?: never;
@@ -615,14 +618,14 @@ interface paths {
615
618
  cookie?: never;
616
619
  };
617
620
  /**
618
- * 레코드 목록 조회
619
- * @description 엔티티의 레코드 목록을 페이지네이션하여 조회합니다.
621
+ * Get Records List
622
+ * @description Retrieves paginated list of entity records.
620
623
  */
621
624
  get: operations["getEntityRecords"];
622
625
  put?: never;
623
626
  /**
624
- * 레코드 생성
625
- * @description 새로운 레코드를 생성합니다. 요청 본문은 엔티티 스키마에 정의된 필드들입니다.
627
+ * Create Record
628
+ * @description Creates a new record. Request body contains fields defined in entity schema.
626
629
  */
627
630
  post: operations["createEntityRecord"];
628
631
  delete?: never;
@@ -639,19 +642,19 @@ interface paths {
639
642
  cookie?: never;
640
643
  };
641
644
  /**
642
- * 레코드 상세 조회
643
- * @description 특정 레코드의 상세 정보를 조회합니다.
645
+ * Get Record Details
646
+ * @description Retrieves details of a specific record.
644
647
  */
645
648
  get: operations["getEntityRecord"];
646
649
  /**
647
- * 레코드 수정
648
- * @description 레코드를 수정합니다. 요청 본문의 필드만 업데이트되고, 기존 데이터와 병합됩니다.
650
+ * Update Record
651
+ * @description Updates a record. Only fields in request body are updated and merged with existing data.
649
652
  */
650
653
  put: operations["updateEntityRecord"];
651
654
  post?: never;
652
655
  /**
653
- * 레코드 삭제
654
- * @description 레코드를 삭제합니다.
656
+ * Delete Record
657
+ * @description Deletes the record.
655
658
  */
656
659
  delete: operations["deleteEntityRecord"];
657
660
  options?: never;
@@ -667,7 +670,7 @@ interface paths {
667
670
  cookie?: never;
668
671
  };
669
672
  /**
670
- * 다운로드 목록
673
+ * My Downloads List
671
674
  * GET /api/{tenant}/my/downloads
672
675
  */
673
676
  get: operations["digitalDownload.myDownloads"];
@@ -687,7 +690,7 @@ interface paths {
687
690
  cookie?: never;
688
691
  };
689
692
  /**
690
- * 주문별 다운로드 목록
693
+ * Downloads by Order
691
694
  * GET /api/{tenant}/orders/{orderNumber}/downloads
692
695
  */
693
696
  get: operations["digitalDownload.orderDownloads"];
@@ -707,7 +710,7 @@ interface paths {
707
710
  cookie?: never;
708
711
  };
709
712
  /**
710
- * 파일 다운로드
713
+ * File Download
711
714
  * GET /api/{tenant}/downloads/{token}
712
715
  */
713
716
  get: operations["digitalDownload.download"];
@@ -727,7 +730,7 @@ interface paths {
727
730
  cookie?: never;
728
731
  };
729
732
  /**
730
- * 다운로드 링크 정보 조회
733
+ * Get Download Link Info
731
734
  * GET /api/{tenant}/downloads/{token}/info
732
735
  */
733
736
  get: operations["digitalDownload.info"];
@@ -747,8 +750,8 @@ interface paths {
747
750
  cookie?: never;
748
751
  };
749
752
  /**
750
- * 목록 조회
751
- * @description 테넌트의 활성화된 목록을 반환합니다.
753
+ * Get Forms List
754
+ * @description Returns the list of active forms for the tenant.
752
755
  */
753
756
  get: operations["form.index"];
754
757
  put?: never;
@@ -767,9 +770,9 @@ interface paths {
767
770
  cookie?: never;
768
771
  };
769
772
  /**
770
- * 상세 조회
771
- * @description 폼의 필드 정의를 포함한 상세 정보를 반환합니다.
772
- * 프론트엔드에서 정보로 동적 폼을 렌더링합니다.
773
+ * Get Form Details
774
+ * @description Returns detailed information including form field definitions.
775
+ * The frontend renders dynamic forms using this information.
773
776
  */
774
777
  get: operations["form.show"];
775
778
  put?: never;
@@ -788,9 +791,9 @@ interface paths {
788
791
  cookie?: never;
789
792
  };
790
793
  /**
791
- * 제출 목록 조회 (공개)
792
- * @description 특정 폼의 제출 목록을 반환합니다.
793
- * 민감한 정보(IP, User-Agent) 제외됩니다.
794
+ * Get Form Submissions List (Public)
795
+ * @description Returns the list of submissions for a specific form.
796
+ * Sensitive information (IP, User-Agent) is excluded.
794
797
  */
795
798
  get: operations["form.submissions"];
796
799
  put?: never;
@@ -809,8 +812,8 @@ interface paths {
809
812
  cookie?: never;
810
813
  };
811
814
  /**
812
- * IP 중복 참가 확인
813
- * @description 현재 IP 이미 폼에 제출했는지 확인합니다.
815
+ * Check IP Duplicate Submission
816
+ * @description Checks if the current IP has already submitted to the form.
814
817
  */
815
818
  get: operations["form.checkIp"];
816
819
  put?: never;
@@ -831,8 +834,8 @@ interface paths {
831
834
  get?: never;
832
835
  put?: never;
833
836
  /**
834
- * 제출
835
- * @description 데이터를 제출합니다. 필드 정의에 따라 동적으로 유효성 검사를 수행합니다.
837
+ * Submit Form
838
+ * @description Submits form data. Performs dynamic validation based on field definitions.
836
839
  */
837
840
  post: operations["form.submit"];
838
841
  delete?: never;
@@ -849,8 +852,8 @@ interface paths {
849
852
  cookie?: never;
850
853
  };
851
854
  /**
852
- * 문의 내역 조회
853
- * @description 로그인한 회원의 제출 내역을 반환합니다.
855
+ * Get My Inquiries
856
+ * @description Returns form submission history for the logged-in member.
854
857
  */
855
858
  get: operations["form.mySubmissions"];
856
859
  put?: never;
@@ -869,8 +872,8 @@ interface paths {
869
872
  cookie?: never;
870
873
  };
871
874
  /**
872
- * 문의 상세 조회
873
- * @description 로그인한 회원의 특정 제출 내역을 반환합니다.
875
+ * Get My Inquiry Details
876
+ * @description Returns specific form submission for the logged-in member.
874
877
  */
875
878
  get: operations["form.mySubmissionShow"];
876
879
  put?: never;
@@ -891,23 +894,23 @@ interface paths {
891
894
  get?: never;
892
895
  put?: never;
893
896
  /**
894
- * MCP JSON-RPC 요청 처리
895
- * @description AI 에이전트(Claude Desktop, Claude Code ) MCP 프로토콜로 데이터에 접근합니다.
896
- * JSON-RPC 2.0 형식을 사용하며, API 인증이 필요합니다.
897
+ * MCP JSON-RPC Request Handler
898
+ * @description AI agents (Claude Desktop, Claude Code, etc.) access data via MCP protocol.
899
+ * Uses JSON-RPC 2.0 format and requires API key authentication.
897
900
  *
898
- * **인증**: `X-API-Key` 헤더 필수 (Dashboard > Settings > API Tokens에서 발급)
901
+ * **Authentication**: `X-API-Key` header required (issued from Dashboard > Settings > API Tokens)
899
902
  *
900
- * **사용 가능한 메서드**:
901
- * - `initialize` - 클라이언트 초기화
902
- * - `tools/list` - 사용 가능한 도구 목록
903
- * - `tools/call` - 도구 실행 (query, mutate, schema, settings)
904
- * - `ping` - 연결 확인
903
+ * **Available Methods**:
904
+ * - `initialize` - Initialize client
905
+ * - `tools/list` - List available tools
906
+ * - `tools/call` - Execute tool (query, mutate, schema, settings)
907
+ * - `ping` - Connection check
905
908
  *
906
- * **사용 가능한 도구**:
907
- * - `query` - 데이터 조회 (board, blog_post, member, custom_entity )
908
- * - `mutate` - 데이터 생성/수정/삭제
909
- * - `schema` - 스키마 정보 조회
910
- * - `settings` - 게시판 설정, 사이트 정보 수정
909
+ * **Available Tools**:
910
+ * - `query` - Query data (board, blog_post, member, custom_entity, etc.)
911
+ * - `mutate` - Create/update/delete data
912
+ * - `schema` - Query schema info
913
+ * - `settings` - Modify board settings, site info
911
914
  */
912
915
  post: operations["mcpHandle"];
913
916
  delete?: never;
@@ -924,11 +927,11 @@ interface paths {
924
927
  cookie?: never;
925
928
  };
926
929
  /**
927
- * MCP SSE 스트리밍 엔드포인트
928
- * @description 실시간 MCP 통신을 위한 Server-Sent Events 엔드포인트입니다.
929
- * 장시간 연결을 유지하며 서버에서 클라이언트로 이벤트를 푸시합니다.
930
+ * MCP SSE Streaming Endpoint
931
+ * @description Server-Sent Events endpoint for real-time MCP communication.
932
+ * Maintains long-lived connections and pushes events from server to client.
930
933
  *
931
- * **인증**: `X-API-Key` 헤더 필수
934
+ * **Authentication**: `X-API-Key` header required
932
935
  */
933
936
  get: operations["mcpSse"];
934
937
  put?: never;
@@ -947,13 +950,13 @@ interface paths {
947
950
  cookie?: never;
948
951
  };
949
952
  /**
950
- * 미디어 목록
953
+ * Media List
951
954
  * GET /api/{tenant_id}/media
952
955
  */
953
956
  get: operations["media.index"];
954
957
  put?: never;
955
958
  /**
956
- * 미디어 업로드
959
+ * Upload Media
957
960
  * POST /api/{tenant_id}/media
958
961
  */
959
962
  post: operations["media.upload"];
@@ -974,7 +977,7 @@ interface paths {
974
977
  put?: never;
975
978
  post?: never;
976
979
  /**
977
- * 미디어 삭제
980
+ * Delete Media
978
981
  * DELETE /api/{tenant_id}/media/{media}
979
982
  */
980
983
  delete: operations["media.destroy"];
@@ -991,12 +994,12 @@ interface paths {
991
994
  cookie?: never;
992
995
  };
993
996
  /**
994
- * 프로필 조회
997
+ * Get Profile
995
998
  * GET /api/{tenant_id}/profile
996
999
  */
997
1000
  get: operations["member.profile"];
998
1001
  /**
999
- * 프로필 수정
1002
+ * Update Profile
1000
1003
  * PUT /api/{tenant_id}/profile
1001
1004
  */
1002
1005
  put: operations["member.updateProfile"];
@@ -1017,7 +1020,7 @@ interface paths {
1017
1020
  get?: never;
1018
1021
  put?: never;
1019
1022
  /**
1020
- * 주문 미리보기 (결제 전 확인)
1023
+ * Order Preview (Pre-payment confirmation)
1021
1024
  * POST /api/{tenant}/orders/preview
1022
1025
  */
1023
1026
  post: operations["order.preview"];
@@ -1035,13 +1038,13 @@ interface paths {
1035
1038
  cookie?: never;
1036
1039
  };
1037
1040
  /**
1038
- * 주문 목록
1041
+ * List orders
1039
1042
  * GET /api/{tenant}/orders
1040
1043
  */
1041
1044
  get: operations["order.index"];
1042
1045
  put?: never;
1043
1046
  /**
1044
- * 주문 생성
1047
+ * Create order
1045
1048
  * POST /api/{tenant}/orders
1046
1049
  */
1047
1050
  post: operations["order.store"];
@@ -1059,7 +1062,7 @@ interface paths {
1059
1062
  cookie?: never;
1060
1063
  };
1061
1064
  /**
1062
- * 주문 상세
1065
+ * Order Details
1063
1066
  * GET /api/{tenant}/orders/{order_number}
1064
1067
  */
1065
1068
  get: operations["order.show"];
@@ -1081,7 +1084,7 @@ interface paths {
1081
1084
  get?: never;
1082
1085
  put?: never;
1083
1086
  /**
1084
- * 주문 취소
1087
+ * Cancel Order
1085
1088
  * POST /api/{tenant}/orders/{order_number}/cancel
1086
1089
  */
1087
1090
  post: operations["order.cancel"];
@@ -1101,7 +1104,7 @@ interface paths {
1101
1104
  get?: never;
1102
1105
  put?: never;
1103
1106
  /**
1104
- * 토스 웹훅 (가상계좌 입금 )
1107
+ * Toss Webhook (virtual account deposit, etc.)
1105
1108
  * POST /api/{tenant}/payments/toss/webhook
1106
1109
  */
1107
1110
  post: operations["payment.webhook"];
@@ -1141,7 +1144,7 @@ interface paths {
1141
1144
  get?: never;
1142
1145
  put?: never;
1143
1146
  /**
1144
- * 결제 준비 (결제창 정보 반환)
1147
+ * Prepare Payment (Return payment window info)
1145
1148
  * POST /api/{tenant}/payments/toss/ready
1146
1149
  */
1147
1150
  post: operations["payment.ready"];
@@ -1161,7 +1164,7 @@ interface paths {
1161
1164
  get?: never;
1162
1165
  put?: never;
1163
1166
  /**
1164
- * 결제 취소
1167
+ * Cancel Payment
1165
1168
  * POST /api/{tenant}/payments/toss/cancel
1166
1169
  */
1167
1170
  post: operations["payment.cancel"];
@@ -1181,7 +1184,7 @@ interface paths {
1181
1184
  get?: never;
1182
1185
  put?: never;
1183
1186
  /**
1184
- * 가상계좌 발급
1187
+ * Issue Virtual Account
1185
1188
  * POST /api/{tenant}/payments/toss/virtual-account
1186
1189
  */
1187
1190
  post: operations["payment.virtualAccount"];
@@ -1199,7 +1202,7 @@ interface paths {
1199
1202
  cookie?: never;
1200
1203
  };
1201
1204
  /**
1202
- * 결제 성공 콜백 (리다이렉트용)
1205
+ * Payment Success Callback (for redirect)
1203
1206
  * GET /api/{tenant}/payments/toss/success
1204
1207
  */
1205
1208
  get: operations["payment.handleSuccess"];
@@ -1219,7 +1222,7 @@ interface paths {
1219
1222
  cookie?: never;
1220
1223
  };
1221
1224
  /**
1222
- * 결제 실패 콜백 (리다이렉트용)
1225
+ * Payment Failure Callback (for redirect)
1223
1226
  * GET /api/{tenant}/payments/toss/fail
1224
1227
  */
1225
1228
  get: operations["payment.handleFail"];
@@ -1241,7 +1244,7 @@ interface paths {
1241
1244
  get?: never;
1242
1245
  put?: never;
1243
1246
  /**
1244
- * 결제 승인
1247
+ * Confirm Payment
1245
1248
  * POST /api/{tenant}/payments/toss/confirm
1246
1249
  */
1247
1250
  post: operations["payment.confirm"];
@@ -1261,7 +1264,7 @@ interface paths {
1261
1264
  get?: never;
1262
1265
  put?: never;
1263
1266
  /**
1264
- * Stripe Checkout Session 생성
1267
+ * Create Stripe Checkout Session
1265
1268
  * POST /api/{tenant}/payments/stripe/checkout
1266
1269
  */
1267
1270
  post: operations["payment.stripeCheckout"];
@@ -1281,7 +1284,7 @@ interface paths {
1281
1284
  get?: never;
1282
1285
  put?: never;
1283
1286
  /**
1284
- * Stripe Payment Intent 생성 (커스텀 UI)
1287
+ * Create Stripe Payment Intent (for custom UI)
1285
1288
  * POST /api/{tenant}/payments/stripe/intent
1286
1289
  */
1287
1290
  post: operations["payment.stripeIntent"];
@@ -1301,7 +1304,7 @@ interface paths {
1301
1304
  get?: never;
1302
1305
  put?: never;
1303
1306
  /**
1304
- * Stripe 환불
1307
+ * Stripe Refund
1305
1308
  * POST /api/{tenant}/payments/stripe/refund
1306
1309
  */
1307
1310
  post: operations["payment.stripeRefund"];
@@ -1321,7 +1324,7 @@ interface paths {
1321
1324
  get?: never;
1322
1325
  put?: never;
1323
1326
  /**
1324
- * Stripe Checkout Session 확인
1327
+ * Verify Stripe Checkout Session
1325
1328
  * POST /api/{tenant}/payments/stripe/verify
1326
1329
  */
1327
1330
  post: operations["payment.stripeVerify"];
@@ -1341,7 +1344,7 @@ interface paths {
1341
1344
  get?: never;
1342
1345
  put?: never;
1343
1346
  /**
1344
- * Stripe Payment Intent 확인
1347
+ * Verify Stripe Payment Intent
1345
1348
  * POST /api/{tenant}/payments/stripe/confirm
1346
1349
  */
1347
1350
  post: operations["payment.stripeConfirm"];
@@ -1359,7 +1362,7 @@ interface paths {
1359
1362
  cookie?: never;
1360
1363
  };
1361
1364
  /**
1362
- * 결제 수단 상태 확인
1365
+ * Check Payment Method Status
1363
1366
  * GET /api/{tenant}/payments/status
1364
1367
  */
1365
1368
  get: operations["payment.status"];
@@ -1378,7 +1381,7 @@ interface paths {
1378
1381
  path?: never;
1379
1382
  cookie?: never;
1380
1383
  };
1381
- /** 상품 목록 */
1384
+ /** List products */
1382
1385
  get: operations["product.index"];
1383
1386
  put?: never;
1384
1387
  post?: never;
@@ -1395,7 +1398,7 @@ interface paths {
1395
1398
  path?: never;
1396
1399
  cookie?: never;
1397
1400
  };
1398
- /** 상품 상세 */
1401
+ /** Get product detail */
1399
1402
  get: operations["product.show"];
1400
1403
  put?: never;
1401
1404
  post?: never;
@@ -1412,7 +1415,7 @@ interface paths {
1412
1415
  path?: never;
1413
1416
  cookie?: never;
1414
1417
  };
1415
- /** 관련 상품 */
1418
+ /** Get related products */
1416
1419
  get: operations["product.related"];
1417
1420
  put?: never;
1418
1421
  post?: never;
@@ -1430,7 +1433,8 @@ interface paths {
1430
1433
  cookie?: never;
1431
1434
  };
1432
1435
  /**
1433
- * 번들 구성 상품 조회
1436
+ * Get bundle items
1437
+ * @description Returns the products included in a bundle with pricing details.
1434
1438
  * GET /api/{tenant}/products/{slug}/bundle-items
1435
1439
  */
1436
1440
  get: operations["product.bundleItems"];
@@ -1558,7 +1562,7 @@ interface paths {
1558
1562
  path?: never;
1559
1563
  cookie?: never;
1560
1564
  };
1561
- /** 상품 카테고리 목록 */
1565
+ /** Product Categories List */
1562
1566
  get: operations["productCategory.index"];
1563
1567
  put?: never;
1564
1568
  post?: never;
@@ -1575,7 +1579,7 @@ interface paths {
1575
1579
  path?: never;
1576
1580
  cookie?: never;
1577
1581
  };
1578
- /** 카테고리 상세 */
1582
+ /** Category Details */
1579
1583
  get: operations["productCategory.show"];
1580
1584
  put?: never;
1581
1585
  post?: never;
@@ -1593,8 +1597,8 @@ interface paths {
1593
1597
  cookie?: never;
1594
1598
  };
1595
1599
  /**
1596
- * 예약 설정 조회
1597
- * @description 예약 시스템 설정을 조회합니다. 슬롯 간격, 최소 예약 시간, 취소 가능 시간 등을 확인할 수 있습니다.
1600
+ * Get Reservation Settings
1601
+ * @description Retrieves reservation system settings. Includes slot interval, minimum notice time, cancellation deadline, etc.
1598
1602
  */
1599
1603
  get: operations["getReservationSettings"];
1600
1604
  put?: never;
@@ -1613,8 +1617,8 @@ interface paths {
1613
1617
  cookie?: never;
1614
1618
  };
1615
1619
  /**
1616
- * 예약 서비스 목록
1617
- * @description 예약 가능한 서비스 목록을 조회합니다.
1620
+ * Reservation Services List
1621
+ * @description Retrieves the list of available reservation services.
1618
1622
  */
1619
1623
  get: operations["getReservationServices"];
1620
1624
  put?: never;
@@ -1633,8 +1637,8 @@ interface paths {
1633
1637
  cookie?: never;
1634
1638
  };
1635
1639
  /**
1636
- * 담당자 목록
1637
- * @description 예약 담당자(스태프) 목록을 조회합니다. service_id로 특정 서비스의 담당자만 필터링할 있습니다.
1640
+ * Staff List
1641
+ * @description Retrieves the list of reservation staff members. Can be filtered by service_id.
1638
1642
  */
1639
1643
  get: operations["getReservationStaffs"];
1640
1644
  put?: never;
@@ -1653,8 +1657,8 @@ interface paths {
1653
1657
  cookie?: never;
1654
1658
  };
1655
1659
  /**
1656
- * 예약 가능한 날짜 목록
1657
- * @description 특정 서비스의 예약 가능한 날짜 목록을 조회합니다.
1660
+ * Available Dates List
1661
+ * @description Retrieves the list of available dates for a specific service.
1658
1662
  */
1659
1663
  get: operations["getAvailableDates"];
1660
1664
  put?: never;
@@ -1673,8 +1677,8 @@ interface paths {
1673
1677
  cookie?: never;
1674
1678
  };
1675
1679
  /**
1676
- * 예약 가능한 시간 슬롯
1677
- * @description 특정 날짜의 예약 가능한 시간 슬롯 목록을 조회합니다.
1680
+ * Available Time Slots
1681
+ * @description Retrieves the list of available time slots for a specific date.
1678
1682
  */
1679
1683
  get: operations["getAvailableSlots"];
1680
1684
  put?: never;
@@ -1693,14 +1697,14 @@ interface paths {
1693
1697
  cookie?: never;
1694
1698
  };
1695
1699
  /**
1696
- * 예약 목록
1697
- * @description 로그인한 회원의 예약 목록을 조회합니다.
1700
+ * My Reservations List
1701
+ * @description Retrieves the logged-in member's reservation list.
1698
1702
  */
1699
1703
  get: operations["getMyReservations"];
1700
1704
  put?: never;
1701
1705
  /**
1702
- * 예약 생성
1703
- * @description 예약을 생성합니다. 결제가 필요한 서비스의 경우 requires_payment true 반환됩니다.
1706
+ * Create Reservation
1707
+ * @description Creates a new reservation. If payment is required, requires_payment will be true in the response.
1704
1708
  */
1705
1709
  post: operations["createReservation"];
1706
1710
  delete?: never;
@@ -1717,8 +1721,8 @@ interface paths {
1717
1721
  cookie?: never;
1718
1722
  };
1719
1723
  /**
1720
- * 예약 상세
1721
- * @description 특정 예약의 상세 정보를 조회합니다.
1724
+ * Reservation Details
1725
+ * @description Retrieves the details of a specific reservation.
1722
1726
  */
1723
1727
  get: operations["getReservation"];
1724
1728
  put?: never;
@@ -1739,8 +1743,8 @@ interface paths {
1739
1743
  get?: never;
1740
1744
  put?: never;
1741
1745
  /**
1742
- * 예약 취소
1743
- * @description 예약을 취소합니다. 취소 가능 시간이 지난 예약은 취소할 없습니다.
1746
+ * Cancel Reservation
1747
+ * @description Cancels a reservation. Reservations past the cancellation deadline cannot be cancelled.
1744
1748
  */
1745
1749
  post: operations["cancelReservation"];
1746
1750
  delete?: never;
@@ -1759,8 +1763,8 @@ interface paths {
1759
1763
  get?: never;
1760
1764
  put?: never;
1761
1765
  /**
1762
- * 예약 결제 준비 (토스페이먼츠)
1763
- * @description 예약에 대한 결제를 준비합니다. 반환된 order_id 사용하여 토스페이먼츠 결제창을 호출합니다.
1766
+ * Prepare Reservation Payment (Toss Payments)
1767
+ * @description Prepares payment for a reservation. Use the returned order_id to invoke the Toss Payments checkout.
1764
1768
  */
1765
1769
  post: operations["prepareReservationPayment"];
1766
1770
  delete?: never;
@@ -1779,8 +1783,8 @@ interface paths {
1779
1783
  get?: never;
1780
1784
  put?: never;
1781
1785
  /**
1782
- * 예약 결제 확인 (토스페이먼츠)
1783
- * @description 토스페이먼츠 결제 완료 결제를 승인합니다. 결제 성공 예약 상태가 confirmed로 변경됩니다.
1786
+ * Confirm Reservation Payment (Toss Payments)
1787
+ * @description Confirms the payment after Toss Payments checkout is completed. On success, the reservation status changes to confirmed.
1784
1788
  */
1785
1789
  post: operations["confirmReservationPayment"];
1786
1790
  delete?: never;
@@ -1797,8 +1801,8 @@ interface paths {
1797
1801
  cookie?: never;
1798
1802
  };
1799
1803
  /**
1800
- * 예약 결제 상태 조회
1801
- * @description 특정 주문의 결제 상태를 조회합니다.
1804
+ * Get Reservation Payment Status
1805
+ * @description Retrieves the payment status of a specific order.
1802
1806
  */
1803
1807
  get: operations["getReservationPaymentStatus"];
1804
1808
  put?: never;
@@ -1817,16 +1821,16 @@ interface paths {
1817
1821
  cookie?: never;
1818
1822
  };
1819
1823
  /**
1820
- * 소셜 로그인 콜백 처리 (GET - OAuth Redirect 방식)
1821
- * @description 소셜 로그인 OAuth 서버에서 직접 리다이렉트되는 콜백을 처리합니다.
1822
- * 성공 프론트엔드로 토큰과 함께 리다이렉트합니다.
1824
+ * Social Login Callback (GET - OAuth Redirect method)
1825
+ * @description Handles the callback redirected directly from the OAuth server after social login.
1826
+ * On success, redirects to frontend with token.
1823
1827
  */
1824
1828
  get: operations["socialAuth.handleCallbackRedirect"];
1825
1829
  put?: never;
1826
1830
  /**
1827
- * 소셜 로그인 처리 (Authorization Code 방식 - POST)
1828
- * @description 프론트엔드에서 소셜 로그인 받은 authorization code 전송하면
1829
- * 서버에서 소셜 서버와 통신하여 사용자 정보를 가져오고 로그인 처리합니다.
1831
+ * Social Login Handler (Authorization Code method - POST)
1832
+ * @description When the frontend sends the authorization code received after social login,
1833
+ * the server communicates with the social server to get user info and process login.
1830
1834
  */
1831
1835
  post: operations["socialAuth.handleCallback"];
1832
1836
  delete?: never;
@@ -1843,9 +1847,9 @@ interface paths {
1843
1847
  cookie?: never;
1844
1848
  };
1845
1849
  /**
1846
- * 지원 프로바이더 목록
1847
- * @description 현재 지원하는 소셜 로그인 프로바이더 목록을 반환합니다.
1848
- * 테넌트별로 활성화된 프로바이더만 enabled: true로 표시됩니다.
1850
+ * Supported Providers List
1851
+ * @description Returns the list of currently supported social login providers.
1852
+ * Only providers enabled for the tenant are marked as enabled: true.
1849
1853
  */
1850
1854
  get: operations["socialAuth.providers"];
1851
1855
  put?: never;
@@ -1856,7 +1860,7 @@ interface paths {
1856
1860
  patch?: never;
1857
1861
  trace?: never;
1858
1862
  };
1859
- "/{tenant_id}/auth/social/{provider}/url": {
1863
+ "/{tenant_id}/auth/social/{provider}": {
1860
1864
  parameters: {
1861
1865
  query?: never;
1862
1866
  header?: never;
@@ -1864,9 +1868,9 @@ interface paths {
1864
1868
  cookie?: never;
1865
1869
  };
1866
1870
  /**
1867
- * 소셜 로그인 URL 가져오기
1868
- * @description 프론트엔드에서 소셜 로그인 버튼 클릭 API 호출하여
1869
- * 리다이렉트할 URL을 받습니다.
1871
+ * Get Social Login URL
1872
+ * @description When the user clicks a social login button on the frontend, this API is called to
1873
+ * receive the redirect URL.
1870
1874
  */
1871
1875
  get: operations["socialAuth.getAuthUrl"];
1872
1876
  put?: never;
@@ -1887,10 +1891,10 @@ interface paths {
1887
1891
  get?: never;
1888
1892
  put?: never;
1889
1893
  /**
1890
- * 소셜 로그인 처리 (Access Token 방식)
1891
- * @description 프론트엔드에서 소셜 SDK로 직접 로그인하여 받은 access token 전송하면
1892
- * 서버에서 해당 토큰으로 사용자 정보를 가져와 로그인 처리합니다.
1893
- * (카카오 JavaScript SDK, 구글 Sign-In 등에서 사용)
1894
+ * Social Login Handler (Access Token method)
1895
+ * @description When the frontend sends the access token received from direct login via social SDK,
1896
+ * the server retrieves user info with that token and processes login.
1897
+ * (Used by Kakao JavaScript SDK, Google Sign-In, etc.)
1894
1898
  */
1895
1899
  post: operations["socialAuth.handleToken"];
1896
1900
  delete?: never;
@@ -1909,8 +1913,8 @@ interface paths {
1909
1913
  get?: never;
1910
1914
  put?: never;
1911
1915
  /**
1912
- * 소셜 계정 연결 (로그인 상태에서)
1913
- * @description 이미 로그인된 회원의 계정에 소셜 계정을 연결합니다.
1916
+ * Link Social Account (while logged in)
1917
+ * @description Links a social account to an already logged-in member's account.
1914
1918
  */
1915
1919
  post: operations["socialAuth.connectAccount"];
1916
1920
  delete?: never;
@@ -1929,9 +1933,9 @@ interface paths {
1929
1933
  get?: never;
1930
1934
  put?: never;
1931
1935
  /**
1932
- * 소셜 계정 연결 해제
1933
- * @description 연결된 소셜 계정을 해제합니다.
1934
- * 비밀번호가 설정되어 있어야 해제할 있습니다.
1936
+ * Unlink Social Account
1937
+ * @description Unlinks a linked social account.
1938
+ * A password must be set to unlink.
1935
1939
  */
1936
1940
  post: operations["socialAuth.disconnectAccount"];
1937
1941
  delete?: never;
@@ -1968,13 +1972,13 @@ interface paths {
1968
1972
  cookie?: never;
1969
1973
  };
1970
1974
  /**
1971
- * 구독 목록
1975
+ * My Subscriptions List
1972
1976
  * GET /api/{tenant}/subscriptions
1973
1977
  */
1974
1978
  get: operations["subscription.index"];
1975
1979
  put?: never;
1976
1980
  /**
1977
- * 구독 생성
1981
+ * Create Subscription
1978
1982
  * POST /api/{tenant}/subscriptions
1979
1983
  */
1980
1984
  post: operations["subscription.store"];
@@ -1992,7 +1996,7 @@ interface paths {
1992
1996
  cookie?: never;
1993
1997
  };
1994
1998
  /**
1995
- * 구독 상세
1999
+ * Subscription Details
1996
2000
  * GET /api/{tenant}/subscriptions/{id}
1997
2001
  */
1998
2002
  get: operations["subscription.show"];
@@ -2004,6 +2008,46 @@ interface paths {
2004
2008
  patch?: never;
2005
2009
  trace?: never;
2006
2010
  };
2011
+ "/{tenant_id}/subscriptions/checkout": {
2012
+ parameters: {
2013
+ query?: never;
2014
+ header?: never;
2015
+ path?: never;
2016
+ cookie?: never;
2017
+ };
2018
+ get?: never;
2019
+ put?: never;
2020
+ /**
2021
+ * Create Stripe Checkout Session for subscription
2022
+ * POST /api/{tenant}/subscriptions/checkout
2023
+ */
2024
+ post: operations["subscription.checkout"];
2025
+ delete?: never;
2026
+ options?: never;
2027
+ head?: never;
2028
+ patch?: never;
2029
+ trace?: never;
2030
+ };
2031
+ "/{tenant_id}/subscriptions/verify": {
2032
+ parameters: {
2033
+ query?: never;
2034
+ header?: never;
2035
+ path?: never;
2036
+ cookie?: never;
2037
+ };
2038
+ get?: never;
2039
+ put?: never;
2040
+ /**
2041
+ * Verify Stripe Checkout Session for subscription
2042
+ * POST /api/{tenant}/subscriptions/verify
2043
+ */
2044
+ post: operations["subscription.verify"];
2045
+ delete?: never;
2046
+ options?: never;
2047
+ head?: never;
2048
+ patch?: never;
2049
+ trace?: never;
2050
+ };
2007
2051
  "/{tenant_id}/subscriptions/{id}/cancel": {
2008
2052
  parameters: {
2009
2053
  query?: never;
@@ -2014,7 +2058,7 @@ interface paths {
2014
2058
  get?: never;
2015
2059
  put?: never;
2016
2060
  /**
2017
- * 구독 취소
2061
+ * Cancel Subscription
2018
2062
  * POST /api/{tenant}/subscriptions/{id}/cancel
2019
2063
  */
2020
2064
  post: operations["subscription.cancel"];
@@ -2034,7 +2078,7 @@ interface paths {
2034
2078
  get?: never;
2035
2079
  put?: never;
2036
2080
  /**
2037
- * 구독 일시정지
2081
+ * Pause Subscription
2038
2082
  * POST /api/{tenant}/subscriptions/{id}/pause
2039
2083
  */
2040
2084
  post: operations["subscription.pause"];
@@ -2054,7 +2098,7 @@ interface paths {
2054
2098
  get?: never;
2055
2099
  put?: never;
2056
2100
  /**
2057
- * 구독 재개
2101
+ * Resume Subscription
2058
2102
  * POST /api/{tenant}/subscriptions/{id}/resume
2059
2103
  */
2060
2104
  post: operations["subscription.resume"];
@@ -2074,7 +2118,7 @@ interface paths {
2074
2118
  get?: never;
2075
2119
  put?: never;
2076
2120
  /**
2077
- * Setup Intent 생성 (결제 수단 등록용)
2121
+ * Create Setup Intent (for payment method registration)
2078
2122
  * POST /api/{tenant}/subscriptions/setup-intent
2079
2123
  */
2080
2124
  post: operations["subscription.setupIntent"];
@@ -2092,13 +2136,13 @@ interface paths {
2092
2136
  cookie?: never;
2093
2137
  };
2094
2138
  /**
2095
- * 위시리스트 조회
2139
+ * Get Wishlist
2096
2140
  * GET /api/{tenant}/wishlist
2097
2141
  */
2098
2142
  get: operations["wishlist.index"];
2099
2143
  put?: never;
2100
2144
  /**
2101
- * 위시리스트에 상품 추가
2145
+ * Add Product to Wishlist
2102
2146
  * POST /api/{tenant}/wishlist
2103
2147
  */
2104
2148
  post: operations["wishlist.store"];
@@ -2117,13 +2161,13 @@ interface paths {
2117
2161
  };
2118
2162
  get?: never;
2119
2163
  /**
2120
- * 메모 업데이트
2164
+ * Update Memo
2121
2165
  * PUT /api/{tenant}/wishlist/{id}
2122
2166
  */
2123
2167
  put: operations["wishlist.update"];
2124
2168
  post?: never;
2125
2169
  /**
2126
- * 위시리스트에서 상품 제거
2170
+ * Remove Product from Wishlist
2127
2171
  * DELETE /api/{tenant}/wishlist/{id}
2128
2172
  */
2129
2173
  delete: operations["wishlist.destroy"];
@@ -2142,7 +2186,7 @@ interface paths {
2142
2186
  get?: never;
2143
2187
  put?: never;
2144
2188
  /**
2145
- * 위시리스트 토글 (있으면 제거, 없으면 추가)
2189
+ * Toggle Wishlist (add if not exists, remove if exists)
2146
2190
  * POST /api/{tenant}/wishlist/toggle
2147
2191
  */
2148
2192
  post: operations["wishlist.toggle"];
@@ -2160,7 +2204,7 @@ interface paths {
2160
2204
  cookie?: never;
2161
2205
  };
2162
2206
  /**
2163
- * 상품이 위시리스트에 있는지 확인
2207
+ * Check if Product is in Wishlist
2164
2208
  * GET /api/{tenant}/wishlist/check
2165
2209
  */
2166
2210
  get: operations["wishlist.check"];
@@ -2182,7 +2226,7 @@ interface paths {
2182
2226
  get?: never;
2183
2227
  put?: never;
2184
2228
  /**
2185
- * 여러 상품의 위시리스트 상태 확인
2229
+ * Check Wishlist Status for Multiple Products
2186
2230
  * POST /api/{tenant}/wishlist/check-bulk
2187
2231
  */
2188
2232
  post: operations["wishlist.checkBulk"];
@@ -2200,7 +2244,7 @@ interface paths {
2200
2244
  cookie?: never;
2201
2245
  };
2202
2246
  /**
2203
- * 위시리스트 카운트
2247
+ * Wishlist Count
2204
2248
  * GET /api/{tenant}/wishlist/count
2205
2249
  */
2206
2250
  get: operations["wishlist.count"];
@@ -2222,7 +2266,7 @@ interface paths {
2222
2266
  get?: never;
2223
2267
  put?: never;
2224
2268
  /**
2225
- * 위시리스트 상품을 장바구니로 이동
2269
+ * Move Wishlist Items to Cart
2226
2270
  * POST /api/{tenant}/wishlist/move-to-cart
2227
2271
  */
2228
2272
  post: operations["wishlist.moveToCart"];
@@ -2240,7 +2284,7 @@ interface paths {
2240
2284
  cookie?: never;
2241
2285
  };
2242
2286
  /**
2243
- * 상품의 위시리스트 카운트 (얼마나 많은 사람이 관심있는지)
2287
+ * Product Wishlist Count (how many people are interested)
2244
2288
  * GET /api/{tenant}/products/{slug}/wishlist-count
2245
2289
  */
2246
2290
  get: operations["wishlist.productWishlistCount"];
@@ -2269,19 +2313,19 @@ interface components {
2269
2313
  };
2270
2314
  /** BlogPostResource */
2271
2315
  BlogPostResource: {
2272
- /** @description 포스트 고유 ID (auto increment) */
2316
+ /** @description Post unique ID (auto increment) */
2273
2317
  id: number;
2274
- /** @description 포스트 제목 */
2318
+ /** @description Post title */
2275
2319
  title: string;
2276
- /** @description URL 고유 식별자 (영문, 숫자, 하이픈) */
2320
+ /** @description URL-friendly unique identifier (alphanumeric and hyphens) */
2277
2321
  slug: string;
2278
- /** @description 요약/미리보기 텍스트 (목록용, excerpt 또는 content 200자) */
2322
+ /** @description Summary/preview text (for listing, excerpt or first 200 chars of content) */
2279
2323
  excerpt: string;
2280
- /** @description 대표 이미지 URL (절대 경로) */
2324
+ /** @description Featured image URL (absolute path) */
2281
2325
  featured_image: string | null;
2282
- /** @description 카테고리명 (deprecated, use category object) */
2326
+ /** @description Category name (deprecated, use category object) */
2283
2327
  category: string | null;
2284
- /** @description 카테고리 객체 */
2328
+ /** @description Category object */
2285
2329
  category_id: Record<string, never> | null;
2286
2330
  blog_category?: {
2287
2331
  id: string;
@@ -2290,17 +2334,17 @@ interface components {
2290
2334
  color: string;
2291
2335
  icon: string;
2292
2336
  };
2293
- /** @description 태그 배열 */
2337
+ /** @description Tags array */
2294
2338
  tags: string[];
2295
- /** @description 작성자 이름 */
2339
+ /** @description Author name */
2296
2340
  author: string;
2297
- /** @description 조회수 */
2341
+ /** @description View count */
2298
2342
  views: number;
2299
- /** @description 상태: draft(임시저장), published(발행됨) */
2343
+ /** @description Status: draft or published */
2300
2344
  status: string;
2301
- /** @description 발행일시 (ISO 8601 형식). 예약 발행 가능 */
2345
+ /** @description Published date (ISO 8601 format). Supports scheduled publishing */
2302
2346
  published_at: string | null;
2303
- /** @description 생성일시 (ISO 8601 형식) */
2347
+ /** @description Created date (ISO 8601 format) */
2304
2348
  created_at: string;
2305
2349
  content: string;
2306
2350
  updated_at: string;
@@ -2323,25 +2367,25 @@ interface components {
2323
2367
  };
2324
2368
  /** BoardPostResource */
2325
2369
  BoardPostResource: {
2326
- /** @description 게시글 고유 ID (auto increment) */
2370
+ /** @description Post unique ID (auto increment) */
2327
2371
  id: number;
2328
- /** @description 게시글 제목 */
2372
+ /** @description Post title */
2329
2373
  title: string;
2330
- /** @description 본문 미리보기 (HTML 태그 제거, 최대 150) */
2374
+ /** @description Content preview (HTML tags removed, max 150 chars) */
2331
2375
  excerpt: string;
2332
- /** @description 작성자 이름 (비회원이면 'Guest') */
2376
+ /** @description Author name ('Guest' if non-member) */
2333
2377
  author: string;
2334
- /** @description 조회수 */
2378
+ /** @description View count */
2335
2379
  views: number;
2336
- /** @description 공지사항 여부. true 목록 상단 고정 */
2380
+ /** @description Whether this is a notice. If true, pinned at top of list */
2337
2381
  is_notice: boolean;
2338
- /** @description 비밀글 여부. true 작성자와 관리자만 열람 가능 */
2382
+ /** @description Whether this is a secret post. If true, only author and admin can view */
2339
2383
  is_secret: boolean;
2340
- /** @description 현재 로그인 사용자의 글인지 여부 */
2384
+ /** @description Whether this is the current logged-in user's post */
2341
2385
  is_mine: boolean;
2342
- /** @description 첨부파일 */
2386
+ /** @description Attachment count */
2343
2387
  attachments_count: number;
2344
- /** @description 작성일시 (ISO 8601 형식) */
2388
+ /** @description Created date (ISO 8601 format) */
2345
2389
  created_at: string;
2346
2390
  content: string;
2347
2391
  updated_at: string;
@@ -2354,17 +2398,17 @@ interface components {
2354
2398
  };
2355
2399
  /** BoardResource */
2356
2400
  BoardResource: {
2357
- /** @description 게시판 고유 ID (auto increment) */
2401
+ /** @description Board unique ID (auto increment) */
2358
2402
  id: number;
2359
- /** @description 게시판 이름 */
2403
+ /** @description Board name */
2360
2404
  name: string;
2361
- /** @description URL 고유 식별자 (영문, 숫자, 하이픈) */
2405
+ /** @description URL-friendly unique identifier (alphanumeric and hyphens) */
2362
2406
  slug: string;
2363
- /** @description 게시판 설명 */
2407
+ /** @description Board description */
2364
2408
  description: string | null;
2365
- /** @description 활성화 여부. false 비공개 */
2409
+ /** @description Active status. If false, board is private */
2366
2410
  is_active: boolean;
2367
- /** @description 생성일시 (ISO 8601 형식) */
2411
+ /** @description Created date (ISO 8601 format) */
2368
2412
  created_at: string | null;
2369
2413
  };
2370
2414
  /** CommentCollection */
@@ -2379,34 +2423,34 @@ interface components {
2379
2423
  };
2380
2424
  /** CommentResource */
2381
2425
  CommentResource: {
2382
- /** @description 댓글 고유 ID (auto increment) */
2426
+ /** @description Comment unique ID (auto increment) */
2383
2427
  id: number;
2384
- /** @description 부모 댓글 ID. null이면 최상위 댓글 */
2428
+ /** @description Parent comment ID. Null if top-level comment */
2385
2429
  parent_id: number | null;
2386
- /** @description 댓글 깊이 (0: 최상위, 1: 대댓글, 2: 대대댓글) */
2430
+ /** @description Comment depth (0: top-level, 1: reply, 2: nested reply) */
2387
2431
  depth: number;
2388
- /** @description 작성자 정보 */
2432
+ /** @description Author information */
2389
2433
  author: {
2390
2434
  name: string;
2391
2435
  is_member: boolean;
2392
2436
  };
2393
- /** @description 댓글 내용. 비밀글이고 열람 권한 없으면 마스킹 처리 */
2437
+ /** @description Comment content. Masked if secret and no view permission */
2394
2438
  content: string;
2395
- /** @description 비밀 댓글 여부. true 작성자와 관리자만 내용 열람 가능 */
2439
+ /** @description Whether this is a secret comment. If true, only author and admin can view */
2396
2440
  is_secret: boolean;
2397
- /** @description 고정 댓글 여부. true 상단 고정 */
2441
+ /** @description Whether this comment is pinned. If true, displayed at top */
2398
2442
  is_pinned: boolean;
2399
- /** @description 좋아요 */
2443
+ /** @description Like count */
2400
2444
  likes: number;
2401
- /** @description 현재 로그인 사용자의 댓글인지 여부 */
2445
+ /** @description Whether this is the current logged-in user's comment */
2402
2446
  is_mine: boolean;
2403
- /** @description 작성일시 (ISO 8601 형식) */
2447
+ /** @description Created date (ISO 8601 format) */
2404
2448
  created_at: string;
2405
- /** @description 수정일시 (ISO 8601 형식) */
2449
+ /** @description Updated date (ISO 8601 format) */
2406
2450
  updated_at: string | null;
2407
- /** @description 대댓글 목록 (관계 로드 ) */
2451
+ /** @description Reply list (when relation is loaded) */
2408
2452
  replies?: components["schemas"]["CommentResource"][] | null;
2409
- /** @description 대댓글 (replies 미로드 ) */
2453
+ /** @description Reply count (when replies not loaded) */
2410
2454
  replies_count?: number | null;
2411
2455
  };
2412
2456
  /** Form */
@@ -2428,45 +2472,45 @@ interface components {
2428
2472
  };
2429
2473
  /** MemberResource */
2430
2474
  MemberResource: {
2431
- /** @description 회원 고유 ID (auto increment) */
2475
+ /** @description Member unique ID (auto increment) */
2432
2476
  id: number;
2433
- /** @description 회원 이름 */
2477
+ /** @description Member name */
2434
2478
  name: string;
2435
- /** @description 이메일 주소 (로그인 ID로 사용) */
2479
+ /** @description Email address (used as login ID) */
2436
2480
  email: string;
2437
- /** @description 전화번호 (010-xxxx-xxxx 형식 권장) */
2481
+ /** @description Phone number (recommended format: 010-xxxx-xxxx) */
2438
2482
  phone: string | null;
2439
- /** @description 프로필 이미지 URL. 없으면 기본 아바타 URL 반환 */
2483
+ /** @description Profile image URL. Returns default avatar URL if not set */
2440
2484
  avatar: string | null;
2441
- /** @description 소셜 로그인 제공자: google, kakao, naver 중 하나 */
2485
+ /** @description Social login provider: google, kakao, or naver */
2442
2486
  provider: string | null;
2443
- /** @description 소셜 로그인 회원 여부. true 비밀번호 변경 불가 */
2487
+ /** @description Whether member is social login user. If true, password cannot be changed */
2444
2488
  is_social_login: boolean;
2445
- /** @description 가입일시 (ISO 8601 형식) */
2489
+ /** @description Registration date (ISO 8601 format) */
2446
2490
  created_at: string;
2447
2491
  };
2448
2492
  /** MessageBag */
2449
2493
  MessageBag: unknown[];
2450
2494
  /** ProductAttributeResource */
2451
2495
  ProductAttributeResource: {
2452
- /** @description 속성 고유 ID */
2496
+ /** @description Attribute unique ID */
2453
2497
  id: number;
2454
- /** @description 속성명 (예: "색상", "사이즈") */
2498
+ /** @description Attribute name (e.g., "Color", "Size") */
2455
2499
  name: string;
2456
- /** @description 정렬 순서 */
2500
+ /** @description Sort order */
2457
2501
  sort_order: number;
2458
- /** @description 속성값 목록 */
2502
+ /** @description Attribute values list */
2459
2503
  values?: components["schemas"]["ProductAttributeValueResource"][];
2460
2504
  };
2461
2505
  /** ProductAttributeValueResource */
2462
2506
  ProductAttributeValueResource: {
2463
- /** @description 속성값 고유 ID */
2507
+ /** @description Attribute value unique ID */
2464
2508
  id: number;
2465
- /** @description 속성값 (예: "빨강", "L") */
2509
+ /** @description Attribute value (e.g., "Red", "L") */
2466
2510
  value: string;
2467
- /** @description 색상 코드 (색상 속성인 경우 HEX 코드) */
2511
+ /** @description Color code (HEX code for color attributes) */
2468
2512
  color_code: string | null;
2469
- /** @description 정렬 순서 */
2513
+ /** @description Sort order */
2470
2514
  sort_order: number;
2471
2515
  };
2472
2516
  /** ProductCategoryCollection */
@@ -2482,23 +2526,23 @@ interface components {
2482
2526
  };
2483
2527
  /** ProductCategoryResource */
2484
2528
  ProductCategoryResource: {
2485
- /** @description 카테고리 고유 ID (auto increment) */
2529
+ /** @description Category unique ID (auto increment) */
2486
2530
  id: number;
2487
- /** @description 카테고리명 */
2531
+ /** @description Category name */
2488
2532
  name: string;
2489
- /** @description URL 고유 식별자 (영문, 숫자, 하이픈) */
2533
+ /** @description URL-friendly unique identifier (alphanumeric and hyphens) */
2490
2534
  slug: string;
2491
- /** @description 카테고리 설명 */
2535
+ /** @description Category description */
2492
2536
  description: string | null;
2493
- /** @description 카테고리 대표 이미지 URL */
2537
+ /** @description Category image URL */
2494
2538
  image: string | null;
2495
- /** @description 부모 카테고리 ID. null이면 최상위 카테고리 */
2539
+ /** @description Parent category ID. Null if top-level category */
2496
2540
  parent_id: number | null;
2497
- /** @description 정렬 순서 (낮을수록 먼저 표시) */
2541
+ /** @description Sort order (lower values displayed first) */
2498
2542
  sort_order: number;
2499
- /** @description 하위 카테고리 목록 (관계 로드 ) */
2543
+ /** @description Child category list (when relation is loaded) */
2500
2544
  children?: components["schemas"]["ProductCategoryResource"][];
2501
- /** @description 카테고리에 속한 상품 (withCount 사용 ) */
2545
+ /** @description Product count in category (when withCount is used) */
2502
2546
  products_count?: number | null;
2503
2547
  };
2504
2548
  /** ProductCollection */
@@ -2514,101 +2558,101 @@ interface components {
2514
2558
  };
2515
2559
  /** ProductResource */
2516
2560
  ProductResource: {
2517
- /** @description 상품 고유 ID (auto increment) */
2561
+ /** @description Product unique ID (auto increment) */
2518
2562
  id: number;
2519
- /** @description 상품명 */
2563
+ /** @description Product name */
2520
2564
  name: string;
2521
- /** @description URL 고유 식별자 (영문, 숫자, 하이픈) */
2565
+ /** @description URL-friendly unique identifier (alphanumeric and hyphens) */
2522
2566
  slug: string;
2523
- /** @description 짧은 설명 (목록 페이지용, 최대 200 권장) */
2567
+ /** @description Short description (for listing page, max 200 chars recommended) */
2524
2568
  short_description: string | null;
2525
- /** @description 상세 설명 (HTML 포함 가능) */
2569
+ /** @description Detailed description (may include HTML) */
2526
2570
  description: string | null;
2527
- /** @description 대표 이미지 URL (절대 경로) */
2571
+ /** @description Thumbnail image URL (absolute path) */
2528
2572
  thumbnail: string | null;
2529
- /** @description 상품 이미지 URL 배열 (최대 10) */
2573
+ /** @description Product image URL array (max 10 images) */
2530
2574
  images: string[];
2531
- /** @description 판매가 (원) - 실제 결제 금액 */
2575
+ /** @description Sale price - actual payment amount */
2532
2576
  sale_price: number;
2533
- /** @description 정가 (할인 전 가격). null이면 할인 없음 */
2577
+ /** @description Regular price (before discount). Null if no discount */
2534
2578
  regular_price: number | null;
2535
- /** @description 옵션 상품의 최저 판매가. 옵션 없으면 sale_price 동일 */
2579
+ /** @description Minimum sale price for variant products. Same as sale_price if no variants */
2536
2580
  min_sale_price: number | null;
2537
- /** @description 옵션 상품의 최고 판매가. 옵션 없으면 null */
2581
+ /** @description Maximum sale price for variant products. Null if no variants */
2538
2582
  max_sale_price: number | null;
2539
- /** @description 할인율 (%). 계산: (regular_price - sale_price) / regular_price * 100 */
2583
+ /** @description Discount percentage. Calculated: (regular_price - sale_price) / regular_price * 100 */
2540
2584
  discount_percent: number | null;
2541
- /** @description 재고관리코드 (SKU) */
2585
+ /** @description Stock Keeping Unit (SKU) */
2542
2586
  sku: string | null;
2543
- /** @description 재고 수량. track_inventory=false 무시됨 */
2587
+ /** @description Stock quantity. Ignored if track_inventory=false */
2544
2588
  stock_quantity: number;
2545
- /** @description 재고 있음 여부. 계산된 (track_inventory, has_options 고려) */
2589
+ /** @description In stock status. Calculated value (considers track_inventory, has_options) */
2546
2590
  in_stock: boolean;
2547
- /** @description 재고 부족 여부. 계산된 (stock_quantity <= 5) */
2591
+ /** @description Low stock status. Calculated value (stock_quantity <= 5) */
2548
2592
  is_low_stock: boolean;
2549
- /** @description 재고 추적 여부. false 항상 재고 있음으로 처리 */
2593
+ /** @description Whether to track inventory. If false, always treated as in stock */
2550
2594
  track_inventory: boolean;
2551
- /** @description 옵션 상품 여부. true variants 배열 확인 필요 */
2595
+ /** @description Whether product has variants. If true, check variants array */
2552
2596
  has_options: boolean;
2553
- /** @description 추천 상품 여부 (메인 페이지 노출용) */
2597
+ /** @description Featured product status (for homepage display) */
2554
2598
  is_featured: boolean;
2555
- /** @description 무게 (g). 배송비 계산에 사용 */
2599
+ /** @description Weight in grams. Used for shipping calculation */
2556
2600
  weight: number | null;
2557
- /** @description 개별 배송비 (원). 0이면 기본 배송비 적용 */
2601
+ /** @description Individual shipping fee. If 0, default shipping applies */
2558
2602
  shipping_fee: number;
2559
- /** @description 배송 안내 텍스트 (예: "도서산간 추가비용 발생") */
2603
+ /** @description Shipping notice text (e.g., "Additional fee for remote areas") */
2560
2604
  shipping_info: string | null;
2561
- /** @description SEO 메타 제목 */
2605
+ /** @description SEO meta title */
2562
2606
  meta_title: string | null;
2563
- /** @description SEO 메타 설명 */
2607
+ /** @description SEO meta description */
2564
2608
  meta_description: string | null;
2565
2609
  category?: components["schemas"]["ProductCategoryResource"] | null;
2566
- /** @description 상품 속성 목록 (색상, 사이즈 등의 옵션 타입) */
2610
+ /** @description Product attributes list (option types like color, size) */
2567
2611
  attributes?: components["schemas"]["ProductAttributeResource"][];
2568
- /** @description 상품 변형 목록 (속성 조합별 가격/재고) */
2612
+ /** @description Product variants list (price/stock per attribute combination) */
2569
2613
  variants?: components["schemas"]["ProductVariantResource"][];
2570
- /** @description 조회수 */
2614
+ /** @description View count */
2571
2615
  view_count: number;
2572
- /** @description 생성일시 (ISO 8601 형식) */
2616
+ /** @description Created date (ISO 8601 format) */
2573
2617
  created_at: string | null;
2574
- /** @description 상품 유형: physical(일반), digital(디지털), subscription(구독), bundle(번들) */
2618
+ /** @description Product type: physical, digital, subscription, or bundle */
2575
2619
  type: string;
2576
- /** @description 디지털 파일 목록 (type=digital인 경우) */
2620
+ /** @description Digital file list (when type=digital) */
2577
2621
  digital_files?: unknown[] | null;
2578
- /** @description 구독 플랜 목록 (type=subscription인 경우) */
2622
+ /** @description Subscription plan list (when type=subscription) */
2579
2623
  subscription_plans?: unknown[] | null;
2580
- /** @description 번들 구성 상품 목록 (type=bundle인 경우) */
2624
+ /** @description Bundle item list (when type=bundle) */
2581
2625
  bundle_items?: unknown[] | null;
2582
- /** @description 번들 할인 유형: fixed(정액), percent(정률) */
2626
+ /** @description Bundle discount type: fixed or percent */
2583
2627
  bundle_discount_type?: string | null;
2584
- /** @description 번들 할인 */
2628
+ /** @description Bundle discount value */
2585
2629
  bundle_discount_value?: number | null;
2586
2630
  };
2587
2631
  /** ProductVariantResource */
2588
2632
  ProductVariantResource: {
2589
- /** @description 변형 고유 ID (auto increment) */
2633
+ /** @description Variant unique ID (auto increment) */
2590
2634
  id: number;
2591
- /** @description 변형별 재고관리코드. null이면 상품 SKU 사용 */
2635
+ /** @description Variant-specific SKU. If null, uses product SKU */
2592
2636
  sku: string | null;
2593
- /** @description 옵션 객체 (예: {"색상": "빨강", "사이즈": "L"}) */
2637
+ /** @description Option values object (e.g., {"Color": "Red", "Size": "L"}) */
2594
2638
  option_values: {
2595
2639
  [key: string]: string;
2596
2640
  };
2597
- /** @description 옵션 조합 문자열 (예: "빨강 / L") */
2641
+ /** @description Option combination string (e.g., "Red / L") */
2598
2642
  option_string: string;
2599
- /** @description 변형별 판매가. null이면 상품 기본가 사용 */
2643
+ /** @description Variant sale price. If null, uses product base price */
2600
2644
  sale_price: number | null;
2601
- /** @description 변형별 정가 (할인 ). null이면 상품 기본 정가 사용 */
2645
+ /** @description Variant regular price (before discount). If null, uses product base regular price */
2602
2646
  regular_price: number | null;
2603
- /** @description 최종 적용 가격 (변형 가격 또는 상품 기본가) */
2647
+ /** @description Final applied price (variant price or product base price) */
2604
2648
  final_price: number;
2605
- /** @description 변형별 재고 수량 */
2649
+ /** @description Variant stock quantity */
2606
2650
  stock_quantity: number;
2607
- /** @description 재고 있음 여부 */
2651
+ /** @description In stock status */
2608
2652
  in_stock: boolean;
2609
- /** @description 변형별 이미지 URL. null이면 상품 대표 이미지 사용 */
2653
+ /** @description Variant image URL. If null, uses product thumbnail */
2610
2654
  image: string | null;
2611
- /** @description 활성화 여부. false 구매 불가 */
2655
+ /** @description Active status. If false, cannot be purchased */
2612
2656
  is_active: boolean;
2613
2657
  };
2614
2658
  };
@@ -3668,9 +3712,9 @@ interface operations {
3668
3712
  id: string;
3669
3713
  product_id: string;
3670
3714
  variant_id: string;
3671
- product_name: string | "삭제된 상품";
3715
+ product_name: string | "Deleted product";
3672
3716
  variant_name: string | null;
3673
- thumbnail: string;
3717
+ thumbnail: string | null;
3674
3718
  price: string;
3675
3719
  quantity: string;
3676
3720
  subtotal: string;
@@ -3745,7 +3789,7 @@ interface operations {
3745
3789
  "application/json": {
3746
3790
  success: boolean;
3747
3791
  /** @enum {string} */
3748
- message: "장바구니가 비워졌습니다.";
3792
+ message: "Cart has been cleared.";
3749
3793
  data: {
3750
3794
  items: string[];
3751
3795
  /** @enum {integer} */
@@ -3808,9 +3852,9 @@ interface operations {
3808
3852
  id: string;
3809
3853
  product_id: string;
3810
3854
  variant_id: string;
3811
- product_name: string | "삭제된 상품";
3855
+ product_name: string | "Deleted product";
3812
3856
  variant_name: string | null;
3813
- thumbnail: string;
3857
+ thumbnail: string | null;
3814
3858
  price: string;
3815
3859
  quantity: string;
3816
3860
  subtotal: string;
@@ -3900,9 +3944,9 @@ interface operations {
3900
3944
  id: string;
3901
3945
  product_id: string;
3902
3946
  variant_id: string;
3903
- product_name: string | "삭제된 상품";
3947
+ product_name: string | "Deleted product";
3904
3948
  variant_name: string | null;
3905
- thumbnail: string;
3949
+ thumbnail: string | null;
3906
3950
  price: string;
3907
3951
  quantity: string;
3908
3952
  subtotal: string;
@@ -3986,9 +4030,9 @@ interface operations {
3986
4030
  id: string;
3987
4031
  product_id: string;
3988
4032
  variant_id: string;
3989
- product_name: string | "삭제된 상품";
4033
+ product_name: string | "Deleted product";
3990
4034
  variant_name: string | null;
3991
- thumbnail: string;
4035
+ thumbnail: string | null;
3992
4036
  price: string;
3993
4037
  quantity: string;
3994
4038
  subtotal: string;
@@ -4079,9 +4123,9 @@ interface operations {
4079
4123
  id: string;
4080
4124
  product_id: string;
4081
4125
  variant_id: string;
4082
- product_name: string | "삭제된 상품";
4126
+ product_name: string | "Deleted product";
4083
4127
  variant_name: string | null;
4084
- thumbnail: string;
4128
+ thumbnail: string | null;
4085
4129
  price: string;
4086
4130
  quantity: string;
4087
4131
  subtotal: string;
@@ -4144,7 +4188,7 @@ interface operations {
4144
4188
  "application/json": {
4145
4189
  success: boolean;
4146
4190
  /** @enum {string} */
4147
- message: "장바구니가 병합되었습니다.";
4191
+ message: "Cart has been merged.";
4148
4192
  data: {
4149
4193
  id: number;
4150
4194
  session_id: string | null;
@@ -4153,9 +4197,9 @@ interface operations {
4153
4197
  id: string;
4154
4198
  product_id: string;
4155
4199
  variant_id: string;
4156
- product_name: string | "삭제된 상품";
4200
+ product_name: string | "Deleted product";
4157
4201
  variant_name: string | null;
4158
- thumbnail: string;
4202
+ thumbnail: string | null;
4159
4203
  price: string;
4160
4204
  quantity: string;
4161
4205
  subtotal: string;
@@ -4191,7 +4235,7 @@ interface operations {
4191
4235
  "application/json": {
4192
4236
  success: boolean;
4193
4237
  /** @enum {string} */
4194
- message: "세션 ID 필요합니다.";
4238
+ message: "Session ID is required.";
4195
4239
  errors: null;
4196
4240
  };
4197
4241
  };
@@ -4204,7 +4248,7 @@ interface operations {
4204
4248
  "application/json": {
4205
4249
  success: boolean;
4206
4250
  /** @enum {string} */
4207
- message: "인증이 필요합니다.";
4251
+ message: "Authentication required.";
4208
4252
  errors: null;
4209
4253
  };
4210
4254
  };
@@ -4311,7 +4355,7 @@ interface operations {
4311
4355
  "application/json": {
4312
4356
  success: boolean;
4313
4357
  /** @enum {string} */
4314
- message: "댓글이 작성되었습니다.";
4358
+ message: "Comment has been posted.";
4315
4359
  data: components["schemas"]["CommentResource"];
4316
4360
  };
4317
4361
  };
@@ -4435,7 +4479,7 @@ interface operations {
4435
4479
  "application/json": {
4436
4480
  success: boolean;
4437
4481
  /** @enum {string} */
4438
- message: "댓글이 작성되었습니다.";
4482
+ message: "Comment has been posted.";
4439
4483
  data: components["schemas"]["CommentResource"];
4440
4484
  };
4441
4485
  };
@@ -4566,7 +4610,7 @@ interface operations {
4566
4610
  "application/json": {
4567
4611
  success: boolean;
4568
4612
  /** @enum {string} */
4569
- message: "댓글이 작성되었습니다.";
4613
+ message: "Comment has been posted.";
4570
4614
  data: components["schemas"]["CommentResource"];
4571
4615
  };
4572
4616
  };
@@ -4625,7 +4669,7 @@ interface operations {
4625
4669
  "application/json": {
4626
4670
  success: boolean;
4627
4671
  /** @enum {string} */
4628
- message: "댓글이 수정되었습니다.";
4672
+ message: "Comment has been updated.";
4629
4673
  data: components["schemas"]["CommentResource"];
4630
4674
  };
4631
4675
  };
@@ -4638,7 +4682,7 @@ interface operations {
4638
4682
  "application/json": {
4639
4683
  success: boolean;
4640
4684
  /** @enum {string} */
4641
- message: "수정 권한이 없습니다.";
4685
+ message: "You do not have permission to edit.";
4642
4686
  errors: null;
4643
4687
  };
4644
4688
  };
@@ -4695,7 +4739,7 @@ interface operations {
4695
4739
  "application/json": {
4696
4740
  success: boolean;
4697
4741
  /** @enum {string} */
4698
- message: "댓글이 삭제되었습니다.";
4742
+ message: "Comment has been deleted.";
4699
4743
  };
4700
4744
  };
4701
4745
  };
@@ -4707,7 +4751,7 @@ interface operations {
4707
4751
  "application/json": {
4708
4752
  success: boolean;
4709
4753
  /** @enum {string} */
4710
- message: "삭제 권한이 없습니다.";
4754
+ message: "You do not have permission to delete.";
4711
4755
  errors: null;
4712
4756
  };
4713
4757
  };
@@ -4807,7 +4851,7 @@ interface operations {
4807
4851
  expires_at: string;
4808
4852
  can_use: boolean;
4809
4853
  /** @enum {string} */
4810
- reason: "이미 사용 가능한 횟수를 초과했습니다.";
4854
+ reason: "You have exceeded the maximum number of uses.";
4811
4855
  }[];
4812
4856
  };
4813
4857
  };
@@ -4888,7 +4932,7 @@ interface operations {
4888
4932
  "application/json": {
4889
4933
  success: boolean;
4890
4934
  /** @enum {string} */
4891
- message: "존재하지 않는 쿠폰입니다.";
4935
+ message: "Coupon does not exist.";
4892
4936
  errors: null;
4893
4937
  } | {
4894
4938
  success: boolean;
@@ -4926,7 +4970,7 @@ interface operations {
4926
4970
  "application/json": {
4927
4971
  success: boolean;
4928
4972
  /** @enum {string} */
4929
- message: "쿠폰이 적용되었습니다.";
4973
+ message: "Coupon has been applied.";
4930
4974
  data: {
4931
4975
  coupon: {
4932
4976
  code: string;
@@ -4954,7 +4998,7 @@ interface operations {
4954
4998
  } | {
4955
4999
  success: boolean;
4956
5000
  /** @enum {string} */
4957
- message: "장바구니가 비어있습니다.";
5001
+ message: "Cart is empty.";
4958
5002
  errors: null;
4959
5003
  };
4960
5004
  };
@@ -4967,7 +5011,7 @@ interface operations {
4967
5011
  "application/json": {
4968
5012
  success: boolean;
4969
5013
  /** @enum {string} */
4970
- message: "존재하지 않는 쿠폰입니다.";
5014
+ message: "Coupon does not exist.";
4971
5015
  errors: null;
4972
5016
  } | {
4973
5017
  success: boolean;
@@ -5126,7 +5170,7 @@ interface operations {
5126
5170
  getEntityRecords: {
5127
5171
  parameters: {
5128
5172
  query?: {
5129
- /** @description 정렬 (SQL Injection 방지를 위한 화이트리스트 검증) */
5173
+ /** @description Sort (whitelist validation to prevent SQL Injection) */
5130
5174
  sort?: string;
5131
5175
  dir?: string;
5132
5176
  per_page?: string;
@@ -5297,7 +5341,7 @@ interface operations {
5297
5341
  "application/json": {
5298
5342
  success: boolean;
5299
5343
  /** @enum {string} */
5300
- message: "인증이 필요합니다.";
5344
+ message: "Authentication required.";
5301
5345
  errors: null;
5302
5346
  };
5303
5347
  };
@@ -5375,7 +5419,7 @@ interface operations {
5375
5419
  "application/json": {
5376
5420
  success: boolean;
5377
5421
  /** @enum {string} */
5378
- message: "인증이 필요합니다.";
5422
+ message: "Authentication required.";
5379
5423
  errors: null;
5380
5424
  };
5381
5425
  };
@@ -5388,7 +5432,7 @@ interface operations {
5388
5432
  "application/json": {
5389
5433
  success: boolean;
5390
5434
  /** @enum {string} */
5391
- message: "주문을 찾을 수 없습니다.";
5435
+ message: "Order not found.";
5392
5436
  errors: null;
5393
5437
  } | {
5394
5438
  success: boolean;
@@ -5440,7 +5484,7 @@ interface operations {
5440
5484
  "application/json": {
5441
5485
  success: boolean;
5442
5486
  /** @enum {string} */
5443
- message: "인증이 필요합니다.";
5487
+ message: "Authentication required.";
5444
5488
  errors: null;
5445
5489
  };
5446
5490
  };
@@ -5453,7 +5497,7 @@ interface operations {
5453
5497
  "application/json": {
5454
5498
  success: boolean;
5455
5499
  /** @enum {string} */
5456
- message: "다운로드 링크를 찾을 수 없습니다.";
5500
+ message: "Download link not found.";
5457
5501
  errors: null;
5458
5502
  } | {
5459
5503
  success: boolean;
@@ -5522,7 +5566,7 @@ interface operations {
5522
5566
  "application/json": {
5523
5567
  success: boolean;
5524
5568
  /** @enum {string} */
5525
- message: "인증이 필요합니다.";
5569
+ message: "Authentication required.";
5526
5570
  errors: null;
5527
5571
  };
5528
5572
  };
@@ -5535,7 +5579,7 @@ interface operations {
5535
5579
  "application/json": {
5536
5580
  success: boolean;
5537
5581
  /** @enum {string} */
5538
- message: "다운로드 링크를 찾을 수 없습니다.";
5582
+ message: "Download link not found.";
5539
5583
  errors: null;
5540
5584
  } | {
5541
5585
  success: boolean;
@@ -5613,8 +5657,8 @@ interface operations {
5613
5657
  slug: string;
5614
5658
  description: string;
5615
5659
  fields: string | string[];
5616
- submit_button_text: string | "제출";
5617
- success_message: string | "제출되었습니다.";
5660
+ submit_button_text: string | "Submit";
5661
+ success_message: string | "Submitted successfully.";
5618
5662
  };
5619
5663
  };
5620
5664
  };
@@ -5761,7 +5805,7 @@ interface operations {
5761
5805
  message: "Form submitted successfully";
5762
5806
  data: {
5763
5807
  submission_id: number;
5764
- message: string | "제출되었습니다.";
5808
+ message: string | "Submitted successfully.";
5765
5809
  };
5766
5810
  };
5767
5811
  };
@@ -5837,7 +5881,7 @@ interface operations {
5837
5881
  "application/json": {
5838
5882
  success: boolean;
5839
5883
  /** @enum {string} */
5840
- message: "인증이 필요합니다.";
5884
+ message: "Authentication required.";
5841
5885
  errors: null;
5842
5886
  };
5843
5887
  };
@@ -5902,7 +5946,7 @@ interface operations {
5902
5946
  "application/json": {
5903
5947
  success: boolean;
5904
5948
  /** @enum {string} */
5905
- message: "인증이 필요합니다.";
5949
+ message: "Authentication required.";
5906
5950
  errors: null;
5907
5951
  };
5908
5952
  };
@@ -5915,7 +5959,7 @@ interface operations {
5915
5959
  "application/json": {
5916
5960
  success: boolean;
5917
5961
  /** @enum {string} */
5918
- message: "문의 내역을 찾을 수 없습니다.";
5962
+ message: "Inquiry not found.";
5919
5963
  errors: null;
5920
5964
  } | {
5921
5965
  success: boolean;
@@ -6273,7 +6317,7 @@ interface operations {
6273
6317
  "application/json": {
6274
6318
  success: boolean;
6275
6319
  /** @enum {string} */
6276
- message: "장바구니가 비어있습니다.";
6320
+ message: "Cart is empty.";
6277
6321
  errors: null;
6278
6322
  };
6279
6323
  };
@@ -6332,7 +6376,7 @@ interface operations {
6332
6376
  "application/json": {
6333
6377
  success: boolean;
6334
6378
  /** @enum {string} */
6335
- message: "인증이 필요합니다.";
6379
+ message: "Authentication required.";
6336
6380
  errors: null;
6337
6381
  };
6338
6382
  };
@@ -6408,7 +6452,7 @@ interface operations {
6408
6452
  } | {
6409
6453
  success: boolean;
6410
6454
  /** @enum {string} */
6411
- message: "장바구니가 비어있습니다.";
6455
+ message: "Cart is empty.";
6412
6456
  errors: null;
6413
6457
  };
6414
6458
  };
@@ -6421,7 +6465,7 @@ interface operations {
6421
6465
  "application/json": {
6422
6466
  success: boolean;
6423
6467
  /** @enum {string} */
6424
- message: "인증이 필요합니다.";
6468
+ message: "Authentication required.";
6425
6469
  errors: null;
6426
6470
  };
6427
6471
  };
@@ -6516,7 +6560,7 @@ interface operations {
6516
6560
  "application/json": {
6517
6561
  success: boolean;
6518
6562
  /** @enum {string} */
6519
- message: "인증이 필요합니다.";
6563
+ message: "Authentication required.";
6520
6564
  errors: null;
6521
6565
  };
6522
6566
  };
@@ -6529,7 +6573,7 @@ interface operations {
6529
6573
  "application/json": {
6530
6574
  success: boolean;
6531
6575
  /** @enum {string} */
6532
- message: "주문을 찾을 수 없습니다.";
6576
+ message: "Order not found.";
6533
6577
  errors: null;
6534
6578
  } | {
6535
6579
  success: boolean;
@@ -6585,7 +6629,7 @@ interface operations {
6585
6629
  "application/json": {
6586
6630
  success: boolean;
6587
6631
  /** @enum {string} */
6588
- message: "인증이 필요합니다.";
6632
+ message: "Authentication required.";
6589
6633
  errors: null;
6590
6634
  };
6591
6635
  };
@@ -6598,7 +6642,7 @@ interface operations {
6598
6642
  "application/json": {
6599
6643
  success: boolean;
6600
6644
  /** @enum {string} */
6601
- message: "주문을 찾을 수 없습니다.";
6645
+ message: "Order not found.";
6602
6646
  errors: null;
6603
6647
  } | {
6604
6648
  success: boolean;
@@ -6785,7 +6829,7 @@ interface operations {
6785
6829
  "application/json": {
6786
6830
  success: boolean;
6787
6831
  /** @enum {string} */
6788
- message: "이미 결제가 완료된 주문입니다.";
6832
+ message: "This order has already been paid.";
6789
6833
  errors: null;
6790
6834
  };
6791
6835
  };
@@ -6798,7 +6842,7 @@ interface operations {
6798
6842
  "application/json": {
6799
6843
  success: boolean;
6800
6844
  /** @enum {string} */
6801
- message: "인증이 필요합니다.";
6845
+ message: "Authentication required.";
6802
6846
  errors: null;
6803
6847
  };
6804
6848
  };
@@ -6811,7 +6855,7 @@ interface operations {
6811
6855
  "application/json": {
6812
6856
  success: boolean;
6813
6857
  /** @enum {string} */
6814
- message: "주문을 찾을 수 없습니다.";
6858
+ message: "Order not found.";
6815
6859
  errors: null;
6816
6860
  } | {
6817
6861
  success: boolean;
@@ -6869,7 +6913,7 @@ interface operations {
6869
6913
  } | {
6870
6914
  success: boolean;
6871
6915
  /** @enum {string} */
6872
- message: "결제 정보가 없습니다.";
6916
+ message: "No payment information found.";
6873
6917
  errors: null;
6874
6918
  };
6875
6919
  };
@@ -6882,7 +6926,7 @@ interface operations {
6882
6926
  "application/json": {
6883
6927
  success: boolean;
6884
6928
  /** @enum {string} */
6885
- message: "인증이 필요합니다.";
6929
+ message: "Authentication required.";
6886
6930
  errors: null;
6887
6931
  };
6888
6932
  };
@@ -6895,7 +6939,7 @@ interface operations {
6895
6939
  "application/json": {
6896
6940
  success: boolean;
6897
6941
  /** @enum {string} */
6898
- message: "주문을 찾을 수 없습니다.";
6942
+ message: "Order not found.";
6899
6943
  errors: null;
6900
6944
  } | {
6901
6945
  success: boolean;
@@ -6934,7 +6978,7 @@ interface operations {
6934
6978
  "application/json": {
6935
6979
  success: boolean;
6936
6980
  /** @enum {string} */
6937
- message: "가상계좌가 발급되었습니다.";
6981
+ message: "Virtual account has been issued.";
6938
6982
  data: {
6939
6983
  virtual_account: string;
6940
6984
  payment: {
@@ -6957,7 +7001,7 @@ interface operations {
6957
7001
  } | {
6958
7002
  success: boolean;
6959
7003
  /** @enum {string} */
6960
- message: "이미 결제가 완료된 주문입니다.";
7004
+ message: "This order has already been paid.";
6961
7005
  errors: null;
6962
7006
  };
6963
7007
  };
@@ -6970,7 +7014,7 @@ interface operations {
6970
7014
  "application/json": {
6971
7015
  success: boolean;
6972
7016
  /** @enum {string} */
6973
- message: "인증이 필요합니다.";
7017
+ message: "Authentication required.";
6974
7018
  errors: null;
6975
7019
  };
6976
7020
  };
@@ -6983,7 +7027,7 @@ interface operations {
6983
7027
  "application/json": {
6984
7028
  success: boolean;
6985
7029
  /** @enum {string} */
6986
- message: "주문을 찾을 수 없습니다.";
7030
+ message: "Order not found.";
6987
7031
  errors: null;
6988
7032
  } | {
6989
7033
  success: boolean;
@@ -7008,8 +7052,8 @@ interface operations {
7008
7052
  requestBody?: never;
7009
7053
  responses: {
7010
7054
  /**
7011
- * @description 토스 결제 성공 리다이렉트되는 URL
7012
- * 프론트엔드에서 paymentKey, orderId, amount 받아서 confirm API 호출
7055
+ * @description URL redirected to on Toss payment success
7056
+ * Frontend receives paymentKey, orderId, amount and calls confirm API
7013
7057
  */
7014
7058
  200: {
7015
7059
  headers: {
@@ -7019,7 +7063,7 @@ interface operations {
7019
7063
  "application/json": {
7020
7064
  success: boolean;
7021
7065
  /** @enum {string} */
7022
- message: "결제 정보를 확인해주세요.";
7066
+ message: "Please verify payment information.";
7023
7067
  data: {
7024
7068
  payment_key: string;
7025
7069
  order_id: string;
@@ -7061,7 +7105,7 @@ interface operations {
7061
7105
  content: {
7062
7106
  "application/json": {
7063
7107
  success: boolean;
7064
- message: string | "결제에 실패했습니다.";
7108
+ message: string | "Payment failed.";
7065
7109
  errors: {
7066
7110
  code: string;
7067
7111
  order_id: string;
@@ -7170,9 +7214,7 @@ interface operations {
7170
7214
  content: {
7171
7215
  "application/json": {
7172
7216
  order_number: string;
7173
- /** Format: uri */
7174
7217
  success_url: string;
7175
- /** Format: uri */
7176
7218
  cancel_url: string;
7177
7219
  };
7178
7220
  };
@@ -7192,7 +7234,7 @@ interface operations {
7192
7234
  message: string;
7193
7235
  } | {
7194
7236
  success: boolean;
7195
- checkout_url: string;
7237
+ url: string;
7196
7238
  session_id: string;
7197
7239
  publishable_key: string;
7198
7240
  } | {
@@ -7215,12 +7257,12 @@ interface operations {
7215
7257
  } | {
7216
7258
  success: boolean;
7217
7259
  /** @enum {string} */
7218
- message: "Stripe 결제가 설정되지 않았습니다.";
7260
+ message: "Stripe payment is not configured.";
7219
7261
  errors: null;
7220
7262
  } | {
7221
7263
  success: boolean;
7222
7264
  /** @enum {string} */
7223
- message: "이미 결제가 완료된 주문입니다.";
7265
+ message: "This order has already been paid.";
7224
7266
  errors: null;
7225
7267
  };
7226
7268
  };
@@ -7233,7 +7275,7 @@ interface operations {
7233
7275
  "application/json": {
7234
7276
  success: boolean;
7235
7277
  /** @enum {string} */
7236
- message: "인증이 필요합니다.";
7278
+ message: "Authentication required.";
7237
7279
  errors: null;
7238
7280
  };
7239
7281
  };
@@ -7246,7 +7288,7 @@ interface operations {
7246
7288
  "application/json": {
7247
7289
  success: boolean;
7248
7290
  /** @enum {string} */
7249
- message: "주문을 찾을 수 없습니다.";
7291
+ message: "Order not found.";
7250
7292
  errors: null;
7251
7293
  } | {
7252
7294
  success: boolean;
@@ -7313,12 +7355,12 @@ interface operations {
7313
7355
  } | {
7314
7356
  success: boolean;
7315
7357
  /** @enum {string} */
7316
- message: "Stripe 결제가 설정되지 않았습니다.";
7358
+ message: "Stripe payment is not configured.";
7317
7359
  errors: null;
7318
7360
  } | {
7319
7361
  success: boolean;
7320
7362
  /** @enum {string} */
7321
- message: "이미 결제가 완료된 주문입니다.";
7363
+ message: "This order has already been paid.";
7322
7364
  errors: null;
7323
7365
  };
7324
7366
  };
@@ -7331,7 +7373,7 @@ interface operations {
7331
7373
  "application/json": {
7332
7374
  success: boolean;
7333
7375
  /** @enum {string} */
7334
- message: "인증이 필요합니다.";
7376
+ message: "Authentication required.";
7335
7377
  errors: null;
7336
7378
  };
7337
7379
  };
@@ -7344,7 +7386,7 @@ interface operations {
7344
7386
  "application/json": {
7345
7387
  success: boolean;
7346
7388
  /** @enum {string} */
7347
- message: "주문을 찾을 수 없습니다.";
7389
+ message: "Order not found.";
7348
7390
  errors: null;
7349
7391
  } | {
7350
7392
  success: boolean;
@@ -7400,7 +7442,7 @@ interface operations {
7400
7442
  } | {
7401
7443
  success: boolean;
7402
7444
  /** @enum {string} */
7403
- message: "결제 정보가 없습니다.";
7445
+ message: "No payment information found.";
7404
7446
  errors: null;
7405
7447
  };
7406
7448
  };
@@ -7413,7 +7455,7 @@ interface operations {
7413
7455
  "application/json": {
7414
7456
  success: boolean;
7415
7457
  /** @enum {string} */
7416
- message: "인증이 필요합니다.";
7458
+ message: "Authentication required.";
7417
7459
  errors: null;
7418
7460
  };
7419
7461
  };
@@ -7426,7 +7468,7 @@ interface operations {
7426
7468
  "application/json": {
7427
7469
  success: boolean;
7428
7470
  /** @enum {string} */
7429
- message: "주문을 찾을 수 없습니다.";
7471
+ message: "Order not found.";
7430
7472
  errors: null;
7431
7473
  } | {
7432
7474
  success: boolean;
@@ -7623,7 +7665,7 @@ interface operations {
7623
7665
  min_price?: string;
7624
7666
  max_price?: string;
7625
7667
  search?: string;
7626
- /** @description 정렬 */
7668
+ /** @description Sort */
7627
7669
  sort?: string;
7628
7670
  per_page?: string;
7629
7671
  };
@@ -7823,7 +7865,7 @@ interface operations {
7823
7865
  } | {
7824
7866
  success: boolean;
7825
7867
  /** @enum {string} */
7826
- message: "번들 상품이 아닙니다.";
7868
+ message: "This is not a bundle product.";
7827
7869
  errors: null;
7828
7870
  };
7829
7871
  };
@@ -8694,7 +8736,7 @@ interface operations {
8694
8736
  /** @enum {string} */
8695
8737
  name: "Google";
8696
8738
  /** @enum {string} */
8697
- name_ko: "구글";
8739
+ name_ko: "Google";
8698
8740
  /** @enum {string} */
8699
8741
  color: "#4285F4";
8700
8742
  enabled: string;
@@ -8703,7 +8745,7 @@ interface operations {
8703
8745
  /** @enum {string} */
8704
8746
  name: "Kakao";
8705
8747
  /** @enum {string} */
8706
- name_ko: "카카오";
8748
+ name_ko: "Kakao";
8707
8749
  /** @enum {string} */
8708
8750
  color: "#FEE500";
8709
8751
  enabled: string;
@@ -8712,7 +8754,7 @@ interface operations {
8712
8754
  /** @enum {string} */
8713
8755
  name: "Naver";
8714
8756
  /** @enum {string} */
8715
- name_ko: "네이버";
8757
+ name_ko: "Naver";
8716
8758
  /** @enum {string} */
8717
8759
  color: "#03C75A";
8718
8760
  enabled: string;
@@ -8721,7 +8763,7 @@ interface operations {
8721
8763
  /** @enum {string} */
8722
8764
  name: "Facebook";
8723
8765
  /** @enum {string} */
8724
- name_ko: "페이스북";
8766
+ name_ko: "Facebook";
8725
8767
  /** @enum {string} */
8726
8768
  color: "#1877F2";
8727
8769
  enabled: string;
@@ -8730,7 +8772,7 @@ interface operations {
8730
8772
  /** @enum {string} */
8731
8773
  name: "Instagram";
8732
8774
  /** @enum {string} */
8733
- name_ko: "인스타그램";
8775
+ name_ko: "Instagram";
8734
8776
  /** @enum {string} */
8735
8777
  color: "#E4405F";
8736
8778
  enabled: string;
@@ -8739,7 +8781,7 @@ interface operations {
8739
8781
  /** @enum {string} */
8740
8782
  name: "GitHub";
8741
8783
  /** @enum {string} */
8742
- name_ko: "깃허브";
8784
+ name_ko: "GitHub";
8743
8785
  /** @enum {string} */
8744
8786
  color: "#181717";
8745
8787
  enabled: string;
@@ -8787,7 +8829,7 @@ interface operations {
8787
8829
  message: "Social auth URL generated";
8788
8830
  data: {
8789
8831
  provider: string;
8790
- auth_url: string;
8832
+ url: string;
8791
8833
  };
8792
8834
  };
8793
8835
  };
@@ -9222,7 +9264,7 @@ interface operations {
9222
9264
  "application/json": {
9223
9265
  success: boolean;
9224
9266
  /** @enum {string} */
9225
- message: "인증이 필요합니다.";
9267
+ message: "Authentication required.";
9226
9268
  errors: null;
9227
9269
  };
9228
9270
  };
@@ -9328,7 +9370,7 @@ interface operations {
9328
9370
  "application/json": {
9329
9371
  success: boolean;
9330
9372
  /** @enum {string} */
9331
- message: "인증이 필요합니다.";
9373
+ message: "Authentication required.";
9332
9374
  errors: null;
9333
9375
  };
9334
9376
  };
@@ -9341,7 +9383,7 @@ interface operations {
9341
9383
  "application/json": {
9342
9384
  success: boolean;
9343
9385
  /** @enum {string} */
9344
- message: "구독 플랜을 찾을 수 없습니다.";
9386
+ message: "Subscription plan not found.";
9345
9387
  errors: null;
9346
9388
  } | {
9347
9389
  success: boolean;
@@ -9421,7 +9463,7 @@ interface operations {
9421
9463
  "application/json": {
9422
9464
  success: boolean;
9423
9465
  /** @enum {string} */
9424
- message: "인증이 필요합니다.";
9466
+ message: "Authentication required.";
9425
9467
  errors: null;
9426
9468
  };
9427
9469
  };
@@ -9434,7 +9476,7 @@ interface operations {
9434
9476
  "application/json": {
9435
9477
  success: boolean;
9436
9478
  /** @enum {string} */
9437
- message: "구독을 찾을 수 없습니다.";
9479
+ message: "Subscription not found.";
9438
9480
  errors: null;
9439
9481
  } | {
9440
9482
  success: boolean;
@@ -9446,6 +9488,184 @@ interface operations {
9446
9488
  };
9447
9489
  };
9448
9490
  };
9491
+ "subscription.checkout": {
9492
+ parameters: {
9493
+ query?: never;
9494
+ header?: never;
9495
+ path: {
9496
+ tenant_id: string;
9497
+ };
9498
+ cookie?: never;
9499
+ };
9500
+ requestBody: {
9501
+ content: {
9502
+ "application/json": {
9503
+ plan_id: number;
9504
+ success_url: string;
9505
+ cancel_url: string;
9506
+ };
9507
+ };
9508
+ };
9509
+ responses: {
9510
+ 200: {
9511
+ headers: {
9512
+ [name: string]: unknown;
9513
+ };
9514
+ content: {
9515
+ "application/json": {
9516
+ success: boolean;
9517
+ /** @enum {string} */
9518
+ message: "Success";
9519
+ data: {
9520
+ url: string;
9521
+ session_id: string;
9522
+ };
9523
+ };
9524
+ };
9525
+ };
9526
+ 400: {
9527
+ headers: {
9528
+ [name: string]: unknown;
9529
+ };
9530
+ content: {
9531
+ "application/json": {
9532
+ success: boolean;
9533
+ message: string;
9534
+ errors: null;
9535
+ } | {
9536
+ success: boolean;
9537
+ /** @enum {string} */
9538
+ message: "This plan is not configured for Stripe payment.";
9539
+ errors: null;
9540
+ };
9541
+ };
9542
+ };
9543
+ 401: {
9544
+ headers: {
9545
+ [name: string]: unknown;
9546
+ };
9547
+ content: {
9548
+ "application/json": {
9549
+ success: boolean;
9550
+ /** @enum {string} */
9551
+ message: "Authentication required.";
9552
+ errors: null;
9553
+ };
9554
+ };
9555
+ };
9556
+ 404: {
9557
+ headers: {
9558
+ [name: string]: unknown;
9559
+ };
9560
+ content: {
9561
+ "application/json": {
9562
+ success: boolean;
9563
+ /** @enum {string} */
9564
+ message: "Subscription plan not found.";
9565
+ errors: null;
9566
+ } | {
9567
+ success: boolean;
9568
+ /** @enum {string} */
9569
+ message: "Tenant not found";
9570
+ errors: null;
9571
+ };
9572
+ };
9573
+ };
9574
+ 422: components["responses"]["ValidationException"];
9575
+ };
9576
+ };
9577
+ "subscription.verify": {
9578
+ parameters: {
9579
+ query?: never;
9580
+ header?: never;
9581
+ path: {
9582
+ tenant_id: string;
9583
+ };
9584
+ cookie?: never;
9585
+ };
9586
+ requestBody: {
9587
+ content: {
9588
+ "application/json": {
9589
+ session_id: string;
9590
+ };
9591
+ };
9592
+ };
9593
+ responses: {
9594
+ 200: {
9595
+ headers: {
9596
+ [name: string]: unknown;
9597
+ };
9598
+ content: {
9599
+ "application/json": {
9600
+ success: boolean;
9601
+ /** @enum {string} */
9602
+ message: "Success";
9603
+ data: {
9604
+ subscription: {
9605
+ id: string;
9606
+ product: {
9607
+ id: number;
9608
+ name: string;
9609
+ slug: string;
9610
+ thumbnail: string | null;
9611
+ } | null;
9612
+ plan: {
9613
+ id: number;
9614
+ name: string | null;
9615
+ interval: string;
9616
+ interval_count: number;
9617
+ interval_label: string;
9618
+ price: string;
9619
+ price_display: string;
9620
+ trial_days: number;
9621
+ features: unknown[] | null;
9622
+ } | null;
9623
+ status: string;
9624
+ status_label: string;
9625
+ current_price: string;
9626
+ is_active: boolean;
9627
+ on_trial: boolean;
9628
+ is_canceled: boolean;
9629
+ is_paused: boolean;
9630
+ days_until_renewal: string;
9631
+ trial_ends_at: string;
9632
+ current_period_start: string;
9633
+ current_period_end: string;
9634
+ canceled_at: string;
9635
+ created_at: string;
9636
+ };
9637
+ };
9638
+ };
9639
+ };
9640
+ };
9641
+ 400: {
9642
+ headers: {
9643
+ [name: string]: unknown;
9644
+ };
9645
+ content: {
9646
+ "application/json": {
9647
+ success: boolean;
9648
+ message: string;
9649
+ errors: null;
9650
+ };
9651
+ };
9652
+ };
9653
+ 404: {
9654
+ headers: {
9655
+ [name: string]: unknown;
9656
+ };
9657
+ content: {
9658
+ "application/json": {
9659
+ success: boolean;
9660
+ /** @enum {string} */
9661
+ message: "Tenant not found";
9662
+ errors: null;
9663
+ };
9664
+ };
9665
+ };
9666
+ 422: components["responses"]["ValidationException"];
9667
+ };
9668
+ };
9449
9669
  "subscription.cancel": {
9450
9670
  parameters: {
9451
9671
  query?: never;
@@ -9509,7 +9729,7 @@ interface operations {
9509
9729
  created_at: string;
9510
9730
  };
9511
9731
  /** @enum {string} */
9512
- message: "구독이 즉시 취소되었습니다." | "구독이 현재 결제 기간 종료 취소됩니다.";
9732
+ message: "Subscription has been cancelled immediately." | "Subscription will be cancelled at the end of the current billing period.";
9513
9733
  };
9514
9734
  };
9515
9735
  };
@@ -9526,7 +9746,7 @@ interface operations {
9526
9746
  } | {
9527
9747
  success: boolean;
9528
9748
  /** @enum {string} */
9529
- message: "이미 취소되었거나 만료된 구독입니다.";
9749
+ message: "Subscription is already cancelled or expired.";
9530
9750
  errors: null;
9531
9751
  };
9532
9752
  };
@@ -9539,7 +9759,7 @@ interface operations {
9539
9759
  "application/json": {
9540
9760
  success: boolean;
9541
9761
  /** @enum {string} */
9542
- message: "인증이 필요합니다.";
9762
+ message: "Authentication required.";
9543
9763
  errors: null;
9544
9764
  };
9545
9765
  };
@@ -9552,7 +9772,7 @@ interface operations {
9552
9772
  "application/json": {
9553
9773
  success: boolean;
9554
9774
  /** @enum {string} */
9555
- message: "구독을 찾을 수 없습니다.";
9775
+ message: "Subscription not found.";
9556
9776
  errors: null;
9557
9777
  } | {
9558
9778
  success: boolean;
@@ -9620,7 +9840,7 @@ interface operations {
9620
9840
  created_at: string;
9621
9841
  };
9622
9842
  /** @enum {string} */
9623
- message: "구독이 일시정지되었습니다.";
9843
+ message: "Subscription has been paused.";
9624
9844
  };
9625
9845
  };
9626
9846
  };
@@ -9637,7 +9857,7 @@ interface operations {
9637
9857
  } | {
9638
9858
  success: boolean;
9639
9859
  /** @enum {string} */
9640
- message: "활성 상태인 구독만 일시정지할 있습니다.";
9860
+ message: "Only active subscriptions can be paused.";
9641
9861
  errors: null;
9642
9862
  };
9643
9863
  };
@@ -9650,7 +9870,7 @@ interface operations {
9650
9870
  "application/json": {
9651
9871
  success: boolean;
9652
9872
  /** @enum {string} */
9653
- message: "인증이 필요합니다.";
9873
+ message: "Authentication required.";
9654
9874
  errors: null;
9655
9875
  };
9656
9876
  };
@@ -9663,7 +9883,7 @@ interface operations {
9663
9883
  "application/json": {
9664
9884
  success: boolean;
9665
9885
  /** @enum {string} */
9666
- message: "구독을 찾을 수 없습니다.";
9886
+ message: "Subscription not found.";
9667
9887
  errors: null;
9668
9888
  } | {
9669
9889
  success: boolean;
@@ -9731,7 +9951,7 @@ interface operations {
9731
9951
  created_at: string;
9732
9952
  };
9733
9953
  /** @enum {string} */
9734
- message: "구독이 재개되었습니다.";
9954
+ message: "Subscription has been resumed.";
9735
9955
  };
9736
9956
  };
9737
9957
  };
@@ -9748,7 +9968,7 @@ interface operations {
9748
9968
  } | {
9749
9969
  success: boolean;
9750
9970
  /** @enum {string} */
9751
- message: "일시정지 상태인 구독만 재개할 있습니다.";
9971
+ message: "Only paused subscriptions can be resumed.";
9752
9972
  errors: null;
9753
9973
  };
9754
9974
  };
@@ -9761,7 +9981,7 @@ interface operations {
9761
9981
  "application/json": {
9762
9982
  success: boolean;
9763
9983
  /** @enum {string} */
9764
- message: "인증이 필요합니다.";
9984
+ message: "Authentication required.";
9765
9985
  errors: null;
9766
9986
  };
9767
9987
  };
@@ -9774,7 +9994,7 @@ interface operations {
9774
9994
  "application/json": {
9775
9995
  success: boolean;
9776
9996
  /** @enum {string} */
9777
- message: "구독을 찾을 수 없습니다.";
9997
+ message: "Subscription not found.";
9778
9998
  errors: null;
9779
9999
  } | {
9780
10000
  success: boolean;
@@ -9832,7 +10052,7 @@ interface operations {
9832
10052
  "application/json": {
9833
10053
  success: boolean;
9834
10054
  /** @enum {string} */
9835
- message: "인증이 필요합니다.";
10055
+ message: "Authentication required.";
9836
10056
  errors: null;
9837
10057
  };
9838
10058
  };
@@ -9890,7 +10110,7 @@ interface operations {
9890
10110
  "application/json": {
9891
10111
  success: boolean;
9892
10112
  /** @enum {string} */
9893
- message: "인증이 필요합니다.";
10113
+ message: "Authentication required.";
9894
10114
  errors: null;
9895
10115
  };
9896
10116
  };
@@ -9937,7 +10157,7 @@ interface operations {
9937
10157
  "application/json": {
9938
10158
  success: boolean;
9939
10159
  /** @enum {string} */
9940
- message: "위시리스트에 추가되었습니다.";
10160
+ message: "Added to wishlist.";
9941
10161
  data: {
9942
10162
  id: number;
9943
10163
  product_id: number;
@@ -9955,7 +10175,7 @@ interface operations {
9955
10175
  "application/json": {
9956
10176
  success: boolean;
9957
10177
  /** @enum {string} */
9958
- message: "인증이 필요합니다.";
10178
+ message: "Authentication required.";
9959
10179
  errors: null;
9960
10180
  };
9961
10181
  };
@@ -9968,7 +10188,7 @@ interface operations {
9968
10188
  "application/json": {
9969
10189
  success: boolean;
9970
10190
  /** @enum {string} */
9971
- message: "상품을 찾을 수 없습니다.";
10191
+ message: "Product not found.";
9972
10192
  errors: null;
9973
10193
  } | {
9974
10194
  success: boolean;
@@ -10007,7 +10227,7 @@ interface operations {
10007
10227
  "application/json": {
10008
10228
  success: boolean;
10009
10229
  /** @enum {string} */
10010
- message: "메모가 업데이트되었습니다.";
10230
+ message: "Memo has been updated.";
10011
10231
  data: {
10012
10232
  id: string;
10013
10233
  note: string;
@@ -10023,7 +10243,7 @@ interface operations {
10023
10243
  "application/json": {
10024
10244
  success: boolean;
10025
10245
  /** @enum {string} */
10026
- message: "인증이 필요합니다.";
10246
+ message: "Authentication required.";
10027
10247
  errors: null;
10028
10248
  };
10029
10249
  };
@@ -10036,7 +10256,7 @@ interface operations {
10036
10256
  "application/json": {
10037
10257
  success: boolean;
10038
10258
  /** @enum {string} */
10039
- message: "위시리스트 항목을 찾을 수 없습니다.";
10259
+ message: "Wishlist item not found.";
10040
10260
  errors: null;
10041
10261
  } | {
10042
10262
  success: boolean;
@@ -10069,7 +10289,7 @@ interface operations {
10069
10289
  "application/json": {
10070
10290
  success: boolean;
10071
10291
  /** @enum {string} */
10072
- message: "위시리스트에서 제거되었습니다.";
10292
+ message: "Removed from wishlist.";
10073
10293
  data: {
10074
10294
  in_wishlist: boolean;
10075
10295
  };
@@ -10084,7 +10304,7 @@ interface operations {
10084
10304
  "application/json": {
10085
10305
  success: boolean;
10086
10306
  /** @enum {string} */
10087
- message: "인증이 필요합니다.";
10307
+ message: "Authentication required.";
10088
10308
  errors: null;
10089
10309
  };
10090
10310
  };
@@ -10097,7 +10317,7 @@ interface operations {
10097
10317
  "application/json": {
10098
10318
  success: boolean;
10099
10319
  /** @enum {string} */
10100
- message: "위시리스트 항목을 찾을 수 없습니다.";
10320
+ message: "Wishlist item not found.";
10101
10321
  errors: null;
10102
10322
  } | {
10103
10323
  success: boolean;
@@ -10135,7 +10355,7 @@ interface operations {
10135
10355
  "application/json": {
10136
10356
  success: boolean;
10137
10357
  /** @enum {string} */
10138
- message: "위시리스트에 추가되었습니다." | "위시리스트에서 제거되었습니다.";
10358
+ message: "Added to wishlist." | "Removed from wishlist.";
10139
10359
  data: {
10140
10360
  /** @enum {string} */
10141
10361
  action: "added";
@@ -10156,7 +10376,7 @@ interface operations {
10156
10376
  "application/json": {
10157
10377
  success: boolean;
10158
10378
  /** @enum {string} */
10159
- message: "인증이 필요합니다.";
10379
+ message: "Authentication required.";
10160
10380
  errors: null;
10161
10381
  };
10162
10382
  };
@@ -10169,7 +10389,7 @@ interface operations {
10169
10389
  "application/json": {
10170
10390
  success: boolean;
10171
10391
  /** @enum {string} */
10172
- message: "상품을 찾을 수 없습니다.";
10392
+ message: "Product not found.";
10173
10393
  errors: null;
10174
10394
  } | {
10175
10395
  success: boolean;
@@ -10392,7 +10612,7 @@ interface operations {
10392
10612
  "application/json": {
10393
10613
  success: boolean;
10394
10614
  /** @enum {string} */
10395
- message: "인증이 필요합니다.";
10615
+ message: "Authentication required.";
10396
10616
  errors: null;
10397
10617
  };
10398
10618
  };
@@ -10448,7 +10668,7 @@ interface operations {
10448
10668
  "application/json": {
10449
10669
  success: boolean;
10450
10670
  /** @enum {string} */
10451
- message: "상품을 찾을 수 없습니다.";
10671
+ message: "Product not found.";
10452
10672
  errors: null;
10453
10673
  } | {
10454
10674
  success: boolean;
@@ -11350,6 +11570,7 @@ declare class HttpClient {
11350
11570
  getBaseUrl(): string;
11351
11571
  /**
11352
11572
  * Get the download URL for a digital file
11573
+ * Includes auth_token query parameter for authentication
11353
11574
  */
11354
11575
  getDownloadUrl(token: string): string;
11355
11576
  /**
@@ -11950,6 +12171,27 @@ declare class ShopResource {
11950
12171
  * Requires authentication
11951
12172
  */
11952
12173
  createSetupIntent(): Promise<SetupIntentResult>;
12174
+ /**
12175
+ * Create Stripe Checkout Session for subscription
12176
+ * Redirects to Stripe Checkout page
12177
+ * Requires authentication
12178
+ */
12179
+ createSubscriptionCheckout(data: {
12180
+ plan_id: number;
12181
+ success_url: string;
12182
+ cancel_url: string;
12183
+ }): Promise<{
12184
+ url: string;
12185
+ session_id: string;
12186
+ }>;
12187
+ /**
12188
+ * Verify Stripe Checkout Session for subscription
12189
+ * Call after returning from Stripe Checkout
12190
+ * Requires authentication
12191
+ */
12192
+ verifySubscriptionCheckout(session_id: string): Promise<{
12193
+ subscription: MemberSubscription;
12194
+ }>;
11953
12195
  /**
11954
12196
  * Get bundle items and pricing
11955
12197
  * Returns all products in the bundle with calculated pricing