@kasuvia/sdk 0.0.8 → 0.0.9
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/README.md +42 -15
- package/dist/AddressAutocomplete-CjcqPElD.d.mts +46 -0
- package/dist/AddressAutocomplete-CvJHuRkf.d.ts +46 -0
- package/dist/components/index.d.mts +497 -0
- package/dist/components/index.d.ts +497 -0
- package/dist/components/index.js +4217 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +4194 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/config/server.d.mts +26 -0
- package/dist/config/server.d.ts +26 -0
- package/dist/config/server.js +38 -0
- package/dist/config/server.js.map +1 -0
- package/dist/config/server.mjs +13 -0
- package/dist/config/server.mjs.map +1 -0
- package/dist/hooks/index.d.mts +393 -160
- package/dist/hooks/index.d.ts +393 -160
- package/dist/hooks/index.js +2792 -2137
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +2734 -2121
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index-CNW_LINy.d.mts +578 -0
- package/dist/index-CNW_LINy.d.ts +578 -0
- package/dist/{index-C1chUA3P.d.mts → index-F7N6UItS.d.mts} +1 -1
- package/dist/{index-C1chUA3P.d.ts → index-F7N6UItS.d.ts} +1 -1
- package/dist/index-NkI10J_E.d.mts +40 -0
- package/dist/index-NkI10J_E.d.ts +40 -0
- package/dist/index.d.mts +20437 -103
- package/dist/index.d.ts +20437 -103
- package/dist/index.js +2111 -1802
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2006 -1786
- package/dist/index.mjs.map +1 -1
- package/dist/media.service-Cx7dQjzX.d.mts +1393 -0
- package/dist/media.service-mrBFJ2UQ.d.ts +1393 -0
- package/dist/services/index.d.mts +908 -2
- package/dist/services/index.d.ts +908 -2
- package/dist/services/index.js +1492 -1686
- package/dist/services/index.js.map +1 -1
- package/dist/services/index.mjs +1431 -1670
- package/dist/services/index.mjs.map +1 -1
- package/package.json +46 -6
- package/src/components/bespoke/BespokeAvailabilityBadge.tsx +32 -0
- package/src/components/bespoke/BespokeProgressTracker.tsx +58 -0
- package/src/components/bespoke/index.ts +3 -0
- package/src/components/booking/SlotPicker.tsx +97 -0
- package/src/components/booking/index.ts +1 -0
- package/src/components/cart/CartItem.tsx +81 -0
- package/src/components/cart/CartSidebar.tsx +115 -0
- package/src/components/cart/CartTypeMismatchBanner.tsx +55 -0
- package/src/components/cart/index.ts +3 -0
- package/src/components/index.ts +8 -0
- package/src/components/orders/DeliverableReviewer.tsx +139 -0
- package/src/components/orders/index.ts +1 -0
- package/src/components/product/ProductCard.tsx +350 -0
- package/src/components/product/ProductGrid.tsx +84 -0
- package/src/components/product/index.ts +2 -0
- package/src/components/shared/AddressAutocomplete.tsx +212 -0
- package/src/components/shared/AnalyticsScripts.tsx +56 -0
- package/src/components/shared/CookieConsentBanner.tsx +98 -0
- package/src/components/shared/ImageEditorModal.tsx +1066 -0
- package/src/components/shared/ImageViewerModal.tsx +598 -0
- package/src/components/shared/LucideReactIcon.tsx +52 -0
- package/src/components/shared/MapPinDrop.tsx +101 -0
- package/src/components/shared/MultiSelectPicker.tsx +193 -0
- package/src/components/shared/OfflineBanner.tsx +46 -0
- package/src/components/shared/SearchableInput.tsx +153 -0
- package/src/components/shared/SearchablePopover.tsx +166 -0
- package/src/components/shared/SmartImage.tsx +311 -0
- package/src/components/shared/TruncatedValue.tsx +27 -0
- package/src/components/shared/UnsavedChangesGuard.tsx +138 -0
- package/src/components/shared/index.ts +15 -0
- package/src/components/skeletons/CardSkeleton.tsx +26 -0
- package/src/components/skeletons/CartItemSkeleton.tsx +26 -0
- package/src/components/skeletons/OrderItemSkeleton.tsx +26 -0
- package/src/components/skeletons/ProductCardSkeleton.tsx +26 -0
- package/src/components/skeletons/TableSkeleton.tsx +42 -0
- package/src/components/skeletons/index.ts +5 -0
- package/src/config/index.ts +22 -4
- package/src/config/server.ts +45 -0
- package/src/context/sdk-context.tsx +5 -2
- package/src/generated/auth-openapi.ts +2935 -0
- package/src/generated/cart-openapi.ts +652 -0
- package/src/generated/cms-openapi.ts +1668 -0
- package/src/generated/crm-openapi.ts +986 -0
- package/src/generated/graphql.ts +126 -0
- package/src/generated/index.ts +11 -0
- package/src/generated/media-openapi.ts +613 -0
- package/src/generated/notification-openapi.ts +862 -0
- package/src/generated/payment-openapi.ts +2713 -0
- package/src/generated/store-openapi.ts +9510 -0
- package/src/graphql/operations/collections.graphql +32 -0
- package/src/graphql/operations/products.graphql +197 -0
- package/src/graphql/operations/wishlist.graphql +25 -0
- package/src/hooks/index.ts +9 -2
- package/src/hooks/use-auth.ts +163 -69
- package/src/hooks/use-bespoke-availability.ts +39 -22
- package/src/hooks/use-business-config.ts +51 -0
- package/src/hooks/use-cart.ts +310 -238
- package/src/hooks/use-cms.ts +107 -127
- package/src/hooks/use-collections.ts +35 -55
- package/src/hooks/use-consultations.ts +9 -136
- package/src/hooks/use-countries.ts +19 -28
- package/src/hooks/use-currencies.ts +8 -20
- package/src/hooks/use-customer-address.ts +64 -0
- package/src/hooks/use-feedback.ts +34 -0
- package/src/hooks/use-languages.ts +26 -39
- package/src/hooks/use-media-upload.ts +23 -0
- package/src/hooks/use-notification-stream.ts +88 -0
- package/src/hooks/use-notifications.ts +163 -0
- package/src/hooks/use-order-stream.ts +29 -29
- package/src/hooks/use-orders.ts +91 -73
- package/src/hooks/use-payment.ts +116 -84
- package/src/hooks/use-products.ts +65 -269
- package/src/hooks/use-push-notifications.ts +122 -0
- package/src/hooks/use-reviews.ts +175 -0
- package/src/hooks/use-service-booking.ts +109 -132
- package/src/hooks/use-states.ts +16 -30
- package/src/hooks/use-wishlist.ts +44 -69
- package/src/index.ts +15 -11
- package/src/services/auth.service.ts +422 -132
- package/src/services/bespoke.service.ts +69 -10
- package/src/services/cart.service.ts +155 -186
- package/src/services/cms.service.ts +41 -50
- package/src/services/collection.service.ts +25 -63
- package/src/services/config.service.ts +10 -21
- package/src/services/consultation.service.ts +36 -93
- package/src/services/feedback.service.ts +76 -0
- package/src/services/index.ts +7 -1
- package/src/services/legal.service.ts +62 -0
- package/src/services/logistics.service.ts +235 -53
- package/src/services/media.service.ts +115 -0
- package/src/services/notifications.service.ts +204 -20
- package/src/services/order.service.ts +498 -127
- package/src/services/payment.service.ts +149 -100
- package/src/services/product.service.ts +157 -814
- package/src/services/review.service.ts +211 -0
- package/src/services/service-booking.service.ts +198 -99
- package/src/services/wishlist.service.ts +27 -74
- package/src/types/auth/index.ts +161 -18
- package/src/types/business/index.ts +9 -1
- package/src/types/cms/index.ts +91 -6
- package/src/types/cms/legal.ts +18 -0
- package/src/types/consultations/index.ts +60 -68
- package/src/types/index.ts +5 -3
- package/src/types/media/index.ts +35 -3
- package/src/types/payments/index.ts +80 -16
- package/src/types/reviews/index.ts +116 -0
- package/src/types/services/index.ts +113 -38
- package/src/types/store/checkout.ts +53 -0
- package/src/types/store/index.ts +273 -52
- package/src/types/store/invoice.ts +31 -0
- package/src/types/store/shipping.ts +84 -3
- package/src/types/ui/index.ts +1 -1
- package/src/utils/checkout.ts +19 -3
- package/src/utils/cookieConsent.ts +34 -0
- package/src/utils/format.ts +408 -0
- package/src/utils/geolocation.ts +134 -0
- package/src/utils/graphql-url.ts +47 -0
- package/src/utils/guest-session.ts +59 -0
- package/src/utils/http-client.ts +147 -0
- package/src/utils/index.ts +11 -4
- package/src/utils/status-colors.ts +79 -0
- package/src/utils/token-refresh.ts +115 -0
- package/src/utils/validators.ts +13 -0
- package/src/utils/youtube.ts +18 -0
- package/dist/index-C5YO9gTl.d.mts +0 -507
- package/dist/index-C5YO9gTl.d.ts +0 -507
- package/dist/index-CefG7_xq.d.mts +0 -793
- package/dist/index-DeHCf3zI.d.ts +0 -793
- package/src/graphql/collections.graphql.ts +0 -48
- package/src/graphql/index.ts +0 -7
- package/src/graphql/products.graphql.ts +0 -860
- package/src/graphql/wishlist.graphql.ts +0 -34
- package/src/hooks/use-consultation-stream.ts +0 -142
- package/src/types/bespoke/index.ts +0 -39
|
@@ -0,0 +1,2935 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface paths {
|
|
7
|
+
"/api/v1/auth/2fa/verify/": {
|
|
8
|
+
parameters: {
|
|
9
|
+
query?: never;
|
|
10
|
+
header?: never;
|
|
11
|
+
path?: never;
|
|
12
|
+
cookie?: never;
|
|
13
|
+
};
|
|
14
|
+
get?: never;
|
|
15
|
+
put?: never;
|
|
16
|
+
/** @description Verify the second factor (TOTP, PIN, Email, or Backup code). */
|
|
17
|
+
post: operations["v1_auth_2fa_verify_create"];
|
|
18
|
+
delete?: never;
|
|
19
|
+
options?: never;
|
|
20
|
+
head?: never;
|
|
21
|
+
patch?: never;
|
|
22
|
+
trace?: never;
|
|
23
|
+
};
|
|
24
|
+
"/api/v1/auth/business-types/": {
|
|
25
|
+
parameters: {
|
|
26
|
+
query?: never;
|
|
27
|
+
header?: never;
|
|
28
|
+
path?: never;
|
|
29
|
+
cookie?: never;
|
|
30
|
+
};
|
|
31
|
+
/** @description GET /auth/business-types/ — List active business categories. */
|
|
32
|
+
get: operations["v1_auth_business_types_retrieve"];
|
|
33
|
+
put?: never;
|
|
34
|
+
post?: never;
|
|
35
|
+
delete?: never;
|
|
36
|
+
options?: never;
|
|
37
|
+
head?: never;
|
|
38
|
+
patch?: never;
|
|
39
|
+
trace?: never;
|
|
40
|
+
};
|
|
41
|
+
"/api/v1/auth/businesses/{business_id}/": {
|
|
42
|
+
parameters: {
|
|
43
|
+
query?: never;
|
|
44
|
+
header?: never;
|
|
45
|
+
path?: never;
|
|
46
|
+
cookie?: never;
|
|
47
|
+
};
|
|
48
|
+
/** @description GET/PUT/PATCH /auth/businesses/<id>/ — Manage a specific business. */
|
|
49
|
+
get: operations["v1_auth_businesses_retrieve"];
|
|
50
|
+
put?: never;
|
|
51
|
+
post?: never;
|
|
52
|
+
/**
|
|
53
|
+
* @description Deactivate a business — never an instant hard-delete (see
|
|
54
|
+
* Business.delete's own docstring for why: cross-service data in
|
|
55
|
+
* kasuvia-store-management/kasuvia-payment-system-go/kasuvia-media-
|
|
56
|
+
* system would be orphaned with zero warning, and the Privacy Policy
|
|
57
|
+
* itself promises real retention periods this platform must honor).
|
|
58
|
+
* Starts a real, reversible grace period — see deactivated_at/
|
|
59
|
+
* scheduled_deletion_at on the model, and POST .../reactivate/ below.
|
|
60
|
+
*
|
|
61
|
+
* REAL GAPS FIXED (see this session's account-deactivation review):
|
|
62
|
+
* this used to (a) never publish any event at all, so no other
|
|
63
|
+
* service could react, and (b) have no path back — no reactivate
|
|
64
|
+
* endpoint existed anywhere, and the business became invisible even
|
|
65
|
+
* to its own owner the instant this ran (see _get_business's
|
|
66
|
+
* include_inactive fix); and (c) run on a single bare API call with
|
|
67
|
+
* no confirmation of any kind — see require_destructive_confirmation
|
|
68
|
+
* below.
|
|
69
|
+
*/
|
|
70
|
+
delete: operations["v1_auth_businesses_destroy"];
|
|
71
|
+
options?: never;
|
|
72
|
+
head?: never;
|
|
73
|
+
/** @description GET/PUT/PATCH /auth/businesses/<id>/ — Manage a specific business. */
|
|
74
|
+
patch: operations["v1_auth_businesses_partial_update"];
|
|
75
|
+
trace?: never;
|
|
76
|
+
};
|
|
77
|
+
"/api/v1/auth/businesses/{business_id}/customers/": {
|
|
78
|
+
parameters: {
|
|
79
|
+
query?: never;
|
|
80
|
+
header?: never;
|
|
81
|
+
path?: never;
|
|
82
|
+
cookie?: never;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* @description GET /auth/businesses/<business_id>/customers/ — List business customers.
|
|
86
|
+
*
|
|
87
|
+
* The <business_id> URL segment exists for REST readability only. The
|
|
88
|
+
* business context actually used is always the caller's own, taken from
|
|
89
|
+
* their authenticated JWT (`business_uuid` claim, the internal UUID) —
|
|
90
|
+
* never from client-suppliable input. This matches the corrected pattern in
|
|
91
|
+
* StaffInviteView (see feedback_kasuvia_business_id_vs_bid): an
|
|
92
|
+
* owner/staff endpoint must not let a client point it at an arbitrary
|
|
93
|
+
* business by editing the URL.
|
|
94
|
+
*/
|
|
95
|
+
get: operations["v1_auth_businesses_customers_retrieve"];
|
|
96
|
+
put?: never;
|
|
97
|
+
post?: never;
|
|
98
|
+
delete?: never;
|
|
99
|
+
options?: never;
|
|
100
|
+
head?: never;
|
|
101
|
+
patch?: never;
|
|
102
|
+
trace?: never;
|
|
103
|
+
};
|
|
104
|
+
"/api/v1/auth/businesses/{business_id}/customers/{customer_id}/": {
|
|
105
|
+
parameters: {
|
|
106
|
+
query?: never;
|
|
107
|
+
header?: never;
|
|
108
|
+
path?: never;
|
|
109
|
+
cookie?: never;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* @description GET /auth/businesses/<business_id>/customers/<customer_id>/ — Fetch one
|
|
113
|
+
* business customer by id.
|
|
114
|
+
*
|
|
115
|
+
* Added (2026-09-16, kasuvia/ connectivity audit): no dedicated single-
|
|
116
|
+
* customer endpoint existed before this — kasuvia/'s getBusinessCustomer()
|
|
117
|
+
* was fetching the entire (default page-size, page-1-only) customer list
|
|
118
|
+
* and searching client-side, which was both wasteful AND actually broken
|
|
119
|
+
* for any business with more than one page of customers (a customer past
|
|
120
|
+
* page 1 silently looked "not found"). Mirrors CustomerListView's own
|
|
121
|
+
* business-resolution/authorization logic exactly (kept as its own copy
|
|
122
|
+
* rather than refactoring that existing, working view to share it — see
|
|
123
|
+
* CLAUDE.md's no-rewrite-without-request rule).
|
|
124
|
+
*/
|
|
125
|
+
get: operations["v1_auth_businesses_customers_retrieve_2"];
|
|
126
|
+
put?: never;
|
|
127
|
+
post?: never;
|
|
128
|
+
delete?: never;
|
|
129
|
+
options?: never;
|
|
130
|
+
head?: never;
|
|
131
|
+
patch?: never;
|
|
132
|
+
trace?: never;
|
|
133
|
+
};
|
|
134
|
+
"/api/v1/auth/businesses/{business_id}/reactivate/": {
|
|
135
|
+
parameters: {
|
|
136
|
+
query?: never;
|
|
137
|
+
header?: never;
|
|
138
|
+
path?: never;
|
|
139
|
+
cookie?: never;
|
|
140
|
+
};
|
|
141
|
+
get?: never;
|
|
142
|
+
put?: never;
|
|
143
|
+
/**
|
|
144
|
+
* @description POST /auth/businesses/<business_id>/reactivate/ — REAL GAP FIXED: no
|
|
145
|
+
* reactivate endpoint existed anywhere; a deactivated business had no way
|
|
146
|
+
* back at all. Owner/admin only, same permission shape as
|
|
147
|
+
* BusinessDetailView.delete. Real-world equivalent of Shopify "reopen your
|
|
148
|
+
* store" — reverses deactivation cleanly as long as the grace period
|
|
149
|
+
* hasn't already been consumed by the scheduled hard-delete sweep (see
|
|
150
|
+
* purge_deactivated_businesses).
|
|
151
|
+
*/
|
|
152
|
+
post: operations["v1_auth_businesses_reactivate_create"];
|
|
153
|
+
delete?: never;
|
|
154
|
+
options?: never;
|
|
155
|
+
head?: never;
|
|
156
|
+
patch?: never;
|
|
157
|
+
trace?: never;
|
|
158
|
+
};
|
|
159
|
+
"/api/v1/auth/businesses/{business_id}/storefront-key/": {
|
|
160
|
+
parameters: {
|
|
161
|
+
query?: never;
|
|
162
|
+
header?: never;
|
|
163
|
+
path?: never;
|
|
164
|
+
cookie?: never;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* @description GET/POST /auth/businesses/<id>/storefront-key/
|
|
168
|
+
* Retrieves or regenerates the public storefront API key.
|
|
169
|
+
*/
|
|
170
|
+
get: operations["v1_auth_businesses_storefront_key_retrieve"];
|
|
171
|
+
put?: never;
|
|
172
|
+
/** @description Generate or regenerate the API key. Shown once, in this response only. */
|
|
173
|
+
post: operations["v1_auth_businesses_storefront_key_create"];
|
|
174
|
+
/**
|
|
175
|
+
* @description Revoke the current storefront API key immediately, without issuing a
|
|
176
|
+
* replacement. Every service validates this key live (no caching that
|
|
177
|
+
* would delay revocation — see get_storefront_identity in each
|
|
178
|
+
* service's app/core/security/base.py), so the very next request using
|
|
179
|
+
* this key is rejected. To restore storefront access, POST to this
|
|
180
|
+
* same endpoint to rotate in a fresh key.
|
|
181
|
+
*/
|
|
182
|
+
delete: operations["v1_auth_businesses_storefront_key_destroy"];
|
|
183
|
+
options?: never;
|
|
184
|
+
head?: never;
|
|
185
|
+
patch?: never;
|
|
186
|
+
trace?: never;
|
|
187
|
+
};
|
|
188
|
+
"/api/v1/auth/change-password/": {
|
|
189
|
+
parameters: {
|
|
190
|
+
query?: never;
|
|
191
|
+
header?: never;
|
|
192
|
+
path?: never;
|
|
193
|
+
cookie?: never;
|
|
194
|
+
};
|
|
195
|
+
get?: never;
|
|
196
|
+
put?: never;
|
|
197
|
+
/** @description Change password for authenticated user. */
|
|
198
|
+
post: operations["v1_auth_change_password_create"];
|
|
199
|
+
delete?: never;
|
|
200
|
+
options?: never;
|
|
201
|
+
head?: never;
|
|
202
|
+
patch?: never;
|
|
203
|
+
trace?: never;
|
|
204
|
+
};
|
|
205
|
+
"/api/v1/auth/confirm-reactivate/": {
|
|
206
|
+
parameters: {
|
|
207
|
+
query?: never;
|
|
208
|
+
header?: never;
|
|
209
|
+
path?: never;
|
|
210
|
+
cookie?: never;
|
|
211
|
+
};
|
|
212
|
+
get?: never;
|
|
213
|
+
put?: never;
|
|
214
|
+
post: operations["v1_auth_confirm_reactivate_create"];
|
|
215
|
+
delete?: never;
|
|
216
|
+
options?: never;
|
|
217
|
+
head?: never;
|
|
218
|
+
patch?: never;
|
|
219
|
+
trace?: never;
|
|
220
|
+
};
|
|
221
|
+
"/api/v1/auth/countries/": {
|
|
222
|
+
parameters: {
|
|
223
|
+
query?: never;
|
|
224
|
+
header?: never;
|
|
225
|
+
path?: never;
|
|
226
|
+
cookie?: never;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* @description Get all supported countries.
|
|
230
|
+
*
|
|
231
|
+
* Returns:
|
|
232
|
+
* List of countries with name, ISO code, dialing code, and minimum age for business ownership.
|
|
233
|
+
*/
|
|
234
|
+
get: operations["v1_auth_countries_retrieve"];
|
|
235
|
+
put?: never;
|
|
236
|
+
post?: never;
|
|
237
|
+
delete?: never;
|
|
238
|
+
options?: never;
|
|
239
|
+
head?: never;
|
|
240
|
+
patch?: never;
|
|
241
|
+
trace?: never;
|
|
242
|
+
};
|
|
243
|
+
"/api/v1/auth/countries/{iso_code}/states/": {
|
|
244
|
+
parameters: {
|
|
245
|
+
query?: never;
|
|
246
|
+
header?: never;
|
|
247
|
+
path?: never;
|
|
248
|
+
cookie?: never;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* @description Get all states/subdivisions for a given country's ISO code.
|
|
252
|
+
*
|
|
253
|
+
* Returns:
|
|
254
|
+
* List of states with name, short code, full ISO-3166-2 code, and subdivision type.
|
|
255
|
+
*/
|
|
256
|
+
get: operations["v1_auth_countries_states_retrieve"];
|
|
257
|
+
put?: never;
|
|
258
|
+
post?: never;
|
|
259
|
+
delete?: never;
|
|
260
|
+
options?: never;
|
|
261
|
+
head?: never;
|
|
262
|
+
patch?: never;
|
|
263
|
+
trace?: never;
|
|
264
|
+
};
|
|
265
|
+
"/api/v1/auth/customer/deactivate/": {
|
|
266
|
+
parameters: {
|
|
267
|
+
query?: never;
|
|
268
|
+
header?: never;
|
|
269
|
+
path?: never;
|
|
270
|
+
cookie?: never;
|
|
271
|
+
};
|
|
272
|
+
get?: never;
|
|
273
|
+
put?: never;
|
|
274
|
+
/**
|
|
275
|
+
* @description POST /auth/customer/deactivate/ — Real gap fixed (see account-
|
|
276
|
+
* deactivation review): CustomerProfile.is_active existed but nothing
|
|
277
|
+
* ever wrote False to it. Self-service only, mirrors the User-level
|
|
278
|
+
* DeactivateAccountView's shape, minus _check_business_constraints
|
|
279
|
+
* (owner-only concern, meaningless for a customer identity).
|
|
280
|
+
*
|
|
281
|
+
* KasuviaJWTAuthentication._get_customer_user re-fetches CustomerProfile
|
|
282
|
+
* with is_active=True on every request, not just at login — so this
|
|
283
|
+
* single write immediately invalidates this customer's session (this
|
|
284
|
+
* very request's response is the last thing their current token can do)
|
|
285
|
+
* and blocks future login, with no separate token-revocation step needed.
|
|
286
|
+
*/
|
|
287
|
+
post: operations["v1_auth_customer_deactivate_create"];
|
|
288
|
+
delete?: never;
|
|
289
|
+
options?: never;
|
|
290
|
+
head?: never;
|
|
291
|
+
patch?: never;
|
|
292
|
+
trace?: never;
|
|
293
|
+
};
|
|
294
|
+
"/api/v1/auth/customer/reactivate/": {
|
|
295
|
+
parameters: {
|
|
296
|
+
query?: never;
|
|
297
|
+
header?: never;
|
|
298
|
+
path?: never;
|
|
299
|
+
cookie?: never;
|
|
300
|
+
};
|
|
301
|
+
get?: never;
|
|
302
|
+
put?: never;
|
|
303
|
+
/**
|
|
304
|
+
* @description POST /auth/customer/reactivate/ — Request a reactivation OTP for a
|
|
305
|
+
* deactivated customer account, scoped to one business (a customer
|
|
306
|
+
* identity is per-business — see plan: Customer Identity Decoupling).
|
|
307
|
+
* Unauthenticated by necessity: a deactivated customer cannot obtain a
|
|
308
|
+
* valid token to hit an authenticated endpoint in the first place.
|
|
309
|
+
*/
|
|
310
|
+
post: operations["v1_auth_customer_reactivate_create"];
|
|
311
|
+
delete?: never;
|
|
312
|
+
options?: never;
|
|
313
|
+
head?: never;
|
|
314
|
+
patch?: never;
|
|
315
|
+
trace?: never;
|
|
316
|
+
};
|
|
317
|
+
"/api/v1/auth/customer/reactivate/verify/": {
|
|
318
|
+
parameters: {
|
|
319
|
+
query?: never;
|
|
320
|
+
header?: never;
|
|
321
|
+
path?: never;
|
|
322
|
+
cookie?: never;
|
|
323
|
+
};
|
|
324
|
+
get?: never;
|
|
325
|
+
put?: never;
|
|
326
|
+
/** @description POST /auth/customer/reactivate/verify/ — Verify a customer reactivation OTP and restore the account. */
|
|
327
|
+
post: operations["v1_auth_customer_reactivate_verify_create"];
|
|
328
|
+
delete?: never;
|
|
329
|
+
options?: never;
|
|
330
|
+
head?: never;
|
|
331
|
+
patch?: never;
|
|
332
|
+
trace?: never;
|
|
333
|
+
};
|
|
334
|
+
"/api/v1/auth/deactivate/": {
|
|
335
|
+
parameters: {
|
|
336
|
+
query?: never;
|
|
337
|
+
header?: never;
|
|
338
|
+
path?: never;
|
|
339
|
+
cookie?: never;
|
|
340
|
+
};
|
|
341
|
+
get?: never;
|
|
342
|
+
put?: never;
|
|
343
|
+
/**
|
|
344
|
+
* @description POST /auth/deactivate/ — deactivates the CALLER'S OWN LOGIN (User.is_active),
|
|
345
|
+
* never a business. See DangerSection.tsx's own history for the exact mixup
|
|
346
|
+
* this must never be confused with again: the frontend used to point "Deactivate
|
|
347
|
+
* Store" at this endpoint, locking the owner out of their own dashboard while
|
|
348
|
+
* the storefront stayed fully live and still taking orders.
|
|
349
|
+
*
|
|
350
|
+
* REAL GAP FIXED (see account-deactivation review): this used to run on a
|
|
351
|
+
* single bare POST with no confirmation of any kind — the exact same "a
|
|
352
|
+
* compromised session or mis-wired button could trigger it" risk that
|
|
353
|
+
* require_destructive_confirmation was built for business deactivation. Now
|
|
354
|
+
* uses the identical two-step pattern.
|
|
355
|
+
*/
|
|
356
|
+
post: operations["v1_auth_deactivate_create"];
|
|
357
|
+
delete?: never;
|
|
358
|
+
options?: never;
|
|
359
|
+
head?: never;
|
|
360
|
+
patch?: never;
|
|
361
|
+
trace?: never;
|
|
362
|
+
};
|
|
363
|
+
"/api/v1/auth/forgot-password/": {
|
|
364
|
+
parameters: {
|
|
365
|
+
query?: never;
|
|
366
|
+
header?: never;
|
|
367
|
+
path?: never;
|
|
368
|
+
cookie?: never;
|
|
369
|
+
};
|
|
370
|
+
get?: never;
|
|
371
|
+
put?: never;
|
|
372
|
+
post: operations["v1_auth_forgot_password_create"];
|
|
373
|
+
delete?: never;
|
|
374
|
+
options?: never;
|
|
375
|
+
head?: never;
|
|
376
|
+
patch?: never;
|
|
377
|
+
trace?: never;
|
|
378
|
+
};
|
|
379
|
+
"/api/v1/auth/forgot-password/customer/": {
|
|
380
|
+
parameters: {
|
|
381
|
+
query?: never;
|
|
382
|
+
header?: never;
|
|
383
|
+
path?: never;
|
|
384
|
+
cookie?: never;
|
|
385
|
+
};
|
|
386
|
+
get?: never;
|
|
387
|
+
put?: never;
|
|
388
|
+
/**
|
|
389
|
+
* @description POST /auth/forgot-password/customer/ — Request a password-reset OTP for
|
|
390
|
+
* a customer account, scoped to one business (a customer identity is
|
|
391
|
+
* fully decoupled/per-business — see plan: Customer Identity Decoupling).
|
|
392
|
+
* Issued regardless of whether the customer currently has a password set
|
|
393
|
+
* (a social/passwordless-only customer can use this to add password login).
|
|
394
|
+
*/
|
|
395
|
+
post: operations["v1_auth_forgot_password_customer_create"];
|
|
396
|
+
delete?: never;
|
|
397
|
+
options?: never;
|
|
398
|
+
head?: never;
|
|
399
|
+
patch?: never;
|
|
400
|
+
trace?: never;
|
|
401
|
+
};
|
|
402
|
+
"/api/v1/auth/login/business/": {
|
|
403
|
+
parameters: {
|
|
404
|
+
query?: never;
|
|
405
|
+
header?: never;
|
|
406
|
+
path?: never;
|
|
407
|
+
cookie?: never;
|
|
408
|
+
};
|
|
409
|
+
get?: never;
|
|
410
|
+
put?: never;
|
|
411
|
+
/** @description POST /auth/login/business/ — Authenticate a business owner. */
|
|
412
|
+
post: operations["v1_auth_login_business_create"];
|
|
413
|
+
delete?: never;
|
|
414
|
+
options?: never;
|
|
415
|
+
head?: never;
|
|
416
|
+
patch?: never;
|
|
417
|
+
trace?: never;
|
|
418
|
+
};
|
|
419
|
+
"/api/v1/auth/login/customer/": {
|
|
420
|
+
parameters: {
|
|
421
|
+
query?: never;
|
|
422
|
+
header?: never;
|
|
423
|
+
path?: never;
|
|
424
|
+
cookie?: never;
|
|
425
|
+
};
|
|
426
|
+
get?: never;
|
|
427
|
+
put?: never;
|
|
428
|
+
/** @description POST /auth/login/customer/ — Authenticate a customer for a specific storefront. */
|
|
429
|
+
post: operations["v1_auth_login_customer_create"];
|
|
430
|
+
delete?: never;
|
|
431
|
+
options?: never;
|
|
432
|
+
head?: never;
|
|
433
|
+
patch?: never;
|
|
434
|
+
trace?: never;
|
|
435
|
+
};
|
|
436
|
+
"/api/v1/auth/login/customer/passwordless/request/": {
|
|
437
|
+
parameters: {
|
|
438
|
+
query?: never;
|
|
439
|
+
header?: never;
|
|
440
|
+
path?: never;
|
|
441
|
+
cookie?: never;
|
|
442
|
+
};
|
|
443
|
+
get?: never;
|
|
444
|
+
put?: never;
|
|
445
|
+
/**
|
|
446
|
+
* @description POST /auth/login/customer/passwordless/request/ — Send a one-time login
|
|
447
|
+
* code to a customer's email for a specific storefront (Shopify-style
|
|
448
|
+
* passwordless login).
|
|
449
|
+
*
|
|
450
|
+
* The OTP is keyed by (business, email) directly in Redis — not by any
|
|
451
|
+
* persisted row. No CustomerProfile is created until the code is actually
|
|
452
|
+
* verified, so an abandoned passwordless request never leaves behind a
|
|
453
|
+
* permanent, password-less profile that would block a later password-based
|
|
454
|
+
* register for the same email (see plan: Customer Identity Decoupling).
|
|
455
|
+
* Keying by business too (the previous global-User-pk key had no business
|
|
456
|
+
* scoping at all) keeps concurrent requests for the same email at
|
|
457
|
+
* different storefronts from overwriting each other's pending code.
|
|
458
|
+
*/
|
|
459
|
+
post: operations["v1_auth_login_customer_passwordless_request_create"];
|
|
460
|
+
delete?: never;
|
|
461
|
+
options?: never;
|
|
462
|
+
head?: never;
|
|
463
|
+
patch?: never;
|
|
464
|
+
trace?: never;
|
|
465
|
+
};
|
|
466
|
+
"/api/v1/auth/login/customer/passwordless/verify/": {
|
|
467
|
+
parameters: {
|
|
468
|
+
query?: never;
|
|
469
|
+
header?: never;
|
|
470
|
+
path?: never;
|
|
471
|
+
cookie?: never;
|
|
472
|
+
};
|
|
473
|
+
get?: never;
|
|
474
|
+
put?: never;
|
|
475
|
+
/**
|
|
476
|
+
* @description POST /auth/login/customer/passwordless/verify/ — Verify a customer's
|
|
477
|
+
* one-time login code and issue tokens, auto-provisioning their
|
|
478
|
+
* CustomerProfile on first successful login for this storefront (same
|
|
479
|
+
* pattern as SocialTokenVerifyView). A customer's identity IS this
|
|
480
|
+
* CustomerProfile — fully decoupled from any global User row (see plan:
|
|
481
|
+
* Customer Identity Decoupling).
|
|
482
|
+
*/
|
|
483
|
+
post: operations["v1_auth_login_customer_passwordless_verify_create"];
|
|
484
|
+
delete?: never;
|
|
485
|
+
options?: never;
|
|
486
|
+
head?: never;
|
|
487
|
+
patch?: never;
|
|
488
|
+
trace?: never;
|
|
489
|
+
};
|
|
490
|
+
"/api/v1/auth/logout/": {
|
|
491
|
+
parameters: {
|
|
492
|
+
query?: never;
|
|
493
|
+
header?: never;
|
|
494
|
+
path?: never;
|
|
495
|
+
cookie?: never;
|
|
496
|
+
};
|
|
497
|
+
get?: never;
|
|
498
|
+
put?: never;
|
|
499
|
+
/** @description Blacklists the refresh token and clears auth cookies. */
|
|
500
|
+
post: operations["v1_auth_logout_create"];
|
|
501
|
+
delete?: never;
|
|
502
|
+
options?: never;
|
|
503
|
+
head?: never;
|
|
504
|
+
patch?: never;
|
|
505
|
+
trace?: never;
|
|
506
|
+
};
|
|
507
|
+
"/api/v1/auth/media/{media_id}/": {
|
|
508
|
+
parameters: {
|
|
509
|
+
query?: never;
|
|
510
|
+
header?: never;
|
|
511
|
+
path?: never;
|
|
512
|
+
cookie?: never;
|
|
513
|
+
};
|
|
514
|
+
get?: never;
|
|
515
|
+
put?: never;
|
|
516
|
+
post?: never;
|
|
517
|
+
/** @description DELETE /auth/media/<media_id>/ — delete a media asset. */
|
|
518
|
+
delete: operations["v1_auth_media_destroy"];
|
|
519
|
+
options?: never;
|
|
520
|
+
head?: never;
|
|
521
|
+
patch?: never;
|
|
522
|
+
trace?: never;
|
|
523
|
+
};
|
|
524
|
+
"/api/v1/auth/media/confirm-upload/": {
|
|
525
|
+
parameters: {
|
|
526
|
+
query?: never;
|
|
527
|
+
header?: never;
|
|
528
|
+
path?: never;
|
|
529
|
+
cookie?: never;
|
|
530
|
+
};
|
|
531
|
+
get?: never;
|
|
532
|
+
put?: never;
|
|
533
|
+
/**
|
|
534
|
+
* @description POST /auth/media/confirm-upload/ — confirm a completed direct-to-R2 upload.
|
|
535
|
+
*
|
|
536
|
+
* Params arrive as a query string with a null body (media-upload.core.ts
|
|
537
|
+
* sends both presigned-url and confirm-upload the same way) — must read
|
|
538
|
+
* request.query_params, not request.data (the JSON body), which is always
|
|
539
|
+
* empty for these calls.
|
|
540
|
+
*/
|
|
541
|
+
post: operations["v1_auth_media_confirm_upload_create"];
|
|
542
|
+
delete?: never;
|
|
543
|
+
options?: never;
|
|
544
|
+
head?: never;
|
|
545
|
+
patch?: never;
|
|
546
|
+
trace?: never;
|
|
547
|
+
};
|
|
548
|
+
"/api/v1/auth/media/presigned-url/": {
|
|
549
|
+
parameters: {
|
|
550
|
+
query?: never;
|
|
551
|
+
header?: never;
|
|
552
|
+
path?: never;
|
|
553
|
+
cookie?: never;
|
|
554
|
+
};
|
|
555
|
+
get?: never;
|
|
556
|
+
put?: never;
|
|
557
|
+
/**
|
|
558
|
+
* @description POST /auth/media/presigned-url/ — presigned PUT URL for direct client upload to R2.
|
|
559
|
+
*
|
|
560
|
+
* POST (not GET) to match the shared frontend upload client
|
|
561
|
+
* (media-upload.core.ts) and every other service's media proxy — params are
|
|
562
|
+
* still sent as a query string, not a JSON body.
|
|
563
|
+
*/
|
|
564
|
+
post: operations["v1_auth_media_presigned_url_create"];
|
|
565
|
+
delete?: never;
|
|
566
|
+
options?: never;
|
|
567
|
+
head?: never;
|
|
568
|
+
patch?: never;
|
|
569
|
+
trace?: never;
|
|
570
|
+
};
|
|
571
|
+
"/api/v1/auth/mfa/setup/backup-codes/": {
|
|
572
|
+
parameters: {
|
|
573
|
+
query?: never;
|
|
574
|
+
header?: never;
|
|
575
|
+
path?: never;
|
|
576
|
+
cookie?: never;
|
|
577
|
+
};
|
|
578
|
+
get?: never;
|
|
579
|
+
put?: never;
|
|
580
|
+
/** @description Generate and return new backup codes. */
|
|
581
|
+
post: operations["v1_auth_mfa_setup_backup_codes_create"];
|
|
582
|
+
delete?: never;
|
|
583
|
+
options?: never;
|
|
584
|
+
head?: never;
|
|
585
|
+
patch?: never;
|
|
586
|
+
trace?: never;
|
|
587
|
+
};
|
|
588
|
+
"/api/v1/auth/mfa/setup/pin/": {
|
|
589
|
+
parameters: {
|
|
590
|
+
query?: never;
|
|
591
|
+
header?: never;
|
|
592
|
+
path?: never;
|
|
593
|
+
cookie?: never;
|
|
594
|
+
};
|
|
595
|
+
get?: never;
|
|
596
|
+
put?: never;
|
|
597
|
+
/** @description Set or update the security PIN. */
|
|
598
|
+
post: operations["v1_auth_mfa_setup_pin_create"];
|
|
599
|
+
/** @description Set or update the security PIN. */
|
|
600
|
+
delete: operations["v1_auth_mfa_setup_pin_destroy"];
|
|
601
|
+
options?: never;
|
|
602
|
+
head?: never;
|
|
603
|
+
patch?: never;
|
|
604
|
+
trace?: never;
|
|
605
|
+
};
|
|
606
|
+
"/api/v1/auth/mfa/setup/totp/": {
|
|
607
|
+
parameters: {
|
|
608
|
+
query?: never;
|
|
609
|
+
header?: never;
|
|
610
|
+
path?: never;
|
|
611
|
+
cookie?: never;
|
|
612
|
+
};
|
|
613
|
+
/** @description View to initiate and complete MFA setup (TOTP). */
|
|
614
|
+
get: operations["v1_auth_mfa_setup_totp_retrieve"];
|
|
615
|
+
put?: never;
|
|
616
|
+
/** @description View to initiate and complete MFA setup (TOTP). */
|
|
617
|
+
post: operations["v1_auth_mfa_setup_totp_create"];
|
|
618
|
+
delete?: never;
|
|
619
|
+
options?: never;
|
|
620
|
+
head?: never;
|
|
621
|
+
patch?: never;
|
|
622
|
+
trace?: never;
|
|
623
|
+
};
|
|
624
|
+
"/api/v1/auth/profile/": {
|
|
625
|
+
parameters: {
|
|
626
|
+
query?: never;
|
|
627
|
+
header?: never;
|
|
628
|
+
path?: never;
|
|
629
|
+
cookie?: never;
|
|
630
|
+
};
|
|
631
|
+
/** @description Get or update current user profile. */
|
|
632
|
+
get: operations["v1_auth_profile_retrieve"];
|
|
633
|
+
/** @description Get or update current user profile. */
|
|
634
|
+
put: operations["v1_auth_profile_update"];
|
|
635
|
+
post?: never;
|
|
636
|
+
delete?: never;
|
|
637
|
+
options?: never;
|
|
638
|
+
head?: never;
|
|
639
|
+
patch?: never;
|
|
640
|
+
trace?: never;
|
|
641
|
+
};
|
|
642
|
+
"/api/v1/auth/profile/addresses/": {
|
|
643
|
+
parameters: {
|
|
644
|
+
query?: never;
|
|
645
|
+
header?: never;
|
|
646
|
+
path?: never;
|
|
647
|
+
cookie?: never;
|
|
648
|
+
};
|
|
649
|
+
/**
|
|
650
|
+
* @description GET /auth/profile/addresses/ — list the calling customer's saved addresses.
|
|
651
|
+
* POST /auth/profile/addresses/ — add a new saved address.
|
|
652
|
+
*
|
|
653
|
+
* REAL GAP FIXED (2026-09-22): CustomerProfile.address_book has existed as
|
|
654
|
+
* a JSONField since this model was built, but no endpoint anywhere ever
|
|
655
|
+
* wrote to it or validated its shape (see InternalCustomerContactView's own
|
|
656
|
+
* comment: "nothing here writes or validates it") — kasuvia-storefront's
|
|
657
|
+
* dashboard "Saved Addresses" tab was, as a direct result, fully local mock
|
|
658
|
+
* state with no real backend at all. This is the real, validated write path
|
|
659
|
+
* that field was always missing.
|
|
660
|
+
*/
|
|
661
|
+
get: operations["v1_auth_profile_addresses_retrieve"];
|
|
662
|
+
put?: never;
|
|
663
|
+
/**
|
|
664
|
+
* @description GET /auth/profile/addresses/ — list the calling customer's saved addresses.
|
|
665
|
+
* POST /auth/profile/addresses/ — add a new saved address.
|
|
666
|
+
*
|
|
667
|
+
* REAL GAP FIXED (2026-09-22): CustomerProfile.address_book has existed as
|
|
668
|
+
* a JSONField since this model was built, but no endpoint anywhere ever
|
|
669
|
+
* wrote to it or validated its shape (see InternalCustomerContactView's own
|
|
670
|
+
* comment: "nothing here writes or validates it") — kasuvia-storefront's
|
|
671
|
+
* dashboard "Saved Addresses" tab was, as a direct result, fully local mock
|
|
672
|
+
* state with no real backend at all. This is the real, validated write path
|
|
673
|
+
* that field was always missing.
|
|
674
|
+
*/
|
|
675
|
+
post: operations["v1_auth_profile_addresses_create"];
|
|
676
|
+
delete?: never;
|
|
677
|
+
options?: never;
|
|
678
|
+
head?: never;
|
|
679
|
+
patch?: never;
|
|
680
|
+
trace?: never;
|
|
681
|
+
};
|
|
682
|
+
"/api/v1/auth/profile/addresses/{address_id}/": {
|
|
683
|
+
parameters: {
|
|
684
|
+
query?: never;
|
|
685
|
+
header?: never;
|
|
686
|
+
path?: never;
|
|
687
|
+
cookie?: never;
|
|
688
|
+
};
|
|
689
|
+
get?: never;
|
|
690
|
+
put?: never;
|
|
691
|
+
post?: never;
|
|
692
|
+
/**
|
|
693
|
+
* @description PATCH /auth/profile/addresses/{address_id}/ — update one saved address.
|
|
694
|
+
* DELETE /auth/profile/addresses/{address_id}/ — remove one saved address.
|
|
695
|
+
*/
|
|
696
|
+
delete: operations["v1_auth_profile_addresses_destroy"];
|
|
697
|
+
options?: never;
|
|
698
|
+
head?: never;
|
|
699
|
+
/**
|
|
700
|
+
* @description PATCH /auth/profile/addresses/{address_id}/ — update one saved address.
|
|
701
|
+
* DELETE /auth/profile/addresses/{address_id}/ — remove one saved address.
|
|
702
|
+
*/
|
|
703
|
+
patch: operations["v1_auth_profile_addresses_partial_update"];
|
|
704
|
+
trace?: never;
|
|
705
|
+
};
|
|
706
|
+
"/api/v1/auth/reactivate/": {
|
|
707
|
+
parameters: {
|
|
708
|
+
query?: never;
|
|
709
|
+
header?: never;
|
|
710
|
+
path?: never;
|
|
711
|
+
cookie?: never;
|
|
712
|
+
};
|
|
713
|
+
get?: never;
|
|
714
|
+
put?: never;
|
|
715
|
+
post: operations["v1_auth_reactivate_create"];
|
|
716
|
+
delete?: never;
|
|
717
|
+
options?: never;
|
|
718
|
+
head?: never;
|
|
719
|
+
patch?: never;
|
|
720
|
+
trace?: never;
|
|
721
|
+
};
|
|
722
|
+
"/api/v1/auth/register/business/": {
|
|
723
|
+
parameters: {
|
|
724
|
+
query?: never;
|
|
725
|
+
header?: never;
|
|
726
|
+
path?: never;
|
|
727
|
+
cookie?: never;
|
|
728
|
+
};
|
|
729
|
+
get?: never;
|
|
730
|
+
put?: never;
|
|
731
|
+
/** @description POST /auth/register/business/ — Create a new business owner account. */
|
|
732
|
+
post: operations["v1_auth_register_business_create"];
|
|
733
|
+
delete?: never;
|
|
734
|
+
options?: never;
|
|
735
|
+
head?: never;
|
|
736
|
+
patch?: never;
|
|
737
|
+
trace?: never;
|
|
738
|
+
};
|
|
739
|
+
"/api/v1/auth/register/customer/": {
|
|
740
|
+
parameters: {
|
|
741
|
+
query?: never;
|
|
742
|
+
header?: never;
|
|
743
|
+
path?: never;
|
|
744
|
+
cookie?: never;
|
|
745
|
+
};
|
|
746
|
+
get?: never;
|
|
747
|
+
put?: never;
|
|
748
|
+
/** @description POST /auth/register/customer/ — Register a customer for a specific storefront. */
|
|
749
|
+
post: operations["v1_auth_register_customer_create"];
|
|
750
|
+
delete?: never;
|
|
751
|
+
options?: never;
|
|
752
|
+
head?: never;
|
|
753
|
+
patch?: never;
|
|
754
|
+
trace?: never;
|
|
755
|
+
};
|
|
756
|
+
"/api/v1/auth/resend-otp/": {
|
|
757
|
+
parameters: {
|
|
758
|
+
query?: never;
|
|
759
|
+
header?: never;
|
|
760
|
+
path?: never;
|
|
761
|
+
cookie?: never;
|
|
762
|
+
};
|
|
763
|
+
get?: never;
|
|
764
|
+
put?: never;
|
|
765
|
+
post: operations["v1_auth_resend_otp_create"];
|
|
766
|
+
delete?: never;
|
|
767
|
+
options?: never;
|
|
768
|
+
head?: never;
|
|
769
|
+
patch?: never;
|
|
770
|
+
trace?: never;
|
|
771
|
+
};
|
|
772
|
+
"/api/v1/auth/reset-password/": {
|
|
773
|
+
parameters: {
|
|
774
|
+
query?: never;
|
|
775
|
+
header?: never;
|
|
776
|
+
path?: never;
|
|
777
|
+
cookie?: never;
|
|
778
|
+
};
|
|
779
|
+
get?: never;
|
|
780
|
+
put?: never;
|
|
781
|
+
post: operations["v1_auth_reset_password_create"];
|
|
782
|
+
delete?: never;
|
|
783
|
+
options?: never;
|
|
784
|
+
head?: never;
|
|
785
|
+
patch?: never;
|
|
786
|
+
trace?: never;
|
|
787
|
+
};
|
|
788
|
+
"/api/v1/auth/reset-password/customer/": {
|
|
789
|
+
parameters: {
|
|
790
|
+
query?: never;
|
|
791
|
+
header?: never;
|
|
792
|
+
path?: never;
|
|
793
|
+
cookie?: never;
|
|
794
|
+
};
|
|
795
|
+
get?: never;
|
|
796
|
+
put?: never;
|
|
797
|
+
/** @description POST /auth/reset-password/customer/ — Verify a customer password-reset OTP and set a new password. */
|
|
798
|
+
post: operations["v1_auth_reset_password_customer_create"];
|
|
799
|
+
delete?: never;
|
|
800
|
+
options?: never;
|
|
801
|
+
head?: never;
|
|
802
|
+
patch?: never;
|
|
803
|
+
trace?: never;
|
|
804
|
+
};
|
|
805
|
+
"/api/v1/auth/sessions/": {
|
|
806
|
+
parameters: {
|
|
807
|
+
query?: never;
|
|
808
|
+
header?: never;
|
|
809
|
+
path?: never;
|
|
810
|
+
cookie?: never;
|
|
811
|
+
};
|
|
812
|
+
/** @description List active JWT sessions for the current user, paginated. */
|
|
813
|
+
get: operations["v1_auth_sessions_retrieve"];
|
|
814
|
+
put?: never;
|
|
815
|
+
post?: never;
|
|
816
|
+
delete?: never;
|
|
817
|
+
options?: never;
|
|
818
|
+
head?: never;
|
|
819
|
+
patch?: never;
|
|
820
|
+
trace?: never;
|
|
821
|
+
};
|
|
822
|
+
"/api/v1/auth/sessions/business/": {
|
|
823
|
+
parameters: {
|
|
824
|
+
query?: never;
|
|
825
|
+
header?: never;
|
|
826
|
+
path?: never;
|
|
827
|
+
cookie?: never;
|
|
828
|
+
};
|
|
829
|
+
/**
|
|
830
|
+
* @description GET /auth/sessions/business/?identity_type=staff|customer&page=&page_size=
|
|
831
|
+
* Owner-only. Lists active sessions for every staff member or customer of
|
|
832
|
+
* the caller's business — paginated over the identity population (staff
|
|
833
|
+
* or customer rows, an indexed DB query) rather than raw session count,
|
|
834
|
+
* since Redis has no native cross-identity session index to page over
|
|
835
|
+
* directly. Each page item is one identity plus however many active
|
|
836
|
+
* sessions they currently have (0 or more).
|
|
837
|
+
*/
|
|
838
|
+
get: operations["v1_auth_sessions_business_retrieve"];
|
|
839
|
+
put?: never;
|
|
840
|
+
post?: never;
|
|
841
|
+
delete?: never;
|
|
842
|
+
options?: never;
|
|
843
|
+
head?: never;
|
|
844
|
+
patch?: never;
|
|
845
|
+
trace?: never;
|
|
846
|
+
};
|
|
847
|
+
"/api/v1/auth/sessions/business/revoke/": {
|
|
848
|
+
parameters: {
|
|
849
|
+
query?: never;
|
|
850
|
+
header?: never;
|
|
851
|
+
path?: never;
|
|
852
|
+
cookie?: never;
|
|
853
|
+
};
|
|
854
|
+
get?: never;
|
|
855
|
+
put?: never;
|
|
856
|
+
/**
|
|
857
|
+
* @description POST /auth/sessions/business/revoke/
|
|
858
|
+
* Body: { identity_type: "staff"|"customer", identity_id: "<uuid>", jti: "<jti>" }
|
|
859
|
+
* Owner-only. Revokes one specific session belonging to a named staff
|
|
860
|
+
* member or customer of the caller's business — e.g. responding to a
|
|
861
|
+
* compromised staff/customer account. Verifies the identity actually
|
|
862
|
+
* belongs to this business (tenant-scoped lookup) before revoking, so an
|
|
863
|
+
* owner can never revoke a session belonging to a different business.
|
|
864
|
+
*/
|
|
865
|
+
post: operations["v1_auth_sessions_business_revoke_create"];
|
|
866
|
+
delete?: never;
|
|
867
|
+
options?: never;
|
|
868
|
+
head?: never;
|
|
869
|
+
patch?: never;
|
|
870
|
+
trace?: never;
|
|
871
|
+
};
|
|
872
|
+
"/api/v1/auth/sessions/revoke/": {
|
|
873
|
+
parameters: {
|
|
874
|
+
query?: never;
|
|
875
|
+
header?: never;
|
|
876
|
+
path?: never;
|
|
877
|
+
cookie?: never;
|
|
878
|
+
};
|
|
879
|
+
get?: never;
|
|
880
|
+
put?: never;
|
|
881
|
+
/** @description Revoke a specific session, identified by its jti (see SessionListView's response). */
|
|
882
|
+
post: operations["v1_auth_sessions_revoke_create"];
|
|
883
|
+
delete?: never;
|
|
884
|
+
options?: never;
|
|
885
|
+
head?: never;
|
|
886
|
+
patch?: never;
|
|
887
|
+
trace?: never;
|
|
888
|
+
};
|
|
889
|
+
"/api/v1/auth/sessions/revoke-all/": {
|
|
890
|
+
parameters: {
|
|
891
|
+
query?: never;
|
|
892
|
+
header?: never;
|
|
893
|
+
path?: never;
|
|
894
|
+
cookie?: never;
|
|
895
|
+
};
|
|
896
|
+
get?: never;
|
|
897
|
+
put?: never;
|
|
898
|
+
/** @description Revoke all active sessions for the current user. */
|
|
899
|
+
post: operations["v1_auth_sessions_revoke_all_create"];
|
|
900
|
+
delete?: never;
|
|
901
|
+
options?: never;
|
|
902
|
+
head?: never;
|
|
903
|
+
patch?: never;
|
|
904
|
+
trace?: never;
|
|
905
|
+
};
|
|
906
|
+
"/api/v1/auth/smileid/callback/": {
|
|
907
|
+
parameters: {
|
|
908
|
+
query?: never;
|
|
909
|
+
header?: never;
|
|
910
|
+
path?: never;
|
|
911
|
+
cookie?: never;
|
|
912
|
+
};
|
|
913
|
+
get?: never;
|
|
914
|
+
put?: never;
|
|
915
|
+
/**
|
|
916
|
+
* @description POST /api/v1/auth/smileid/callback/
|
|
917
|
+
* Public webhook receiver for Smile ID asynchronous job results.
|
|
918
|
+
*/
|
|
919
|
+
post: operations["v1_auth_smileid_callback_create"];
|
|
920
|
+
delete?: never;
|
|
921
|
+
options?: never;
|
|
922
|
+
head?: never;
|
|
923
|
+
patch?: never;
|
|
924
|
+
trace?: never;
|
|
925
|
+
};
|
|
926
|
+
"/api/v1/auth/smileid/tier1/": {
|
|
927
|
+
parameters: {
|
|
928
|
+
query?: never;
|
|
929
|
+
header?: never;
|
|
930
|
+
path?: never;
|
|
931
|
+
cookie?: never;
|
|
932
|
+
};
|
|
933
|
+
get?: never;
|
|
934
|
+
put?: never;
|
|
935
|
+
/**
|
|
936
|
+
* @description POST /api/v1/auth/smileid/tier1/
|
|
937
|
+
* Submit NIN or BVN for electronic ID verification.
|
|
938
|
+
*/
|
|
939
|
+
post: operations["v1_auth_smileid_tier1_create"];
|
|
940
|
+
delete?: never;
|
|
941
|
+
options?: never;
|
|
942
|
+
head?: never;
|
|
943
|
+
patch?: never;
|
|
944
|
+
trace?: never;
|
|
945
|
+
};
|
|
946
|
+
"/api/v1/auth/smileid/tier2/": {
|
|
947
|
+
parameters: {
|
|
948
|
+
query?: never;
|
|
949
|
+
header?: never;
|
|
950
|
+
path?: never;
|
|
951
|
+
cookie?: never;
|
|
952
|
+
};
|
|
953
|
+
get?: never;
|
|
954
|
+
put?: never;
|
|
955
|
+
/**
|
|
956
|
+
* @description POST /api/v1/auth/smileid/tier2/
|
|
957
|
+
* Submit Selfie and ID Document for biometric verification.
|
|
958
|
+
*/
|
|
959
|
+
post: operations["v1_auth_smileid_tier2_create"];
|
|
960
|
+
delete?: never;
|
|
961
|
+
options?: never;
|
|
962
|
+
head?: never;
|
|
963
|
+
patch?: never;
|
|
964
|
+
trace?: never;
|
|
965
|
+
};
|
|
966
|
+
"/api/v1/auth/social/facebook/business/": {
|
|
967
|
+
parameters: {
|
|
968
|
+
query?: never;
|
|
969
|
+
header?: never;
|
|
970
|
+
path?: never;
|
|
971
|
+
cookie?: never;
|
|
972
|
+
};
|
|
973
|
+
/** @description Initiates Facebook OAuth for Business Owners — forces reauthentication. */
|
|
974
|
+
get: operations["v1_auth_social_facebook_business_retrieve"];
|
|
975
|
+
put?: never;
|
|
976
|
+
post?: never;
|
|
977
|
+
delete?: never;
|
|
978
|
+
options?: never;
|
|
979
|
+
head?: never;
|
|
980
|
+
patch?: never;
|
|
981
|
+
trace?: never;
|
|
982
|
+
};
|
|
983
|
+
"/api/v1/auth/social/google/business/": {
|
|
984
|
+
parameters: {
|
|
985
|
+
query?: never;
|
|
986
|
+
header?: never;
|
|
987
|
+
path?: never;
|
|
988
|
+
cookie?: never;
|
|
989
|
+
};
|
|
990
|
+
/** @description Initiates Google OAuth for Business Owners — forces account selection. */
|
|
991
|
+
get: operations["v1_auth_social_google_business_retrieve"];
|
|
992
|
+
put?: never;
|
|
993
|
+
post?: never;
|
|
994
|
+
delete?: never;
|
|
995
|
+
options?: never;
|
|
996
|
+
head?: never;
|
|
997
|
+
patch?: never;
|
|
998
|
+
trace?: never;
|
|
999
|
+
};
|
|
1000
|
+
"/api/v1/auth/social/verify/{provider}/": {
|
|
1001
|
+
parameters: {
|
|
1002
|
+
query?: never;
|
|
1003
|
+
header?: never;
|
|
1004
|
+
path?: never;
|
|
1005
|
+
cookie?: never;
|
|
1006
|
+
};
|
|
1007
|
+
get?: never;
|
|
1008
|
+
put?: never;
|
|
1009
|
+
/**
|
|
1010
|
+
* @description POST /auth/social/verify/<provider>/
|
|
1011
|
+
*
|
|
1012
|
+
* Body: { id_token: str }
|
|
1013
|
+
* Headers: X-Storefront-Key, X-Business-ID (see plan: Customer Storefront
|
|
1014
|
+
* Identity Enforcement)
|
|
1015
|
+
*
|
|
1016
|
+
* Verifies the id_token with the corresponding social provider,
|
|
1017
|
+
* then creates or logs in the customer and returns JWT tokens.
|
|
1018
|
+
*/
|
|
1019
|
+
post: operations["v1_auth_social_verify_create"];
|
|
1020
|
+
delete?: never;
|
|
1021
|
+
options?: never;
|
|
1022
|
+
head?: never;
|
|
1023
|
+
patch?: never;
|
|
1024
|
+
trace?: never;
|
|
1025
|
+
};
|
|
1026
|
+
"/api/v1/auth/storefront/business-info/": {
|
|
1027
|
+
parameters: {
|
|
1028
|
+
query?: never;
|
|
1029
|
+
header?: never;
|
|
1030
|
+
path?: never;
|
|
1031
|
+
cookie?: never;
|
|
1032
|
+
};
|
|
1033
|
+
/**
|
|
1034
|
+
* @description GET /auth/storefront/business-info/ — Public, unauthenticated business
|
|
1035
|
+
* info for a storefront to render (e.g. footer/about section), given only
|
|
1036
|
+
* the storefront API key (X-Storefront-Key header). Returns an explicit
|
|
1037
|
+
* allow-list of public-safe fields only — never owner identity, financial
|
|
1038
|
+
* (settlement_currency), or internal integration/logistics fields.
|
|
1039
|
+
*/
|
|
1040
|
+
get: operations["v1_auth_storefront_business_info_retrieve"];
|
|
1041
|
+
put?: never;
|
|
1042
|
+
post?: never;
|
|
1043
|
+
delete?: never;
|
|
1044
|
+
options?: never;
|
|
1045
|
+
head?: never;
|
|
1046
|
+
patch?: never;
|
|
1047
|
+
trace?: never;
|
|
1048
|
+
};
|
|
1049
|
+
"/api/v1/auth/token/password-confirm/": {
|
|
1050
|
+
parameters: {
|
|
1051
|
+
query?: never;
|
|
1052
|
+
header?: never;
|
|
1053
|
+
path?: never;
|
|
1054
|
+
cookie?: never;
|
|
1055
|
+
};
|
|
1056
|
+
get?: never;
|
|
1057
|
+
put?: never;
|
|
1058
|
+
post: operations["v1_auth_token_password_confirm_create"];
|
|
1059
|
+
delete?: never;
|
|
1060
|
+
options?: never;
|
|
1061
|
+
head?: never;
|
|
1062
|
+
patch?: never;
|
|
1063
|
+
trace?: never;
|
|
1064
|
+
};
|
|
1065
|
+
"/api/v1/auth/token/password-reset/": {
|
|
1066
|
+
parameters: {
|
|
1067
|
+
query?: never;
|
|
1068
|
+
header?: never;
|
|
1069
|
+
path?: never;
|
|
1070
|
+
cookie?: never;
|
|
1071
|
+
};
|
|
1072
|
+
get?: never;
|
|
1073
|
+
put?: never;
|
|
1074
|
+
post: operations["v1_auth_token_password_reset_create"];
|
|
1075
|
+
delete?: never;
|
|
1076
|
+
options?: never;
|
|
1077
|
+
head?: never;
|
|
1078
|
+
patch?: never;
|
|
1079
|
+
trace?: never;
|
|
1080
|
+
};
|
|
1081
|
+
"/api/v1/auth/token/refresh/": {
|
|
1082
|
+
parameters: {
|
|
1083
|
+
query?: never;
|
|
1084
|
+
header?: never;
|
|
1085
|
+
path?: never;
|
|
1086
|
+
cookie?: never;
|
|
1087
|
+
};
|
|
1088
|
+
get?: never;
|
|
1089
|
+
put?: never;
|
|
1090
|
+
/**
|
|
1091
|
+
* @description Takes a refresh type JSON web token and returns an access type JSON web
|
|
1092
|
+
* token if the refresh token is valid.
|
|
1093
|
+
*/
|
|
1094
|
+
post: operations["v1_auth_token_refresh_create"];
|
|
1095
|
+
delete?: never;
|
|
1096
|
+
options?: never;
|
|
1097
|
+
head?: never;
|
|
1098
|
+
patch?: never;
|
|
1099
|
+
trace?: never;
|
|
1100
|
+
};
|
|
1101
|
+
"/api/v1/auth/token/revoke/": {
|
|
1102
|
+
parameters: {
|
|
1103
|
+
query?: never;
|
|
1104
|
+
header?: never;
|
|
1105
|
+
path?: never;
|
|
1106
|
+
cookie?: never;
|
|
1107
|
+
};
|
|
1108
|
+
get?: never;
|
|
1109
|
+
put?: never;
|
|
1110
|
+
/** @description Alias for LogoutView. */
|
|
1111
|
+
post: operations["v1_auth_token_revoke_create"];
|
|
1112
|
+
delete?: never;
|
|
1113
|
+
options?: never;
|
|
1114
|
+
head?: never;
|
|
1115
|
+
patch?: never;
|
|
1116
|
+
trace?: never;
|
|
1117
|
+
};
|
|
1118
|
+
"/api/v1/auth/token/verify/": {
|
|
1119
|
+
parameters: {
|
|
1120
|
+
query?: never;
|
|
1121
|
+
header?: never;
|
|
1122
|
+
path?: never;
|
|
1123
|
+
cookie?: never;
|
|
1124
|
+
};
|
|
1125
|
+
get?: never;
|
|
1126
|
+
put?: never;
|
|
1127
|
+
/**
|
|
1128
|
+
* @description Takes a token and indicates if it is valid. This view provides no
|
|
1129
|
+
* information about a token's fitness for a particular use.
|
|
1130
|
+
*/
|
|
1131
|
+
post: operations["v1_auth_token_verify_create"];
|
|
1132
|
+
delete?: never;
|
|
1133
|
+
options?: never;
|
|
1134
|
+
head?: never;
|
|
1135
|
+
patch?: never;
|
|
1136
|
+
trace?: never;
|
|
1137
|
+
};
|
|
1138
|
+
"/api/v1/auth/user/security/": {
|
|
1139
|
+
parameters: {
|
|
1140
|
+
query?: never;
|
|
1141
|
+
header?: never;
|
|
1142
|
+
path?: never;
|
|
1143
|
+
cookie?: never;
|
|
1144
|
+
};
|
|
1145
|
+
get?: never;
|
|
1146
|
+
put?: never;
|
|
1147
|
+
post?: never;
|
|
1148
|
+
delete?: never;
|
|
1149
|
+
options?: never;
|
|
1150
|
+
head?: never;
|
|
1151
|
+
/** @description Update security flags for the authenticated user (MFA, Email Auth, etc.). */
|
|
1152
|
+
patch: operations["v1_auth_user_security_partial_update"];
|
|
1153
|
+
trace?: never;
|
|
1154
|
+
};
|
|
1155
|
+
"/api/v1/auth/verify-otp/": {
|
|
1156
|
+
parameters: {
|
|
1157
|
+
query?: never;
|
|
1158
|
+
header?: never;
|
|
1159
|
+
path?: never;
|
|
1160
|
+
cookie?: never;
|
|
1161
|
+
};
|
|
1162
|
+
get?: never;
|
|
1163
|
+
put?: never;
|
|
1164
|
+
post: operations["v1_auth_verify_otp_create"];
|
|
1165
|
+
delete?: never;
|
|
1166
|
+
options?: never;
|
|
1167
|
+
head?: never;
|
|
1168
|
+
patch?: never;
|
|
1169
|
+
trace?: never;
|
|
1170
|
+
};
|
|
1171
|
+
}
|
|
1172
|
+
export type webhooks = Record<string, never>;
|
|
1173
|
+
export interface components {
|
|
1174
|
+
schemas: {
|
|
1175
|
+
/** @description Writable serializer for platform-admin business type catalog management. */
|
|
1176
|
+
AdminBusinessType: {
|
|
1177
|
+
slug: string;
|
|
1178
|
+
label: string;
|
|
1179
|
+
description?: string;
|
|
1180
|
+
icon?: string;
|
|
1181
|
+
product_type?: string;
|
|
1182
|
+
type_flags?: unknown;
|
|
1183
|
+
order?: number;
|
|
1184
|
+
is_consumable?: boolean;
|
|
1185
|
+
is_active?: boolean;
|
|
1186
|
+
};
|
|
1187
|
+
/**
|
|
1188
|
+
* @description AdminSuspendBusinessView's request body — a documented reason is
|
|
1189
|
+
* mandatory (this is a policy-violation action, not a routine one; the
|
|
1190
|
+
* audit trail and the business's own suspension email both need real
|
|
1191
|
+
* content, not a blank string).
|
|
1192
|
+
*/
|
|
1193
|
+
AdminSuspendBusiness: {
|
|
1194
|
+
reason: string;
|
|
1195
|
+
};
|
|
1196
|
+
/** @description 2-step business owner registration. */
|
|
1197
|
+
BusinessCreate: {
|
|
1198
|
+
business_name: string;
|
|
1199
|
+
business_type: string;
|
|
1200
|
+
country: string;
|
|
1201
|
+
business_contact_phone?: string;
|
|
1202
|
+
first_name: string;
|
|
1203
|
+
last_name: string;
|
|
1204
|
+
/** Format: email */
|
|
1205
|
+
email: string;
|
|
1206
|
+
agreed_to_terms: boolean;
|
|
1207
|
+
password?: string;
|
|
1208
|
+
confirm_password?: string;
|
|
1209
|
+
/** Format: date */
|
|
1210
|
+
date_of_birth: string;
|
|
1211
|
+
currency?: string;
|
|
1212
|
+
registration_code?: string;
|
|
1213
|
+
};
|
|
1214
|
+
/** @description Authenticate a business owner. */
|
|
1215
|
+
BusinessLogin: {
|
|
1216
|
+
/** Format: email */
|
|
1217
|
+
email: string;
|
|
1218
|
+
password: string;
|
|
1219
|
+
/** @default false */
|
|
1220
|
+
remember_me: boolean;
|
|
1221
|
+
};
|
|
1222
|
+
/** @description Read and update a business owner's profile. */
|
|
1223
|
+
BusinessOwnerProfile: {
|
|
1224
|
+
firstname?: string;
|
|
1225
|
+
lastname?: string;
|
|
1226
|
+
bio?: string;
|
|
1227
|
+
/** Format: uri */
|
|
1228
|
+
profile_picture?: string | null;
|
|
1229
|
+
phone?: string;
|
|
1230
|
+
country?: string;
|
|
1231
|
+
/** Format: date */
|
|
1232
|
+
date_of_birth?: string | null;
|
|
1233
|
+
currency_preference?: string | null;
|
|
1234
|
+
username?: string;
|
|
1235
|
+
has_completed_onboarding?: boolean;
|
|
1236
|
+
readonly verification_level: number;
|
|
1237
|
+
/** Format: date-time */
|
|
1238
|
+
readonly created_at: string;
|
|
1239
|
+
/** Format: date-time */
|
|
1240
|
+
readonly updated_at: string;
|
|
1241
|
+
};
|
|
1242
|
+
ChangePassword: {
|
|
1243
|
+
old_password?: string;
|
|
1244
|
+
new_password: string;
|
|
1245
|
+
confirm_password: string;
|
|
1246
|
+
};
|
|
1247
|
+
/** @description Writable serializer for platform-admin country catalog management. */
|
|
1248
|
+
Country: {
|
|
1249
|
+
name: string;
|
|
1250
|
+
/** @description ISO 3166-1 alpha-2 code */
|
|
1251
|
+
iso_code: string;
|
|
1252
|
+
/** @description E.164 dialing code without + */
|
|
1253
|
+
dial_code: string;
|
|
1254
|
+
/** @description Trunk prefix for domestic calls */
|
|
1255
|
+
trunk_prefix?: string;
|
|
1256
|
+
/** @description Minimum age for business ownership */
|
|
1257
|
+
min_age?: number;
|
|
1258
|
+
/** @description Geographic region (e.g., west-africa, east-africa) */
|
|
1259
|
+
region?: string | null;
|
|
1260
|
+
/** @description ISO 4217 currency code (e.g., NGN, USD, EUR) */
|
|
1261
|
+
currency?: string;
|
|
1262
|
+
/** @description Whether this country is supported */
|
|
1263
|
+
is_active?: boolean;
|
|
1264
|
+
};
|
|
1265
|
+
/**
|
|
1266
|
+
* @description Standard SimpleJWT TokenRefreshView creates a new access token but strips custom claims
|
|
1267
|
+
* unless they are explicitly re-added. We copy all non-standard claims from the refresh token
|
|
1268
|
+
* payload back into the new access token.
|
|
1269
|
+
*
|
|
1270
|
+
* CRITICAL: We also re-fetch the plan_tier from the payment system to ensure the JWT
|
|
1271
|
+
* reflects the current subscription status. This fixes the issue where users upgrade
|
|
1272
|
+
* their plan but their JWT still shows the old plan_tier.
|
|
1273
|
+
*/
|
|
1274
|
+
CustomTokenRefresh: {
|
|
1275
|
+
refresh: string;
|
|
1276
|
+
readonly access: string;
|
|
1277
|
+
};
|
|
1278
|
+
/**
|
|
1279
|
+
* @description One entry in CustomerProfile.address_book (a free-form JSONField with no
|
|
1280
|
+
* enforced shape until now — see InternalCustomerContactView's own comment:
|
|
1281
|
+
* "nothing here writes or validates it"). Real gap fixed (2026-09-22):
|
|
1282
|
+
* the field existed and was even already read-only-exposed on
|
|
1283
|
+
* CustomerProfileSerializer, but no writable path existed anywhere for a
|
|
1284
|
+
* customer to actually populate it — kasuvia-storefront's dashboard
|
|
1285
|
+
* "Saved Addresses" tab was fully local mock state as a result. Field
|
|
1286
|
+
* names mirror kasuvia-sdk's existing `DeliveryAddress`/`ShippingLocation`
|
|
1287
|
+
* checkout-address shape exactly (first_name, last_name, phone, street,
|
|
1288
|
+
* city, state, lga, country, postal) so the same address object can flow
|
|
1289
|
+
* straight into checkout without remapping.
|
|
1290
|
+
*/
|
|
1291
|
+
CustomerAddress: {
|
|
1292
|
+
readonly id: string;
|
|
1293
|
+
/** @default */
|
|
1294
|
+
label: string;
|
|
1295
|
+
first_name: string;
|
|
1296
|
+
last_name: string;
|
|
1297
|
+
phone: string;
|
|
1298
|
+
street: string;
|
|
1299
|
+
city: string;
|
|
1300
|
+
state: string;
|
|
1301
|
+
/** @default */
|
|
1302
|
+
lga: string;
|
|
1303
|
+
/** @default NG */
|
|
1304
|
+
country: string;
|
|
1305
|
+
/** @default */
|
|
1306
|
+
postal: string;
|
|
1307
|
+
/** @default false */
|
|
1308
|
+
is_default: boolean;
|
|
1309
|
+
/** Format: date-time */
|
|
1310
|
+
readonly created_at: string;
|
|
1311
|
+
};
|
|
1312
|
+
/**
|
|
1313
|
+
* @description Payload for POST /auth/forgot-password/customer/ — business-scoped via
|
|
1314
|
+
* the X-Storefront-Key + X-Business-ID headers (see plan: Customer
|
|
1315
|
+
* Storefront Identity Enforcement), not a tenant_id body field.
|
|
1316
|
+
*/
|
|
1317
|
+
CustomerForgotPassword: {
|
|
1318
|
+
/** Format: email */
|
|
1319
|
+
email: string;
|
|
1320
|
+
};
|
|
1321
|
+
/**
|
|
1322
|
+
* @description Authenticate a customer for a specific storefront. The business is
|
|
1323
|
+
* resolved by the view from the X-Storefront-Key + X-Business-ID headers
|
|
1324
|
+
* (see plan: Customer Storefront Identity Enforcement) and passed in via
|
|
1325
|
+
* context["business"] — no tenant_id body field needed.
|
|
1326
|
+
*/
|
|
1327
|
+
CustomerLogin: {
|
|
1328
|
+
/** Format: email */
|
|
1329
|
+
email: string;
|
|
1330
|
+
password: string;
|
|
1331
|
+
/** @default false */
|
|
1332
|
+
remember_me: boolean;
|
|
1333
|
+
};
|
|
1334
|
+
/**
|
|
1335
|
+
* @description Request a one-time login code for a customer (Shopify-style
|
|
1336
|
+
* passwordless). Business is resolved by the view from the
|
|
1337
|
+
* X-Storefront-Key + X-Business-ID headers (see plan: Customer Storefront
|
|
1338
|
+
* Identity Enforcement) — no tenant_id body field needed.
|
|
1339
|
+
*/
|
|
1340
|
+
CustomerPasswordlessRequest: {
|
|
1341
|
+
/** Format: email */
|
|
1342
|
+
email: string;
|
|
1343
|
+
};
|
|
1344
|
+
/**
|
|
1345
|
+
* @description Verify a customer's one-time login code and issue tokens. Business is
|
|
1346
|
+
* resolved by the view from headers (see plan: Customer Storefront
|
|
1347
|
+
* Identity Enforcement) — no tenant_id body field needed.
|
|
1348
|
+
*/
|
|
1349
|
+
CustomerPasswordlessVerify: {
|
|
1350
|
+
/** Format: email */
|
|
1351
|
+
email: string;
|
|
1352
|
+
code: string;
|
|
1353
|
+
};
|
|
1354
|
+
/**
|
|
1355
|
+
* @description Register a customer for a specific business storefront. The business is
|
|
1356
|
+
* resolved by the view from the X-Storefront-Key + X-Business-ID headers
|
|
1357
|
+
* (see plan: Customer Storefront Identity Enforcement) and passed in via
|
|
1358
|
+
* context["business"] — no tenant_id body field needed; that's the
|
|
1359
|
+
* headers' job now.
|
|
1360
|
+
*/
|
|
1361
|
+
CustomerRegister: {
|
|
1362
|
+
/** @default */
|
|
1363
|
+
first_name: string;
|
|
1364
|
+
/** @default */
|
|
1365
|
+
last_name: string;
|
|
1366
|
+
/** Format: email */
|
|
1367
|
+
email: string;
|
|
1368
|
+
password: string;
|
|
1369
|
+
agreed_to_terms: boolean;
|
|
1370
|
+
};
|
|
1371
|
+
/**
|
|
1372
|
+
* @description Payload for POST /auth/reset-password/customer/ — business-scoped via
|
|
1373
|
+
* the X-Storefront-Key + X-Business-ID headers (see plan: Customer
|
|
1374
|
+
* Storefront Identity Enforcement), not a tenant_id body field.
|
|
1375
|
+
*/
|
|
1376
|
+
CustomerResetPassword: {
|
|
1377
|
+
/** Format: email */
|
|
1378
|
+
email: string;
|
|
1379
|
+
code: string;
|
|
1380
|
+
new_password: string;
|
|
1381
|
+
};
|
|
1382
|
+
DeactivateAccount: {
|
|
1383
|
+
reason: string;
|
|
1384
|
+
};
|
|
1385
|
+
ForgotPassword: {
|
|
1386
|
+
/** Format: email */
|
|
1387
|
+
email: string;
|
|
1388
|
+
};
|
|
1389
|
+
/** @description Generic login with email and password. */
|
|
1390
|
+
Login: {
|
|
1391
|
+
/** Format: email */
|
|
1392
|
+
email: string;
|
|
1393
|
+
password: string;
|
|
1394
|
+
/** @default false */
|
|
1395
|
+
remember_me: boolean;
|
|
1396
|
+
};
|
|
1397
|
+
/** @description Writable serializer for platform-admin business type catalog management. */
|
|
1398
|
+
PatchedAdminBusinessType: {
|
|
1399
|
+
slug?: string;
|
|
1400
|
+
label?: string;
|
|
1401
|
+
description?: string;
|
|
1402
|
+
icon?: string;
|
|
1403
|
+
product_type?: string;
|
|
1404
|
+
type_flags?: unknown;
|
|
1405
|
+
order?: number;
|
|
1406
|
+
is_consumable?: boolean;
|
|
1407
|
+
is_active?: boolean;
|
|
1408
|
+
};
|
|
1409
|
+
/** @description Writable serializer for platform-admin country catalog management. */
|
|
1410
|
+
PatchedCountry: {
|
|
1411
|
+
name?: string;
|
|
1412
|
+
/** @description ISO 3166-1 alpha-2 code */
|
|
1413
|
+
iso_code?: string;
|
|
1414
|
+
/** @description E.164 dialing code without + */
|
|
1415
|
+
dial_code?: string;
|
|
1416
|
+
/** @description Trunk prefix for domestic calls */
|
|
1417
|
+
trunk_prefix?: string;
|
|
1418
|
+
/** @description Minimum age for business ownership */
|
|
1419
|
+
min_age?: number;
|
|
1420
|
+
/** @description Geographic region (e.g., west-africa, east-africa) */
|
|
1421
|
+
region?: string | null;
|
|
1422
|
+
/** @description ISO 4217 currency code (e.g., NGN, USD, EUR) */
|
|
1423
|
+
currency?: string;
|
|
1424
|
+
/** @description Whether this country is supported */
|
|
1425
|
+
is_active?: boolean;
|
|
1426
|
+
};
|
|
1427
|
+
/**
|
|
1428
|
+
* @description One entry in CustomerProfile.address_book (a free-form JSONField with no
|
|
1429
|
+
* enforced shape until now — see InternalCustomerContactView's own comment:
|
|
1430
|
+
* "nothing here writes or validates it"). Real gap fixed (2026-09-22):
|
|
1431
|
+
* the field existed and was even already read-only-exposed on
|
|
1432
|
+
* CustomerProfileSerializer, but no writable path existed anywhere for a
|
|
1433
|
+
* customer to actually populate it — kasuvia-storefront's dashboard
|
|
1434
|
+
* "Saved Addresses" tab was fully local mock state as a result. Field
|
|
1435
|
+
* names mirror kasuvia-sdk's existing `DeliveryAddress`/`ShippingLocation`
|
|
1436
|
+
* checkout-address shape exactly (first_name, last_name, phone, street,
|
|
1437
|
+
* city, state, lga, country, postal) so the same address object can flow
|
|
1438
|
+
* straight into checkout without remapping.
|
|
1439
|
+
*/
|
|
1440
|
+
PatchedCustomerAddress: {
|
|
1441
|
+
readonly id?: string;
|
|
1442
|
+
/** @default */
|
|
1443
|
+
label: string;
|
|
1444
|
+
first_name?: string;
|
|
1445
|
+
last_name?: string;
|
|
1446
|
+
phone?: string;
|
|
1447
|
+
street?: string;
|
|
1448
|
+
city?: string;
|
|
1449
|
+
state?: string;
|
|
1450
|
+
/** @default */
|
|
1451
|
+
lga: string;
|
|
1452
|
+
/** @default NG */
|
|
1453
|
+
country: string;
|
|
1454
|
+
/** @default */
|
|
1455
|
+
postal: string;
|
|
1456
|
+
/** @default false */
|
|
1457
|
+
is_default: boolean;
|
|
1458
|
+
/** Format: date-time */
|
|
1459
|
+
readonly created_at?: string;
|
|
1460
|
+
};
|
|
1461
|
+
/** @description Update security/notification fields for the authenticated user. */
|
|
1462
|
+
PatchedUserSecurityUpdate: {
|
|
1463
|
+
is_google_auth_enabled?: boolean;
|
|
1464
|
+
is_facebook_auth_enabled?: boolean;
|
|
1465
|
+
is_email_auth_enabled?: boolean;
|
|
1466
|
+
two_factor_enabled?: boolean;
|
|
1467
|
+
/**
|
|
1468
|
+
* @description The preferred second factor method.
|
|
1469
|
+
*
|
|
1470
|
+
* * `totp` - Authenticator App (TOTP)
|
|
1471
|
+
* * `email` - Email Code
|
|
1472
|
+
* * `pin` - Security PIN
|
|
1473
|
+
* @enum {string}
|
|
1474
|
+
*/
|
|
1475
|
+
two_factor_method?: "totp" | "email" | "pin";
|
|
1476
|
+
};
|
|
1477
|
+
ResetPassword: {
|
|
1478
|
+
/** Format: email */
|
|
1479
|
+
email: string;
|
|
1480
|
+
code: string;
|
|
1481
|
+
new_password: string;
|
|
1482
|
+
};
|
|
1483
|
+
/** @description Payload for POST /auth/forgot-password/staff/ — self-service, business-scoped. */
|
|
1484
|
+
StaffForgotPassword: {
|
|
1485
|
+
business_id: string;
|
|
1486
|
+
/** Format: email */
|
|
1487
|
+
email: string;
|
|
1488
|
+
};
|
|
1489
|
+
/** @description Authenticate a staff member. */
|
|
1490
|
+
StaffLogin: {
|
|
1491
|
+
business_id: string;
|
|
1492
|
+
/** Format: email */
|
|
1493
|
+
email: string;
|
|
1494
|
+
password: string;
|
|
1495
|
+
/** @default false */
|
|
1496
|
+
remember_me: boolean;
|
|
1497
|
+
};
|
|
1498
|
+
/** @description Payload for POST /auth/reset-password/staff/. */
|
|
1499
|
+
StaffResetPassword: {
|
|
1500
|
+
business_id: string;
|
|
1501
|
+
/** Format: email */
|
|
1502
|
+
email: string;
|
|
1503
|
+
code: string;
|
|
1504
|
+
new_password: string;
|
|
1505
|
+
};
|
|
1506
|
+
TokenRevoke: {
|
|
1507
|
+
refresh: string;
|
|
1508
|
+
};
|
|
1509
|
+
TokenVerify: {
|
|
1510
|
+
token: string;
|
|
1511
|
+
};
|
|
1512
|
+
/** @description Read-only user representation including profile, role, and granular permissions context. */
|
|
1513
|
+
User: {
|
|
1514
|
+
/** Format: uuid */
|
|
1515
|
+
readonly id: string;
|
|
1516
|
+
/** @description Public @handle — lowercase alphanumeric and hyphens only. */
|
|
1517
|
+
username: string;
|
|
1518
|
+
/** Format: email */
|
|
1519
|
+
readonly email: string;
|
|
1520
|
+
/** @description Determines the user's role relative to the current business context and identity mode. */
|
|
1521
|
+
readonly role: string;
|
|
1522
|
+
readonly permissions: unknown[];
|
|
1523
|
+
is_active?: boolean;
|
|
1524
|
+
is_verified?: boolean;
|
|
1525
|
+
has_completed_onboarding?: boolean;
|
|
1526
|
+
is_google_auth_enabled?: boolean;
|
|
1527
|
+
is_facebook_auth_enabled?: boolean;
|
|
1528
|
+
is_email_auth_enabled?: boolean;
|
|
1529
|
+
/**
|
|
1530
|
+
* @description Whether a real Google identity is actually associated (a
|
|
1531
|
+
* UserSocialAuth row exists) - distinct from is_google_auth_enabled,
|
|
1532
|
+
* which is only a preference flag the owner can toggle before ever
|
|
1533
|
+
* completing the OAuth handshake (see
|
|
1534
|
+
* common/utils/social_pipeline.py::validate_auth_action - the flag
|
|
1535
|
+
* must be True BEFORE a business owner is even allowed to attempt
|
|
1536
|
+
* Google login, and the real association only happens on that
|
|
1537
|
+
* subsequent successful attempt). Without this, the frontend has no
|
|
1538
|
+
* way to tell "flag flipped on but never actually connected" apart
|
|
1539
|
+
* from "genuinely connected".
|
|
1540
|
+
*/
|
|
1541
|
+
readonly is_google_linked: boolean;
|
|
1542
|
+
readonly is_facebook_linked: boolean;
|
|
1543
|
+
two_factor_enabled?: boolean;
|
|
1544
|
+
/**
|
|
1545
|
+
* @description The preferred second factor method.
|
|
1546
|
+
*
|
|
1547
|
+
* * `totp` - Authenticator App (TOTP)
|
|
1548
|
+
* * `email` - Email Code
|
|
1549
|
+
* * `pin` - Security PIN
|
|
1550
|
+
* @enum {string}
|
|
1551
|
+
*/
|
|
1552
|
+
two_factor_method?: "totp" | "email" | "pin";
|
|
1553
|
+
readonly has_password: boolean;
|
|
1554
|
+
readonly security_pin: boolean;
|
|
1555
|
+
needs_password_change?: boolean;
|
|
1556
|
+
/** Format: date-time */
|
|
1557
|
+
readonly created_at: string;
|
|
1558
|
+
/** Format: date-time */
|
|
1559
|
+
readonly updated_at: string;
|
|
1560
|
+
readonly profile: components["schemas"]["BusinessOwnerProfile"];
|
|
1561
|
+
};
|
|
1562
|
+
VerifyOTP: {
|
|
1563
|
+
/** Format: email */
|
|
1564
|
+
email: string;
|
|
1565
|
+
code: string;
|
|
1566
|
+
};
|
|
1567
|
+
};
|
|
1568
|
+
responses: never;
|
|
1569
|
+
parameters: never;
|
|
1570
|
+
requestBodies: never;
|
|
1571
|
+
headers: never;
|
|
1572
|
+
pathItems: never;
|
|
1573
|
+
}
|
|
1574
|
+
export type $defs = Record<string, never>;
|
|
1575
|
+
export interface operations {
|
|
1576
|
+
v1_auth_2fa_verify_create: {
|
|
1577
|
+
parameters: {
|
|
1578
|
+
query?: never;
|
|
1579
|
+
header?: never;
|
|
1580
|
+
path?: never;
|
|
1581
|
+
cookie?: never;
|
|
1582
|
+
};
|
|
1583
|
+
requestBody?: never;
|
|
1584
|
+
responses: {
|
|
1585
|
+
/** @description No response body */
|
|
1586
|
+
200: {
|
|
1587
|
+
headers: {
|
|
1588
|
+
[name: string]: unknown;
|
|
1589
|
+
};
|
|
1590
|
+
content?: never;
|
|
1591
|
+
};
|
|
1592
|
+
};
|
|
1593
|
+
};
|
|
1594
|
+
v1_auth_business_types_retrieve: {
|
|
1595
|
+
parameters: {
|
|
1596
|
+
query?: never;
|
|
1597
|
+
header?: never;
|
|
1598
|
+
path?: never;
|
|
1599
|
+
cookie?: never;
|
|
1600
|
+
};
|
|
1601
|
+
requestBody?: never;
|
|
1602
|
+
responses: {
|
|
1603
|
+
/** @description No response body */
|
|
1604
|
+
200: {
|
|
1605
|
+
headers: {
|
|
1606
|
+
[name: string]: unknown;
|
|
1607
|
+
};
|
|
1608
|
+
content?: never;
|
|
1609
|
+
};
|
|
1610
|
+
};
|
|
1611
|
+
};
|
|
1612
|
+
v1_auth_businesses_retrieve: {
|
|
1613
|
+
parameters: {
|
|
1614
|
+
query?: never;
|
|
1615
|
+
header?: never;
|
|
1616
|
+
path: {
|
|
1617
|
+
business_id: string;
|
|
1618
|
+
};
|
|
1619
|
+
cookie?: never;
|
|
1620
|
+
};
|
|
1621
|
+
requestBody?: never;
|
|
1622
|
+
responses: {
|
|
1623
|
+
/** @description No response body */
|
|
1624
|
+
200: {
|
|
1625
|
+
headers: {
|
|
1626
|
+
[name: string]: unknown;
|
|
1627
|
+
};
|
|
1628
|
+
content?: never;
|
|
1629
|
+
};
|
|
1630
|
+
};
|
|
1631
|
+
};
|
|
1632
|
+
v1_auth_businesses_destroy: {
|
|
1633
|
+
parameters: {
|
|
1634
|
+
query?: never;
|
|
1635
|
+
header?: never;
|
|
1636
|
+
path: {
|
|
1637
|
+
business_id: string;
|
|
1638
|
+
};
|
|
1639
|
+
cookie?: never;
|
|
1640
|
+
};
|
|
1641
|
+
requestBody?: never;
|
|
1642
|
+
responses: {
|
|
1643
|
+
/** @description No response body */
|
|
1644
|
+
204: {
|
|
1645
|
+
headers: {
|
|
1646
|
+
[name: string]: unknown;
|
|
1647
|
+
};
|
|
1648
|
+
content?: never;
|
|
1649
|
+
};
|
|
1650
|
+
};
|
|
1651
|
+
};
|
|
1652
|
+
v1_auth_businesses_partial_update: {
|
|
1653
|
+
parameters: {
|
|
1654
|
+
query?: never;
|
|
1655
|
+
header?: never;
|
|
1656
|
+
path: {
|
|
1657
|
+
business_id: string;
|
|
1658
|
+
};
|
|
1659
|
+
cookie?: never;
|
|
1660
|
+
};
|
|
1661
|
+
requestBody?: never;
|
|
1662
|
+
responses: {
|
|
1663
|
+
/** @description No response body */
|
|
1664
|
+
200: {
|
|
1665
|
+
headers: {
|
|
1666
|
+
[name: string]: unknown;
|
|
1667
|
+
};
|
|
1668
|
+
content?: never;
|
|
1669
|
+
};
|
|
1670
|
+
};
|
|
1671
|
+
};
|
|
1672
|
+
v1_auth_businesses_customers_retrieve: {
|
|
1673
|
+
parameters: {
|
|
1674
|
+
query?: never;
|
|
1675
|
+
header?: never;
|
|
1676
|
+
path: {
|
|
1677
|
+
business_id: string;
|
|
1678
|
+
};
|
|
1679
|
+
cookie?: never;
|
|
1680
|
+
};
|
|
1681
|
+
requestBody?: never;
|
|
1682
|
+
responses: {
|
|
1683
|
+
/** @description No response body */
|
|
1684
|
+
200: {
|
|
1685
|
+
headers: {
|
|
1686
|
+
[name: string]: unknown;
|
|
1687
|
+
};
|
|
1688
|
+
content?: never;
|
|
1689
|
+
};
|
|
1690
|
+
};
|
|
1691
|
+
};
|
|
1692
|
+
v1_auth_businesses_customers_retrieve_2: {
|
|
1693
|
+
parameters: {
|
|
1694
|
+
query?: never;
|
|
1695
|
+
header?: never;
|
|
1696
|
+
path: {
|
|
1697
|
+
business_id: string;
|
|
1698
|
+
customer_id: string;
|
|
1699
|
+
};
|
|
1700
|
+
cookie?: never;
|
|
1701
|
+
};
|
|
1702
|
+
requestBody?: never;
|
|
1703
|
+
responses: {
|
|
1704
|
+
/** @description No response body */
|
|
1705
|
+
200: {
|
|
1706
|
+
headers: {
|
|
1707
|
+
[name: string]: unknown;
|
|
1708
|
+
};
|
|
1709
|
+
content?: never;
|
|
1710
|
+
};
|
|
1711
|
+
};
|
|
1712
|
+
};
|
|
1713
|
+
v1_auth_businesses_reactivate_create: {
|
|
1714
|
+
parameters: {
|
|
1715
|
+
query?: never;
|
|
1716
|
+
header?: never;
|
|
1717
|
+
path: {
|
|
1718
|
+
business_id: string;
|
|
1719
|
+
};
|
|
1720
|
+
cookie?: never;
|
|
1721
|
+
};
|
|
1722
|
+
requestBody?: never;
|
|
1723
|
+
responses: {
|
|
1724
|
+
/** @description No response body */
|
|
1725
|
+
200: {
|
|
1726
|
+
headers: {
|
|
1727
|
+
[name: string]: unknown;
|
|
1728
|
+
};
|
|
1729
|
+
content?: never;
|
|
1730
|
+
};
|
|
1731
|
+
};
|
|
1732
|
+
};
|
|
1733
|
+
v1_auth_businesses_storefront_key_retrieve: {
|
|
1734
|
+
parameters: {
|
|
1735
|
+
query?: never;
|
|
1736
|
+
header?: never;
|
|
1737
|
+
path: {
|
|
1738
|
+
business_id: string;
|
|
1739
|
+
};
|
|
1740
|
+
cookie?: never;
|
|
1741
|
+
};
|
|
1742
|
+
requestBody?: never;
|
|
1743
|
+
responses: {
|
|
1744
|
+
/** @description No response body */
|
|
1745
|
+
200: {
|
|
1746
|
+
headers: {
|
|
1747
|
+
[name: string]: unknown;
|
|
1748
|
+
};
|
|
1749
|
+
content?: never;
|
|
1750
|
+
};
|
|
1751
|
+
};
|
|
1752
|
+
};
|
|
1753
|
+
v1_auth_businesses_storefront_key_create: {
|
|
1754
|
+
parameters: {
|
|
1755
|
+
query?: never;
|
|
1756
|
+
header?: never;
|
|
1757
|
+
path: {
|
|
1758
|
+
business_id: string;
|
|
1759
|
+
};
|
|
1760
|
+
cookie?: never;
|
|
1761
|
+
};
|
|
1762
|
+
requestBody?: never;
|
|
1763
|
+
responses: {
|
|
1764
|
+
/** @description No response body */
|
|
1765
|
+
200: {
|
|
1766
|
+
headers: {
|
|
1767
|
+
[name: string]: unknown;
|
|
1768
|
+
};
|
|
1769
|
+
content?: never;
|
|
1770
|
+
};
|
|
1771
|
+
};
|
|
1772
|
+
};
|
|
1773
|
+
v1_auth_businesses_storefront_key_destroy: {
|
|
1774
|
+
parameters: {
|
|
1775
|
+
query?: never;
|
|
1776
|
+
header?: never;
|
|
1777
|
+
path: {
|
|
1778
|
+
business_id: string;
|
|
1779
|
+
};
|
|
1780
|
+
cookie?: never;
|
|
1781
|
+
};
|
|
1782
|
+
requestBody?: never;
|
|
1783
|
+
responses: {
|
|
1784
|
+
/** @description No response body */
|
|
1785
|
+
204: {
|
|
1786
|
+
headers: {
|
|
1787
|
+
[name: string]: unknown;
|
|
1788
|
+
};
|
|
1789
|
+
content?: never;
|
|
1790
|
+
};
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
v1_auth_change_password_create: {
|
|
1794
|
+
parameters: {
|
|
1795
|
+
query?: never;
|
|
1796
|
+
header?: never;
|
|
1797
|
+
path?: never;
|
|
1798
|
+
cookie?: never;
|
|
1799
|
+
};
|
|
1800
|
+
requestBody: {
|
|
1801
|
+
content: {
|
|
1802
|
+
"application/json": components["schemas"]["ChangePassword"];
|
|
1803
|
+
"application/x-www-form-urlencoded": components["schemas"]["ChangePassword"];
|
|
1804
|
+
"multipart/form-data": components["schemas"]["ChangePassword"];
|
|
1805
|
+
};
|
|
1806
|
+
};
|
|
1807
|
+
responses: {
|
|
1808
|
+
/** @description No response body */
|
|
1809
|
+
200: {
|
|
1810
|
+
headers: {
|
|
1811
|
+
[name: string]: unknown;
|
|
1812
|
+
};
|
|
1813
|
+
content?: never;
|
|
1814
|
+
};
|
|
1815
|
+
};
|
|
1816
|
+
};
|
|
1817
|
+
v1_auth_confirm_reactivate_create: {
|
|
1818
|
+
parameters: {
|
|
1819
|
+
query?: never;
|
|
1820
|
+
header?: never;
|
|
1821
|
+
path?: never;
|
|
1822
|
+
cookie?: never;
|
|
1823
|
+
};
|
|
1824
|
+
requestBody?: never;
|
|
1825
|
+
responses: {
|
|
1826
|
+
/** @description No response body */
|
|
1827
|
+
200: {
|
|
1828
|
+
headers: {
|
|
1829
|
+
[name: string]: unknown;
|
|
1830
|
+
};
|
|
1831
|
+
content?: never;
|
|
1832
|
+
};
|
|
1833
|
+
};
|
|
1834
|
+
};
|
|
1835
|
+
v1_auth_countries_retrieve: {
|
|
1836
|
+
parameters: {
|
|
1837
|
+
query?: never;
|
|
1838
|
+
header?: never;
|
|
1839
|
+
path?: never;
|
|
1840
|
+
cookie?: never;
|
|
1841
|
+
};
|
|
1842
|
+
requestBody?: never;
|
|
1843
|
+
responses: {
|
|
1844
|
+
200: {
|
|
1845
|
+
headers: {
|
|
1846
|
+
[name: string]: unknown;
|
|
1847
|
+
};
|
|
1848
|
+
content: {
|
|
1849
|
+
"application/json": unknown;
|
|
1850
|
+
};
|
|
1851
|
+
};
|
|
1852
|
+
};
|
|
1853
|
+
};
|
|
1854
|
+
v1_auth_countries_states_retrieve: {
|
|
1855
|
+
parameters: {
|
|
1856
|
+
query?: never;
|
|
1857
|
+
header?: never;
|
|
1858
|
+
path: {
|
|
1859
|
+
iso_code: string;
|
|
1860
|
+
};
|
|
1861
|
+
cookie?: never;
|
|
1862
|
+
};
|
|
1863
|
+
requestBody?: never;
|
|
1864
|
+
responses: {
|
|
1865
|
+
200: {
|
|
1866
|
+
headers: {
|
|
1867
|
+
[name: string]: unknown;
|
|
1868
|
+
};
|
|
1869
|
+
content: {
|
|
1870
|
+
"application/json": unknown;
|
|
1871
|
+
};
|
|
1872
|
+
};
|
|
1873
|
+
};
|
|
1874
|
+
};
|
|
1875
|
+
v1_auth_customer_deactivate_create: {
|
|
1876
|
+
parameters: {
|
|
1877
|
+
query?: never;
|
|
1878
|
+
header?: never;
|
|
1879
|
+
path?: never;
|
|
1880
|
+
cookie?: never;
|
|
1881
|
+
};
|
|
1882
|
+
requestBody: {
|
|
1883
|
+
content: {
|
|
1884
|
+
"application/json": components["schemas"]["DeactivateAccount"];
|
|
1885
|
+
"application/x-www-form-urlencoded": components["schemas"]["DeactivateAccount"];
|
|
1886
|
+
"multipart/form-data": components["schemas"]["DeactivateAccount"];
|
|
1887
|
+
};
|
|
1888
|
+
};
|
|
1889
|
+
responses: {
|
|
1890
|
+
/** @description No response body */
|
|
1891
|
+
200: {
|
|
1892
|
+
headers: {
|
|
1893
|
+
[name: string]: unknown;
|
|
1894
|
+
};
|
|
1895
|
+
content?: never;
|
|
1896
|
+
};
|
|
1897
|
+
};
|
|
1898
|
+
};
|
|
1899
|
+
v1_auth_customer_reactivate_create: {
|
|
1900
|
+
parameters: {
|
|
1901
|
+
query?: never;
|
|
1902
|
+
header?: never;
|
|
1903
|
+
path?: never;
|
|
1904
|
+
cookie?: never;
|
|
1905
|
+
};
|
|
1906
|
+
requestBody?: never;
|
|
1907
|
+
responses: {
|
|
1908
|
+
/** @description No response body */
|
|
1909
|
+
200: {
|
|
1910
|
+
headers: {
|
|
1911
|
+
[name: string]: unknown;
|
|
1912
|
+
};
|
|
1913
|
+
content?: never;
|
|
1914
|
+
};
|
|
1915
|
+
};
|
|
1916
|
+
};
|
|
1917
|
+
v1_auth_customer_reactivate_verify_create: {
|
|
1918
|
+
parameters: {
|
|
1919
|
+
query?: never;
|
|
1920
|
+
header?: never;
|
|
1921
|
+
path?: never;
|
|
1922
|
+
cookie?: never;
|
|
1923
|
+
};
|
|
1924
|
+
requestBody: {
|
|
1925
|
+
content: {
|
|
1926
|
+
"application/json": components["schemas"]["VerifyOTP"];
|
|
1927
|
+
"application/x-www-form-urlencoded": components["schemas"]["VerifyOTP"];
|
|
1928
|
+
"multipart/form-data": components["schemas"]["VerifyOTP"];
|
|
1929
|
+
};
|
|
1930
|
+
};
|
|
1931
|
+
responses: {
|
|
1932
|
+
/** @description No response body */
|
|
1933
|
+
200: {
|
|
1934
|
+
headers: {
|
|
1935
|
+
[name: string]: unknown;
|
|
1936
|
+
};
|
|
1937
|
+
content?: never;
|
|
1938
|
+
};
|
|
1939
|
+
};
|
|
1940
|
+
};
|
|
1941
|
+
v1_auth_deactivate_create: {
|
|
1942
|
+
parameters: {
|
|
1943
|
+
query?: never;
|
|
1944
|
+
header?: never;
|
|
1945
|
+
path?: never;
|
|
1946
|
+
cookie?: never;
|
|
1947
|
+
};
|
|
1948
|
+
requestBody: {
|
|
1949
|
+
content: {
|
|
1950
|
+
"application/json": components["schemas"]["DeactivateAccount"];
|
|
1951
|
+
"application/x-www-form-urlencoded": components["schemas"]["DeactivateAccount"];
|
|
1952
|
+
"multipart/form-data": components["schemas"]["DeactivateAccount"];
|
|
1953
|
+
};
|
|
1954
|
+
};
|
|
1955
|
+
responses: {
|
|
1956
|
+
/** @description No response body */
|
|
1957
|
+
200: {
|
|
1958
|
+
headers: {
|
|
1959
|
+
[name: string]: unknown;
|
|
1960
|
+
};
|
|
1961
|
+
content?: never;
|
|
1962
|
+
};
|
|
1963
|
+
/** @description No response body */
|
|
1964
|
+
409: {
|
|
1965
|
+
headers: {
|
|
1966
|
+
[name: string]: unknown;
|
|
1967
|
+
};
|
|
1968
|
+
content?: never;
|
|
1969
|
+
};
|
|
1970
|
+
};
|
|
1971
|
+
};
|
|
1972
|
+
v1_auth_forgot_password_create: {
|
|
1973
|
+
parameters: {
|
|
1974
|
+
query?: never;
|
|
1975
|
+
header?: never;
|
|
1976
|
+
path?: never;
|
|
1977
|
+
cookie?: never;
|
|
1978
|
+
};
|
|
1979
|
+
requestBody: {
|
|
1980
|
+
content: {
|
|
1981
|
+
"application/json": components["schemas"]["ForgotPassword"];
|
|
1982
|
+
"application/x-www-form-urlencoded": components["schemas"]["ForgotPassword"];
|
|
1983
|
+
"multipart/form-data": components["schemas"]["ForgotPassword"];
|
|
1984
|
+
};
|
|
1985
|
+
};
|
|
1986
|
+
responses: {
|
|
1987
|
+
/** @description No response body */
|
|
1988
|
+
200: {
|
|
1989
|
+
headers: {
|
|
1990
|
+
[name: string]: unknown;
|
|
1991
|
+
};
|
|
1992
|
+
content?: never;
|
|
1993
|
+
};
|
|
1994
|
+
};
|
|
1995
|
+
};
|
|
1996
|
+
v1_auth_forgot_password_customer_create: {
|
|
1997
|
+
parameters: {
|
|
1998
|
+
query?: never;
|
|
1999
|
+
header?: never;
|
|
2000
|
+
path?: never;
|
|
2001
|
+
cookie?: never;
|
|
2002
|
+
};
|
|
2003
|
+
requestBody: {
|
|
2004
|
+
content: {
|
|
2005
|
+
"application/json": components["schemas"]["CustomerForgotPassword"];
|
|
2006
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerForgotPassword"];
|
|
2007
|
+
"multipart/form-data": components["schemas"]["CustomerForgotPassword"];
|
|
2008
|
+
};
|
|
2009
|
+
};
|
|
2010
|
+
responses: {
|
|
2011
|
+
/** @description No response body */
|
|
2012
|
+
200: {
|
|
2013
|
+
headers: {
|
|
2014
|
+
[name: string]: unknown;
|
|
2015
|
+
};
|
|
2016
|
+
content?: never;
|
|
2017
|
+
};
|
|
2018
|
+
};
|
|
2019
|
+
};
|
|
2020
|
+
v1_auth_login_business_create: {
|
|
2021
|
+
parameters: {
|
|
2022
|
+
query?: never;
|
|
2023
|
+
header?: never;
|
|
2024
|
+
path?: never;
|
|
2025
|
+
cookie?: never;
|
|
2026
|
+
};
|
|
2027
|
+
requestBody: {
|
|
2028
|
+
content: {
|
|
2029
|
+
"application/json": components["schemas"]["BusinessLogin"];
|
|
2030
|
+
"application/x-www-form-urlencoded": components["schemas"]["BusinessLogin"];
|
|
2031
|
+
"multipart/form-data": components["schemas"]["BusinessLogin"];
|
|
2032
|
+
};
|
|
2033
|
+
};
|
|
2034
|
+
responses: {
|
|
2035
|
+
/** @description No response body */
|
|
2036
|
+
200: {
|
|
2037
|
+
headers: {
|
|
2038
|
+
[name: string]: unknown;
|
|
2039
|
+
};
|
|
2040
|
+
content?: never;
|
|
2041
|
+
};
|
|
2042
|
+
};
|
|
2043
|
+
};
|
|
2044
|
+
v1_auth_login_customer_create: {
|
|
2045
|
+
parameters: {
|
|
2046
|
+
query?: never;
|
|
2047
|
+
header?: never;
|
|
2048
|
+
path?: never;
|
|
2049
|
+
cookie?: never;
|
|
2050
|
+
};
|
|
2051
|
+
requestBody: {
|
|
2052
|
+
content: {
|
|
2053
|
+
"application/json": components["schemas"]["CustomerLogin"];
|
|
2054
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerLogin"];
|
|
2055
|
+
"multipart/form-data": components["schemas"]["CustomerLogin"];
|
|
2056
|
+
};
|
|
2057
|
+
};
|
|
2058
|
+
responses: {
|
|
2059
|
+
/** @description No response body */
|
|
2060
|
+
200: {
|
|
2061
|
+
headers: {
|
|
2062
|
+
[name: string]: unknown;
|
|
2063
|
+
};
|
|
2064
|
+
content?: never;
|
|
2065
|
+
};
|
|
2066
|
+
};
|
|
2067
|
+
};
|
|
2068
|
+
v1_auth_login_customer_passwordless_request_create: {
|
|
2069
|
+
parameters: {
|
|
2070
|
+
query?: never;
|
|
2071
|
+
header?: never;
|
|
2072
|
+
path?: never;
|
|
2073
|
+
cookie?: never;
|
|
2074
|
+
};
|
|
2075
|
+
requestBody: {
|
|
2076
|
+
content: {
|
|
2077
|
+
"application/json": components["schemas"]["CustomerPasswordlessRequest"];
|
|
2078
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerPasswordlessRequest"];
|
|
2079
|
+
"multipart/form-data": components["schemas"]["CustomerPasswordlessRequest"];
|
|
2080
|
+
};
|
|
2081
|
+
};
|
|
2082
|
+
responses: {
|
|
2083
|
+
/** @description No response body */
|
|
2084
|
+
200: {
|
|
2085
|
+
headers: {
|
|
2086
|
+
[name: string]: unknown;
|
|
2087
|
+
};
|
|
2088
|
+
content?: never;
|
|
2089
|
+
};
|
|
2090
|
+
};
|
|
2091
|
+
};
|
|
2092
|
+
v1_auth_login_customer_passwordless_verify_create: {
|
|
2093
|
+
parameters: {
|
|
2094
|
+
query?: never;
|
|
2095
|
+
header?: never;
|
|
2096
|
+
path?: never;
|
|
2097
|
+
cookie?: never;
|
|
2098
|
+
};
|
|
2099
|
+
requestBody: {
|
|
2100
|
+
content: {
|
|
2101
|
+
"application/json": components["schemas"]["CustomerPasswordlessVerify"];
|
|
2102
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerPasswordlessVerify"];
|
|
2103
|
+
"multipart/form-data": components["schemas"]["CustomerPasswordlessVerify"];
|
|
2104
|
+
};
|
|
2105
|
+
};
|
|
2106
|
+
responses: {
|
|
2107
|
+
/** @description No response body */
|
|
2108
|
+
200: {
|
|
2109
|
+
headers: {
|
|
2110
|
+
[name: string]: unknown;
|
|
2111
|
+
};
|
|
2112
|
+
content?: never;
|
|
2113
|
+
};
|
|
2114
|
+
};
|
|
2115
|
+
};
|
|
2116
|
+
v1_auth_logout_create: {
|
|
2117
|
+
parameters: {
|
|
2118
|
+
query?: never;
|
|
2119
|
+
header?: never;
|
|
2120
|
+
path?: never;
|
|
2121
|
+
cookie?: never;
|
|
2122
|
+
};
|
|
2123
|
+
requestBody?: never;
|
|
2124
|
+
responses: {
|
|
2125
|
+
/** @description No response body */
|
|
2126
|
+
200: {
|
|
2127
|
+
headers: {
|
|
2128
|
+
[name: string]: unknown;
|
|
2129
|
+
};
|
|
2130
|
+
content?: never;
|
|
2131
|
+
};
|
|
2132
|
+
};
|
|
2133
|
+
};
|
|
2134
|
+
v1_auth_media_destroy: {
|
|
2135
|
+
parameters: {
|
|
2136
|
+
query?: never;
|
|
2137
|
+
header?: never;
|
|
2138
|
+
path: {
|
|
2139
|
+
media_id: string;
|
|
2140
|
+
};
|
|
2141
|
+
cookie?: never;
|
|
2142
|
+
};
|
|
2143
|
+
requestBody?: never;
|
|
2144
|
+
responses: {
|
|
2145
|
+
/** @description No response body */
|
|
2146
|
+
204: {
|
|
2147
|
+
headers: {
|
|
2148
|
+
[name: string]: unknown;
|
|
2149
|
+
};
|
|
2150
|
+
content?: never;
|
|
2151
|
+
};
|
|
2152
|
+
};
|
|
2153
|
+
};
|
|
2154
|
+
v1_auth_media_confirm_upload_create: {
|
|
2155
|
+
parameters: {
|
|
2156
|
+
query?: never;
|
|
2157
|
+
header?: never;
|
|
2158
|
+
path?: never;
|
|
2159
|
+
cookie?: never;
|
|
2160
|
+
};
|
|
2161
|
+
requestBody?: never;
|
|
2162
|
+
responses: {
|
|
2163
|
+
/** @description No response body */
|
|
2164
|
+
200: {
|
|
2165
|
+
headers: {
|
|
2166
|
+
[name: string]: unknown;
|
|
2167
|
+
};
|
|
2168
|
+
content?: never;
|
|
2169
|
+
};
|
|
2170
|
+
};
|
|
2171
|
+
};
|
|
2172
|
+
v1_auth_media_presigned_url_create: {
|
|
2173
|
+
parameters: {
|
|
2174
|
+
query?: never;
|
|
2175
|
+
header?: never;
|
|
2176
|
+
path?: never;
|
|
2177
|
+
cookie?: never;
|
|
2178
|
+
};
|
|
2179
|
+
requestBody?: never;
|
|
2180
|
+
responses: {
|
|
2181
|
+
/** @description No response body */
|
|
2182
|
+
200: {
|
|
2183
|
+
headers: {
|
|
2184
|
+
[name: string]: unknown;
|
|
2185
|
+
};
|
|
2186
|
+
content?: never;
|
|
2187
|
+
};
|
|
2188
|
+
};
|
|
2189
|
+
};
|
|
2190
|
+
v1_auth_mfa_setup_backup_codes_create: {
|
|
2191
|
+
parameters: {
|
|
2192
|
+
query?: never;
|
|
2193
|
+
header?: never;
|
|
2194
|
+
path?: never;
|
|
2195
|
+
cookie?: never;
|
|
2196
|
+
};
|
|
2197
|
+
requestBody?: never;
|
|
2198
|
+
responses: {
|
|
2199
|
+
/** @description No response body */
|
|
2200
|
+
200: {
|
|
2201
|
+
headers: {
|
|
2202
|
+
[name: string]: unknown;
|
|
2203
|
+
};
|
|
2204
|
+
content?: never;
|
|
2205
|
+
};
|
|
2206
|
+
};
|
|
2207
|
+
};
|
|
2208
|
+
v1_auth_mfa_setup_pin_create: {
|
|
2209
|
+
parameters: {
|
|
2210
|
+
query?: never;
|
|
2211
|
+
header?: never;
|
|
2212
|
+
path?: never;
|
|
2213
|
+
cookie?: never;
|
|
2214
|
+
};
|
|
2215
|
+
requestBody?: never;
|
|
2216
|
+
responses: {
|
|
2217
|
+
/** @description No response body */
|
|
2218
|
+
200: {
|
|
2219
|
+
headers: {
|
|
2220
|
+
[name: string]: unknown;
|
|
2221
|
+
};
|
|
2222
|
+
content?: never;
|
|
2223
|
+
};
|
|
2224
|
+
};
|
|
2225
|
+
};
|
|
2226
|
+
v1_auth_mfa_setup_pin_destroy: {
|
|
2227
|
+
parameters: {
|
|
2228
|
+
query?: never;
|
|
2229
|
+
header?: never;
|
|
2230
|
+
path?: never;
|
|
2231
|
+
cookie?: never;
|
|
2232
|
+
};
|
|
2233
|
+
requestBody?: never;
|
|
2234
|
+
responses: {
|
|
2235
|
+
/** @description No response body */
|
|
2236
|
+
204: {
|
|
2237
|
+
headers: {
|
|
2238
|
+
[name: string]: unknown;
|
|
2239
|
+
};
|
|
2240
|
+
content?: never;
|
|
2241
|
+
};
|
|
2242
|
+
};
|
|
2243
|
+
};
|
|
2244
|
+
v1_auth_mfa_setup_totp_retrieve: {
|
|
2245
|
+
parameters: {
|
|
2246
|
+
query?: never;
|
|
2247
|
+
header?: never;
|
|
2248
|
+
path?: never;
|
|
2249
|
+
cookie?: never;
|
|
2250
|
+
};
|
|
2251
|
+
requestBody?: never;
|
|
2252
|
+
responses: {
|
|
2253
|
+
/** @description No response body */
|
|
2254
|
+
200: {
|
|
2255
|
+
headers: {
|
|
2256
|
+
[name: string]: unknown;
|
|
2257
|
+
};
|
|
2258
|
+
content?: never;
|
|
2259
|
+
};
|
|
2260
|
+
};
|
|
2261
|
+
};
|
|
2262
|
+
v1_auth_mfa_setup_totp_create: {
|
|
2263
|
+
parameters: {
|
|
2264
|
+
query?: never;
|
|
2265
|
+
header?: never;
|
|
2266
|
+
path?: never;
|
|
2267
|
+
cookie?: never;
|
|
2268
|
+
};
|
|
2269
|
+
requestBody?: never;
|
|
2270
|
+
responses: {
|
|
2271
|
+
/** @description No response body */
|
|
2272
|
+
200: {
|
|
2273
|
+
headers: {
|
|
2274
|
+
[name: string]: unknown;
|
|
2275
|
+
};
|
|
2276
|
+
content?: never;
|
|
2277
|
+
};
|
|
2278
|
+
};
|
|
2279
|
+
};
|
|
2280
|
+
v1_auth_profile_retrieve: {
|
|
2281
|
+
parameters: {
|
|
2282
|
+
query?: never;
|
|
2283
|
+
header?: never;
|
|
2284
|
+
path?: never;
|
|
2285
|
+
cookie?: never;
|
|
2286
|
+
};
|
|
2287
|
+
requestBody?: never;
|
|
2288
|
+
responses: {
|
|
2289
|
+
/** @description No response body */
|
|
2290
|
+
200: {
|
|
2291
|
+
headers: {
|
|
2292
|
+
[name: string]: unknown;
|
|
2293
|
+
};
|
|
2294
|
+
content?: never;
|
|
2295
|
+
};
|
|
2296
|
+
};
|
|
2297
|
+
};
|
|
2298
|
+
v1_auth_profile_update: {
|
|
2299
|
+
parameters: {
|
|
2300
|
+
query?: never;
|
|
2301
|
+
header?: never;
|
|
2302
|
+
path?: never;
|
|
2303
|
+
cookie?: never;
|
|
2304
|
+
};
|
|
2305
|
+
requestBody?: never;
|
|
2306
|
+
responses: {
|
|
2307
|
+
/** @description No response body */
|
|
2308
|
+
200: {
|
|
2309
|
+
headers: {
|
|
2310
|
+
[name: string]: unknown;
|
|
2311
|
+
};
|
|
2312
|
+
content?: never;
|
|
2313
|
+
};
|
|
2314
|
+
};
|
|
2315
|
+
};
|
|
2316
|
+
v1_auth_profile_addresses_retrieve: {
|
|
2317
|
+
parameters: {
|
|
2318
|
+
query?: never;
|
|
2319
|
+
header?: never;
|
|
2320
|
+
path?: never;
|
|
2321
|
+
cookie?: never;
|
|
2322
|
+
};
|
|
2323
|
+
requestBody?: never;
|
|
2324
|
+
responses: {
|
|
2325
|
+
/** @description No response body */
|
|
2326
|
+
200: {
|
|
2327
|
+
headers: {
|
|
2328
|
+
[name: string]: unknown;
|
|
2329
|
+
};
|
|
2330
|
+
content?: never;
|
|
2331
|
+
};
|
|
2332
|
+
};
|
|
2333
|
+
};
|
|
2334
|
+
v1_auth_profile_addresses_create: {
|
|
2335
|
+
parameters: {
|
|
2336
|
+
query?: never;
|
|
2337
|
+
header?: never;
|
|
2338
|
+
path?: never;
|
|
2339
|
+
cookie?: never;
|
|
2340
|
+
};
|
|
2341
|
+
requestBody: {
|
|
2342
|
+
content: {
|
|
2343
|
+
"application/json": components["schemas"]["CustomerAddress"];
|
|
2344
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerAddress"];
|
|
2345
|
+
"multipart/form-data": components["schemas"]["CustomerAddress"];
|
|
2346
|
+
};
|
|
2347
|
+
};
|
|
2348
|
+
responses: {
|
|
2349
|
+
201: {
|
|
2350
|
+
headers: {
|
|
2351
|
+
[name: string]: unknown;
|
|
2352
|
+
};
|
|
2353
|
+
content: {
|
|
2354
|
+
"application/json": components["schemas"]["CustomerAddress"];
|
|
2355
|
+
};
|
|
2356
|
+
};
|
|
2357
|
+
};
|
|
2358
|
+
};
|
|
2359
|
+
v1_auth_profile_addresses_destroy: {
|
|
2360
|
+
parameters: {
|
|
2361
|
+
query?: never;
|
|
2362
|
+
header?: never;
|
|
2363
|
+
path: {
|
|
2364
|
+
address_id: string;
|
|
2365
|
+
};
|
|
2366
|
+
cookie?: never;
|
|
2367
|
+
};
|
|
2368
|
+
requestBody?: never;
|
|
2369
|
+
responses: {
|
|
2370
|
+
/** @description No response body */
|
|
2371
|
+
204: {
|
|
2372
|
+
headers: {
|
|
2373
|
+
[name: string]: unknown;
|
|
2374
|
+
};
|
|
2375
|
+
content?: never;
|
|
2376
|
+
};
|
|
2377
|
+
};
|
|
2378
|
+
};
|
|
2379
|
+
v1_auth_profile_addresses_partial_update: {
|
|
2380
|
+
parameters: {
|
|
2381
|
+
query?: never;
|
|
2382
|
+
header?: never;
|
|
2383
|
+
path: {
|
|
2384
|
+
address_id: string;
|
|
2385
|
+
};
|
|
2386
|
+
cookie?: never;
|
|
2387
|
+
};
|
|
2388
|
+
requestBody?: {
|
|
2389
|
+
content: {
|
|
2390
|
+
"application/json": components["schemas"]["PatchedCustomerAddress"];
|
|
2391
|
+
"application/x-www-form-urlencoded": components["schemas"]["PatchedCustomerAddress"];
|
|
2392
|
+
"multipart/form-data": components["schemas"]["PatchedCustomerAddress"];
|
|
2393
|
+
};
|
|
2394
|
+
};
|
|
2395
|
+
responses: {
|
|
2396
|
+
200: {
|
|
2397
|
+
headers: {
|
|
2398
|
+
[name: string]: unknown;
|
|
2399
|
+
};
|
|
2400
|
+
content: {
|
|
2401
|
+
"application/json": components["schemas"]["CustomerAddress"];
|
|
2402
|
+
};
|
|
2403
|
+
};
|
|
2404
|
+
};
|
|
2405
|
+
};
|
|
2406
|
+
v1_auth_reactivate_create: {
|
|
2407
|
+
parameters: {
|
|
2408
|
+
query?: never;
|
|
2409
|
+
header?: never;
|
|
2410
|
+
path?: never;
|
|
2411
|
+
cookie?: never;
|
|
2412
|
+
};
|
|
2413
|
+
requestBody: {
|
|
2414
|
+
content: {
|
|
2415
|
+
"application/json": components["schemas"]["ForgotPassword"];
|
|
2416
|
+
"application/x-www-form-urlencoded": components["schemas"]["ForgotPassword"];
|
|
2417
|
+
"multipart/form-data": components["schemas"]["ForgotPassword"];
|
|
2418
|
+
};
|
|
2419
|
+
};
|
|
2420
|
+
responses: {
|
|
2421
|
+
/** @description No response body */
|
|
2422
|
+
200: {
|
|
2423
|
+
headers: {
|
|
2424
|
+
[name: string]: unknown;
|
|
2425
|
+
};
|
|
2426
|
+
content?: never;
|
|
2427
|
+
};
|
|
2428
|
+
};
|
|
2429
|
+
};
|
|
2430
|
+
v1_auth_register_business_create: {
|
|
2431
|
+
parameters: {
|
|
2432
|
+
query?: never;
|
|
2433
|
+
header?: never;
|
|
2434
|
+
path?: never;
|
|
2435
|
+
cookie?: never;
|
|
2436
|
+
};
|
|
2437
|
+
requestBody: {
|
|
2438
|
+
content: {
|
|
2439
|
+
"application/json": components["schemas"]["BusinessCreate"];
|
|
2440
|
+
"application/x-www-form-urlencoded": components["schemas"]["BusinessCreate"];
|
|
2441
|
+
"multipart/form-data": components["schemas"]["BusinessCreate"];
|
|
2442
|
+
};
|
|
2443
|
+
};
|
|
2444
|
+
responses: {
|
|
2445
|
+
201: {
|
|
2446
|
+
headers: {
|
|
2447
|
+
[name: string]: unknown;
|
|
2448
|
+
};
|
|
2449
|
+
content: {
|
|
2450
|
+
"application/json": components["schemas"]["User"];
|
|
2451
|
+
};
|
|
2452
|
+
};
|
|
2453
|
+
};
|
|
2454
|
+
};
|
|
2455
|
+
v1_auth_register_customer_create: {
|
|
2456
|
+
parameters: {
|
|
2457
|
+
query?: never;
|
|
2458
|
+
header?: never;
|
|
2459
|
+
path?: never;
|
|
2460
|
+
cookie?: never;
|
|
2461
|
+
};
|
|
2462
|
+
requestBody: {
|
|
2463
|
+
content: {
|
|
2464
|
+
"application/json": components["schemas"]["CustomerRegister"];
|
|
2465
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerRegister"];
|
|
2466
|
+
"multipart/form-data": components["schemas"]["CustomerRegister"];
|
|
2467
|
+
};
|
|
2468
|
+
};
|
|
2469
|
+
responses: {
|
|
2470
|
+
/** @description No response body */
|
|
2471
|
+
200: {
|
|
2472
|
+
headers: {
|
|
2473
|
+
[name: string]: unknown;
|
|
2474
|
+
};
|
|
2475
|
+
content?: never;
|
|
2476
|
+
};
|
|
2477
|
+
};
|
|
2478
|
+
};
|
|
2479
|
+
v1_auth_resend_otp_create: {
|
|
2480
|
+
parameters: {
|
|
2481
|
+
query?: never;
|
|
2482
|
+
header?: never;
|
|
2483
|
+
path?: never;
|
|
2484
|
+
cookie?: never;
|
|
2485
|
+
};
|
|
2486
|
+
requestBody?: never;
|
|
2487
|
+
responses: {
|
|
2488
|
+
/** @description No response body */
|
|
2489
|
+
200: {
|
|
2490
|
+
headers: {
|
|
2491
|
+
[name: string]: unknown;
|
|
2492
|
+
};
|
|
2493
|
+
content?: never;
|
|
2494
|
+
};
|
|
2495
|
+
};
|
|
2496
|
+
};
|
|
2497
|
+
v1_auth_reset_password_create: {
|
|
2498
|
+
parameters: {
|
|
2499
|
+
query?: never;
|
|
2500
|
+
header?: never;
|
|
2501
|
+
path?: never;
|
|
2502
|
+
cookie?: never;
|
|
2503
|
+
};
|
|
2504
|
+
requestBody: {
|
|
2505
|
+
content: {
|
|
2506
|
+
"application/json": components["schemas"]["ResetPassword"];
|
|
2507
|
+
"application/x-www-form-urlencoded": components["schemas"]["ResetPassword"];
|
|
2508
|
+
"multipart/form-data": components["schemas"]["ResetPassword"];
|
|
2509
|
+
};
|
|
2510
|
+
};
|
|
2511
|
+
responses: {
|
|
2512
|
+
/** @description No response body */
|
|
2513
|
+
200: {
|
|
2514
|
+
headers: {
|
|
2515
|
+
[name: string]: unknown;
|
|
2516
|
+
};
|
|
2517
|
+
content?: never;
|
|
2518
|
+
};
|
|
2519
|
+
};
|
|
2520
|
+
};
|
|
2521
|
+
v1_auth_reset_password_customer_create: {
|
|
2522
|
+
parameters: {
|
|
2523
|
+
query?: never;
|
|
2524
|
+
header?: never;
|
|
2525
|
+
path?: never;
|
|
2526
|
+
cookie?: never;
|
|
2527
|
+
};
|
|
2528
|
+
requestBody: {
|
|
2529
|
+
content: {
|
|
2530
|
+
"application/json": components["schemas"]["CustomerResetPassword"];
|
|
2531
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomerResetPassword"];
|
|
2532
|
+
"multipart/form-data": components["schemas"]["CustomerResetPassword"];
|
|
2533
|
+
};
|
|
2534
|
+
};
|
|
2535
|
+
responses: {
|
|
2536
|
+
/** @description No response body */
|
|
2537
|
+
200: {
|
|
2538
|
+
headers: {
|
|
2539
|
+
[name: string]: unknown;
|
|
2540
|
+
};
|
|
2541
|
+
content?: never;
|
|
2542
|
+
};
|
|
2543
|
+
};
|
|
2544
|
+
};
|
|
2545
|
+
v1_auth_sessions_retrieve: {
|
|
2546
|
+
parameters: {
|
|
2547
|
+
query?: never;
|
|
2548
|
+
header?: never;
|
|
2549
|
+
path?: never;
|
|
2550
|
+
cookie?: never;
|
|
2551
|
+
};
|
|
2552
|
+
requestBody?: never;
|
|
2553
|
+
responses: {
|
|
2554
|
+
/** @description No response body */
|
|
2555
|
+
200: {
|
|
2556
|
+
headers: {
|
|
2557
|
+
[name: string]: unknown;
|
|
2558
|
+
};
|
|
2559
|
+
content?: never;
|
|
2560
|
+
};
|
|
2561
|
+
};
|
|
2562
|
+
};
|
|
2563
|
+
v1_auth_sessions_business_retrieve: {
|
|
2564
|
+
parameters: {
|
|
2565
|
+
query?: never;
|
|
2566
|
+
header?: never;
|
|
2567
|
+
path?: never;
|
|
2568
|
+
cookie?: never;
|
|
2569
|
+
};
|
|
2570
|
+
requestBody?: never;
|
|
2571
|
+
responses: {
|
|
2572
|
+
/** @description No response body */
|
|
2573
|
+
200: {
|
|
2574
|
+
headers: {
|
|
2575
|
+
[name: string]: unknown;
|
|
2576
|
+
};
|
|
2577
|
+
content?: never;
|
|
2578
|
+
};
|
|
2579
|
+
};
|
|
2580
|
+
};
|
|
2581
|
+
v1_auth_sessions_business_revoke_create: {
|
|
2582
|
+
parameters: {
|
|
2583
|
+
query?: never;
|
|
2584
|
+
header?: never;
|
|
2585
|
+
path?: never;
|
|
2586
|
+
cookie?: never;
|
|
2587
|
+
};
|
|
2588
|
+
requestBody?: never;
|
|
2589
|
+
responses: {
|
|
2590
|
+
/** @description No response body */
|
|
2591
|
+
200: {
|
|
2592
|
+
headers: {
|
|
2593
|
+
[name: string]: unknown;
|
|
2594
|
+
};
|
|
2595
|
+
content?: never;
|
|
2596
|
+
};
|
|
2597
|
+
};
|
|
2598
|
+
};
|
|
2599
|
+
v1_auth_sessions_revoke_create: {
|
|
2600
|
+
parameters: {
|
|
2601
|
+
query?: never;
|
|
2602
|
+
header?: never;
|
|
2603
|
+
path?: never;
|
|
2604
|
+
cookie?: never;
|
|
2605
|
+
};
|
|
2606
|
+
requestBody?: never;
|
|
2607
|
+
responses: {
|
|
2608
|
+
/** @description No response body */
|
|
2609
|
+
200: {
|
|
2610
|
+
headers: {
|
|
2611
|
+
[name: string]: unknown;
|
|
2612
|
+
};
|
|
2613
|
+
content?: never;
|
|
2614
|
+
};
|
|
2615
|
+
};
|
|
2616
|
+
};
|
|
2617
|
+
v1_auth_sessions_revoke_all_create: {
|
|
2618
|
+
parameters: {
|
|
2619
|
+
query?: never;
|
|
2620
|
+
header?: never;
|
|
2621
|
+
path?: never;
|
|
2622
|
+
cookie?: never;
|
|
2623
|
+
};
|
|
2624
|
+
requestBody?: never;
|
|
2625
|
+
responses: {
|
|
2626
|
+
/** @description No response body */
|
|
2627
|
+
200: {
|
|
2628
|
+
headers: {
|
|
2629
|
+
[name: string]: unknown;
|
|
2630
|
+
};
|
|
2631
|
+
content?: never;
|
|
2632
|
+
};
|
|
2633
|
+
};
|
|
2634
|
+
};
|
|
2635
|
+
v1_auth_smileid_callback_create: {
|
|
2636
|
+
parameters: {
|
|
2637
|
+
query?: never;
|
|
2638
|
+
header?: never;
|
|
2639
|
+
path?: never;
|
|
2640
|
+
cookie?: never;
|
|
2641
|
+
};
|
|
2642
|
+
requestBody?: never;
|
|
2643
|
+
responses: {
|
|
2644
|
+
/** @description No response body */
|
|
2645
|
+
200: {
|
|
2646
|
+
headers: {
|
|
2647
|
+
[name: string]: unknown;
|
|
2648
|
+
};
|
|
2649
|
+
content?: never;
|
|
2650
|
+
};
|
|
2651
|
+
};
|
|
2652
|
+
};
|
|
2653
|
+
v1_auth_smileid_tier1_create: {
|
|
2654
|
+
parameters: {
|
|
2655
|
+
query?: never;
|
|
2656
|
+
header?: never;
|
|
2657
|
+
path?: never;
|
|
2658
|
+
cookie?: never;
|
|
2659
|
+
};
|
|
2660
|
+
requestBody?: never;
|
|
2661
|
+
responses: {
|
|
2662
|
+
/** @description No response body */
|
|
2663
|
+
200: {
|
|
2664
|
+
headers: {
|
|
2665
|
+
[name: string]: unknown;
|
|
2666
|
+
};
|
|
2667
|
+
content?: never;
|
|
2668
|
+
};
|
|
2669
|
+
};
|
|
2670
|
+
};
|
|
2671
|
+
v1_auth_smileid_tier2_create: {
|
|
2672
|
+
parameters: {
|
|
2673
|
+
query?: never;
|
|
2674
|
+
header?: never;
|
|
2675
|
+
path?: never;
|
|
2676
|
+
cookie?: never;
|
|
2677
|
+
};
|
|
2678
|
+
requestBody?: never;
|
|
2679
|
+
responses: {
|
|
2680
|
+
/** @description No response body */
|
|
2681
|
+
200: {
|
|
2682
|
+
headers: {
|
|
2683
|
+
[name: string]: unknown;
|
|
2684
|
+
};
|
|
2685
|
+
content?: never;
|
|
2686
|
+
};
|
|
2687
|
+
};
|
|
2688
|
+
};
|
|
2689
|
+
v1_auth_social_facebook_business_retrieve: {
|
|
2690
|
+
parameters: {
|
|
2691
|
+
query?: never;
|
|
2692
|
+
header?: never;
|
|
2693
|
+
path?: never;
|
|
2694
|
+
cookie?: never;
|
|
2695
|
+
};
|
|
2696
|
+
requestBody?: never;
|
|
2697
|
+
responses: {
|
|
2698
|
+
/** @description No response body */
|
|
2699
|
+
200: {
|
|
2700
|
+
headers: {
|
|
2701
|
+
[name: string]: unknown;
|
|
2702
|
+
};
|
|
2703
|
+
content?: never;
|
|
2704
|
+
};
|
|
2705
|
+
};
|
|
2706
|
+
};
|
|
2707
|
+
v1_auth_social_google_business_retrieve: {
|
|
2708
|
+
parameters: {
|
|
2709
|
+
query?: never;
|
|
2710
|
+
header?: never;
|
|
2711
|
+
path?: never;
|
|
2712
|
+
cookie?: never;
|
|
2713
|
+
};
|
|
2714
|
+
requestBody?: never;
|
|
2715
|
+
responses: {
|
|
2716
|
+
/** @description No response body */
|
|
2717
|
+
200: {
|
|
2718
|
+
headers: {
|
|
2719
|
+
[name: string]: unknown;
|
|
2720
|
+
};
|
|
2721
|
+
content?: never;
|
|
2722
|
+
};
|
|
2723
|
+
};
|
|
2724
|
+
};
|
|
2725
|
+
v1_auth_social_verify_create: {
|
|
2726
|
+
parameters: {
|
|
2727
|
+
query?: never;
|
|
2728
|
+
header?: never;
|
|
2729
|
+
path: {
|
|
2730
|
+
provider: string;
|
|
2731
|
+
};
|
|
2732
|
+
cookie?: never;
|
|
2733
|
+
};
|
|
2734
|
+
requestBody?: never;
|
|
2735
|
+
responses: {
|
|
2736
|
+
/** @description No response body */
|
|
2737
|
+
200: {
|
|
2738
|
+
headers: {
|
|
2739
|
+
[name: string]: unknown;
|
|
2740
|
+
};
|
|
2741
|
+
content?: never;
|
|
2742
|
+
};
|
|
2743
|
+
};
|
|
2744
|
+
};
|
|
2745
|
+
v1_auth_storefront_business_info_retrieve: {
|
|
2746
|
+
parameters: {
|
|
2747
|
+
query?: never;
|
|
2748
|
+
header?: never;
|
|
2749
|
+
path?: never;
|
|
2750
|
+
cookie?: never;
|
|
2751
|
+
};
|
|
2752
|
+
requestBody?: never;
|
|
2753
|
+
responses: {
|
|
2754
|
+
/** @description No response body */
|
|
2755
|
+
200: {
|
|
2756
|
+
headers: {
|
|
2757
|
+
[name: string]: unknown;
|
|
2758
|
+
};
|
|
2759
|
+
content?: never;
|
|
2760
|
+
};
|
|
2761
|
+
};
|
|
2762
|
+
};
|
|
2763
|
+
v1_auth_token_password_confirm_create: {
|
|
2764
|
+
parameters: {
|
|
2765
|
+
query?: never;
|
|
2766
|
+
header?: never;
|
|
2767
|
+
path?: never;
|
|
2768
|
+
cookie?: never;
|
|
2769
|
+
};
|
|
2770
|
+
requestBody: {
|
|
2771
|
+
content: {
|
|
2772
|
+
"application/json": components["schemas"]["ResetPassword"];
|
|
2773
|
+
"application/x-www-form-urlencoded": components["schemas"]["ResetPassword"];
|
|
2774
|
+
"multipart/form-data": components["schemas"]["ResetPassword"];
|
|
2775
|
+
};
|
|
2776
|
+
};
|
|
2777
|
+
responses: {
|
|
2778
|
+
/** @description No response body */
|
|
2779
|
+
200: {
|
|
2780
|
+
headers: {
|
|
2781
|
+
[name: string]: unknown;
|
|
2782
|
+
};
|
|
2783
|
+
content?: never;
|
|
2784
|
+
};
|
|
2785
|
+
};
|
|
2786
|
+
};
|
|
2787
|
+
v1_auth_token_password_reset_create: {
|
|
2788
|
+
parameters: {
|
|
2789
|
+
query?: never;
|
|
2790
|
+
header?: never;
|
|
2791
|
+
path?: never;
|
|
2792
|
+
cookie?: never;
|
|
2793
|
+
};
|
|
2794
|
+
requestBody: {
|
|
2795
|
+
content: {
|
|
2796
|
+
"application/json": components["schemas"]["ForgotPassword"];
|
|
2797
|
+
"application/x-www-form-urlencoded": components["schemas"]["ForgotPassword"];
|
|
2798
|
+
"multipart/form-data": components["schemas"]["ForgotPassword"];
|
|
2799
|
+
};
|
|
2800
|
+
};
|
|
2801
|
+
responses: {
|
|
2802
|
+
/** @description No response body */
|
|
2803
|
+
200: {
|
|
2804
|
+
headers: {
|
|
2805
|
+
[name: string]: unknown;
|
|
2806
|
+
};
|
|
2807
|
+
content?: never;
|
|
2808
|
+
};
|
|
2809
|
+
};
|
|
2810
|
+
};
|
|
2811
|
+
v1_auth_token_refresh_create: {
|
|
2812
|
+
parameters: {
|
|
2813
|
+
query?: never;
|
|
2814
|
+
header?: never;
|
|
2815
|
+
path?: never;
|
|
2816
|
+
cookie?: never;
|
|
2817
|
+
};
|
|
2818
|
+
requestBody: {
|
|
2819
|
+
content: {
|
|
2820
|
+
"application/json": components["schemas"]["CustomTokenRefresh"];
|
|
2821
|
+
"application/x-www-form-urlencoded": components["schemas"]["CustomTokenRefresh"];
|
|
2822
|
+
"multipart/form-data": components["schemas"]["CustomTokenRefresh"];
|
|
2823
|
+
};
|
|
2824
|
+
};
|
|
2825
|
+
responses: {
|
|
2826
|
+
200: {
|
|
2827
|
+
headers: {
|
|
2828
|
+
[name: string]: unknown;
|
|
2829
|
+
};
|
|
2830
|
+
content: {
|
|
2831
|
+
"application/json": components["schemas"]["CustomTokenRefresh"];
|
|
2832
|
+
};
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
};
|
|
2836
|
+
v1_auth_token_revoke_create: {
|
|
2837
|
+
parameters: {
|
|
2838
|
+
query?: never;
|
|
2839
|
+
header?: never;
|
|
2840
|
+
path?: never;
|
|
2841
|
+
cookie?: never;
|
|
2842
|
+
};
|
|
2843
|
+
requestBody: {
|
|
2844
|
+
content: {
|
|
2845
|
+
"application/json": components["schemas"]["TokenRevoke"];
|
|
2846
|
+
"application/x-www-form-urlencoded": components["schemas"]["TokenRevoke"];
|
|
2847
|
+
"multipart/form-data": components["schemas"]["TokenRevoke"];
|
|
2848
|
+
};
|
|
2849
|
+
};
|
|
2850
|
+
responses: {
|
|
2851
|
+
200: {
|
|
2852
|
+
headers: {
|
|
2853
|
+
[name: string]: unknown;
|
|
2854
|
+
};
|
|
2855
|
+
content: {
|
|
2856
|
+
"application/json": components["schemas"]["TokenRevoke"];
|
|
2857
|
+
};
|
|
2858
|
+
};
|
|
2859
|
+
};
|
|
2860
|
+
};
|
|
2861
|
+
v1_auth_token_verify_create: {
|
|
2862
|
+
parameters: {
|
|
2863
|
+
query?: never;
|
|
2864
|
+
header?: never;
|
|
2865
|
+
path?: never;
|
|
2866
|
+
cookie?: never;
|
|
2867
|
+
};
|
|
2868
|
+
requestBody: {
|
|
2869
|
+
content: {
|
|
2870
|
+
"application/json": components["schemas"]["TokenVerify"];
|
|
2871
|
+
"application/x-www-form-urlencoded": components["schemas"]["TokenVerify"];
|
|
2872
|
+
"multipart/form-data": components["schemas"]["TokenVerify"];
|
|
2873
|
+
};
|
|
2874
|
+
};
|
|
2875
|
+
responses: {
|
|
2876
|
+
200: {
|
|
2877
|
+
headers: {
|
|
2878
|
+
[name: string]: unknown;
|
|
2879
|
+
};
|
|
2880
|
+
content: {
|
|
2881
|
+
"application/json": components["schemas"]["TokenVerify"];
|
|
2882
|
+
};
|
|
2883
|
+
};
|
|
2884
|
+
};
|
|
2885
|
+
};
|
|
2886
|
+
v1_auth_user_security_partial_update: {
|
|
2887
|
+
parameters: {
|
|
2888
|
+
query?: never;
|
|
2889
|
+
header?: never;
|
|
2890
|
+
path?: never;
|
|
2891
|
+
cookie?: never;
|
|
2892
|
+
};
|
|
2893
|
+
requestBody?: {
|
|
2894
|
+
content: {
|
|
2895
|
+
"application/json": components["schemas"]["PatchedUserSecurityUpdate"];
|
|
2896
|
+
"application/x-www-form-urlencoded": components["schemas"]["PatchedUserSecurityUpdate"];
|
|
2897
|
+
"multipart/form-data": components["schemas"]["PatchedUserSecurityUpdate"];
|
|
2898
|
+
};
|
|
2899
|
+
};
|
|
2900
|
+
responses: {
|
|
2901
|
+
200: {
|
|
2902
|
+
headers: {
|
|
2903
|
+
[name: string]: unknown;
|
|
2904
|
+
};
|
|
2905
|
+
content: {
|
|
2906
|
+
"application/json": components["schemas"]["User"];
|
|
2907
|
+
};
|
|
2908
|
+
};
|
|
2909
|
+
};
|
|
2910
|
+
};
|
|
2911
|
+
v1_auth_verify_otp_create: {
|
|
2912
|
+
parameters: {
|
|
2913
|
+
query?: never;
|
|
2914
|
+
header?: never;
|
|
2915
|
+
path?: never;
|
|
2916
|
+
cookie?: never;
|
|
2917
|
+
};
|
|
2918
|
+
requestBody: {
|
|
2919
|
+
content: {
|
|
2920
|
+
"application/json": components["schemas"]["VerifyOTP"];
|
|
2921
|
+
"application/x-www-form-urlencoded": components["schemas"]["VerifyOTP"];
|
|
2922
|
+
"multipart/form-data": components["schemas"]["VerifyOTP"];
|
|
2923
|
+
};
|
|
2924
|
+
};
|
|
2925
|
+
responses: {
|
|
2926
|
+
/** @description No response body */
|
|
2927
|
+
200: {
|
|
2928
|
+
headers: {
|
|
2929
|
+
[name: string]: unknown;
|
|
2930
|
+
};
|
|
2931
|
+
content?: never;
|
|
2932
|
+
};
|
|
2933
|
+
};
|
|
2934
|
+
};
|
|
2935
|
+
}
|