@blezgo/api-sdk 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/generated.d.ts +193 -193
- package/dist/account/generated.d.ts.map +1 -1
- package/dist/activity/generated.d.ts +64 -64
- package/dist/activity/generated.d.ts.map +1 -1
- package/dist/addon/generated.d.ts +96 -96
- package/dist/addon/generated.d.ts.map +1 -1
- package/dist/admin/generated.d.ts +120 -120
- package/dist/admin/generated.d.ts.map +1 -1
- package/dist/affiliate/generated.d.ts +84 -85
- package/dist/affiliate/generated.d.ts.map +1 -1
- package/dist/analytics/generated.d.ts +15 -15
- package/dist/analytics/generated.d.ts.map +1 -1
- package/dist/announcements/generated.d.ts +100 -100
- package/dist/announcements/generated.d.ts.map +1 -1
- package/dist/apikeys/generated.d.ts +100 -100
- package/dist/apikeys/generated.d.ts.map +1 -1
- package/dist/assistance/generated.d.ts +12 -12
- package/dist/assistance/generated.d.ts.map +1 -1
- package/dist/authentication/generated.d.ts +95 -95
- package/dist/authentication/generated.d.ts.map +1 -1
- package/dist/blog/generated.d.ts +169 -169
- package/dist/blog/generated.d.ts.map +1 -1
- package/dist/bundle/generated.d.ts +168 -168
- package/dist/bundle/generated.d.ts.map +1 -1
- package/dist/cache/generated.d.ts +38 -38
- package/dist/cache/generated.d.ts.map +1 -1
- package/dist/calendar/generated.d.ts +38 -38
- package/dist/calendar/generated.d.ts.map +1 -1
- package/dist/campaigns/generated.d.ts +196 -196
- package/dist/campaigns/generated.d.ts.map +1 -1
- package/dist/cart/generated.d.ts +9 -9
- package/dist/cart/generated.d.ts.map +1 -1
- package/dist/changelog/generated.d.ts +88 -88
- package/dist/changelog/generated.d.ts.map +1 -1
- package/dist/channel/generated.d.ts +252 -252
- package/dist/channel/generated.d.ts.map +1 -1
- package/dist/company/generated.d.ts +58 -58
- package/dist/company/generated.d.ts.map +1 -1
- package/dist/conference/generated.d.ts +30 -30
- package/dist/conference/generated.d.ts.map +1 -1
- package/dist/config/generated.d.ts +25 -25
- package/dist/config/generated.d.ts.map +1 -1
- package/dist/content/generated.d.ts +658 -658
- package/dist/content/generated.d.ts.map +1 -1
- package/dist/cookies/generated.d.ts +46 -46
- package/dist/cookies/generated.d.ts.map +1 -1
- package/dist/courses/generated.d.ts +250 -250
- package/dist/courses/generated.d.ts.map +1 -1
- package/dist/custom/generated.d.ts +70 -70
- package/dist/custom/generated.d.ts.map +1 -1
- package/dist/dashboard/generated.d.ts +202 -202
- package/dist/dashboard/generated.d.ts.map +1 -1
- package/dist/elasticsearch/generated.d.ts +25 -25
- package/dist/elasticsearch/generated.d.ts.map +1 -1
- package/dist/enrollments/generated.d.ts +9 -9
- package/dist/enrollments/generated.d.ts.map +1 -1
- package/dist/errors/generated.d.ts +30 -30
- package/dist/errors/generated.d.ts.map +1 -1
- package/dist/eventconfig/generated.d.ts +103 -103
- package/dist/eventconfig/generated.d.ts.map +1 -1
- package/dist/funnels/generated.d.ts +94 -95
- package/dist/funnels/generated.d.ts.map +1 -1
- package/dist/gamification/generated.d.ts +103 -103
- package/dist/gamification/generated.d.ts.map +1 -1
- package/dist/impersonation/generated.d.ts +77 -77
- package/dist/impersonation/generated.d.ts.map +1 -1
- package/dist/inbox/generated.d.ts +99 -99
- package/dist/inbox/generated.d.ts.map +1 -1
- package/dist/internal/generated.d.ts +9 -9
- package/dist/internal/generated.d.ts.map +1 -1
- package/dist/internationalization/generated.d.ts +11 -11
- package/dist/internationalization/generated.d.ts.map +1 -1
- package/dist/invitations/generated.d.ts +131 -131
- package/dist/invitations/generated.d.ts.map +1 -1
- package/dist/meetings/generated.d.ts +251 -251
- package/dist/meetings/generated.d.ts.map +1 -1
- package/dist/metas/generated.d.ts +183 -183
- package/dist/metas/generated.d.ts.map +1 -1
- package/dist/notification/generated.d.ts +379 -379
- package/dist/notification/generated.d.ts.map +1 -1
- package/dist/notifications/generated.d.ts +9 -9
- package/dist/notifications/generated.d.ts.map +1 -1
- package/dist/onboarding/generated.d.ts +124 -124
- package/dist/onboarding/generated.d.ts.map +1 -1
- package/dist/packages/generated.d.ts +59 -59
- package/dist/packages/generated.d.ts.map +1 -1
- package/dist/payments/generated.d.ts +555 -558
- package/dist/payments/generated.d.ts.map +1 -1
- package/dist/payouts/generated.d.ts +9 -9
- package/dist/payouts/generated.d.ts.map +1 -1
- package/dist/plans/generated.d.ts +227 -227
- package/dist/plans/generated.d.ts.map +1 -1
- package/dist/pricing/generated.d.ts +34 -34
- package/dist/pricing/generated.d.ts.map +1 -1
- package/dist/products/generated.d.ts +610 -610
- package/dist/products/generated.d.ts.map +1 -1
- package/dist/profile/generated.d.ts +286 -286
- package/dist/profile/generated.d.ts.map +1 -1
- package/dist/reasons/generated.d.ts +32 -32
- package/dist/reasons/generated.d.ts.map +1 -1
- package/dist/registration/generated.d.ts +164 -164
- package/dist/registration/generated.d.ts.map +1 -1
- package/dist/reviews/generated.d.ts +51 -51
- package/dist/reviews/generated.d.ts.map +1 -1
- package/dist/role/generated.d.ts +899 -401
- package/dist/role/generated.d.ts.map +1 -1
- package/dist/scheduling/generated.d.ts +156 -156
- package/dist/scheduling/generated.d.ts.map +1 -1
- package/dist/services/generated.d.ts +1028 -1028
- package/dist/services/generated.d.ts.map +1 -1
- package/dist/sessions/generated.d.ts +247 -247
- package/dist/sessions/generated.d.ts.map +1 -1
- package/dist/spaces/generated.d.ts +419 -419
- package/dist/spaces/generated.d.ts.map +1 -1
- package/dist/storefront/generated.d.ts +9 -9
- package/dist/storefront/generated.d.ts.map +1 -1
- package/dist/support/generated.d.ts +1510 -1510
- package/dist/support/generated.d.ts.map +1 -1
- package/dist/sync/generated.d.ts +179 -179
- package/dist/sync/generated.d.ts.map +1 -1
- package/dist/tenant/generated.d.ts +537 -537
- package/dist/tenant/generated.d.ts.map +1 -1
- package/dist/testimonials/generated.d.ts +79 -79
- package/dist/testimonials/generated.d.ts.map +1 -1
- package/dist/tests/generated.d.ts +343 -343
- package/dist/tests/generated.d.ts.map +1 -1
- package/dist/tokens/generated.d.ts +37 -37
- package/dist/tokens/generated.d.ts.map +1 -1
- package/dist/uploads/generated.d.ts +33 -33
- package/dist/uploads/generated.d.ts.map +1 -1
- package/dist/upsell/generated.d.ts +82 -82
- package/dist/upsell/generated.d.ts.map +1 -1
- package/dist/user/generated.d.ts +280 -541
- package/dist/user/generated.d.ts.map +1 -1
- package/dist/webinars/generated.d.ts +183 -183
- package/dist/webinars/generated.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1217,276 +1217,169 @@ export type webhooks = Record<string, never>;
|
|
|
1217
1217
|
export interface components {
|
|
1218
1218
|
schemas: {
|
|
1219
1219
|
/**
|
|
1220
|
-
*
|
|
1221
|
-
* @description
|
|
1222
|
-
*/
|
|
1223
|
-
VariantUpdateRequest: {
|
|
1224
|
-
/** Name */
|
|
1225
|
-
name?: string | null;
|
|
1226
|
-
/** Sku */
|
|
1227
|
-
sku?: string | null;
|
|
1228
|
-
/** Barcode */
|
|
1229
|
-
barcode?: string | null;
|
|
1230
|
-
/** Attributes */
|
|
1231
|
-
attributes?: {
|
|
1232
|
-
[key: string]: unknown;
|
|
1233
|
-
} | null;
|
|
1234
|
-
/** Is Default */
|
|
1235
|
-
is_default?: boolean | null;
|
|
1236
|
-
status?: components["schemas"]["VariantStatus"] | null;
|
|
1237
|
-
/** Display Order */
|
|
1238
|
-
display_order?: number | null;
|
|
1239
|
-
/** Metadata */
|
|
1240
|
-
metadata?: {
|
|
1241
|
-
[key: string]: unknown;
|
|
1242
|
-
} | null;
|
|
1243
|
-
/** Track Inventory */
|
|
1244
|
-
track_inventory?: boolean | null;
|
|
1245
|
-
/** Stock Quantity */
|
|
1246
|
-
stock_quantity?: number | null;
|
|
1247
|
-
/** Allow Backorder */
|
|
1248
|
-
allow_backorder?: boolean | null;
|
|
1249
|
-
/** Weight */
|
|
1250
|
-
weight?: number | string | null;
|
|
1251
|
-
/** Length */
|
|
1252
|
-
length?: number | string | null;
|
|
1253
|
-
/** Width */
|
|
1254
|
-
width?: number | string | null;
|
|
1255
|
-
/** Height */
|
|
1256
|
-
height?: number | string | null;
|
|
1257
|
-
};
|
|
1258
|
-
ErrorResponse: {
|
|
1259
|
-
/** @example about:blank */
|
|
1260
|
-
type?: string;
|
|
1261
|
-
/** @example GENERIC_ERROR */
|
|
1262
|
-
code?: string;
|
|
1263
|
-
/** @example Client Error */
|
|
1264
|
-
title?: string;
|
|
1265
|
-
/** @example 400 */
|
|
1266
|
-
status?: number;
|
|
1267
|
-
/** @example An error occurred */
|
|
1268
|
-
detail?: string;
|
|
1269
|
-
/** @example /v1/cart/items */
|
|
1270
|
-
instance?: string;
|
|
1271
|
-
extensions?: components["schemas"]["Extensions"];
|
|
1272
|
-
};
|
|
1273
|
-
/**
|
|
1274
|
-
* VariantStatus
|
|
1275
|
-
* @description Variant status enum.
|
|
1276
|
-
* @enum {string}
|
|
1277
|
-
*/
|
|
1278
|
-
VariantStatus: "active" | "inactive" | "out_of_stock" | "discontinued";
|
|
1279
|
-
/**
|
|
1280
|
-
* SeoUpsertRequest
|
|
1281
|
-
* @description Unified SEO upsert schema for all entity types (space, product, service, ...).
|
|
1282
|
-
*
|
|
1283
|
-
* Locale is NOT in this body — it comes from the URL path:
|
|
1284
|
-
* PUT /v1/spaces/admin/{space_id}/seo/{locale}
|
|
1285
|
-
* PUT /v1/products/{product_id}/seo/{locale}
|
|
1286
|
-
*
|
|
1287
|
-
* All fields are optional; supply only what you want to set.
|
|
1288
|
-
* Fields absent from the request body are stored as NULL (PUT semantics — full replace).
|
|
1289
|
-
*
|
|
1290
|
-
* extra='forbid' inherited from BaseSeoFields — unknown keys are rejected.
|
|
1291
|
-
* All validators (robots, URL, og_locale, twitter handle, alternate_languages)
|
|
1292
|
-
* are also inherited from BaseSeoFields.
|
|
1293
|
-
* @example {
|
|
1294
|
-
* "alternate_languages": [
|
|
1295
|
-
* {
|
|
1296
|
-
* "lang": "en-US",
|
|
1297
|
-
* "url": "https://www.example.com/courses/python"
|
|
1298
|
-
* },
|
|
1299
|
-
* {
|
|
1300
|
-
* "lang": "es-PR",
|
|
1301
|
-
* "url": "https://www.example.com/es/cursos/python"
|
|
1302
|
-
* },
|
|
1303
|
-
* {
|
|
1304
|
-
* "lang": "fr-FR",
|
|
1305
|
-
* "url": "https://www.example.com/fr/cours/python"
|
|
1306
|
-
* },
|
|
1307
|
-
* {
|
|
1308
|
-
* "lang": "x-default",
|
|
1309
|
-
* "url": "https://www.example.com/courses/python"
|
|
1310
|
-
* }
|
|
1311
|
-
* ],
|
|
1312
|
-
* "canonical_url": "https://www.example.com/courses/python",
|
|
1313
|
-
* "is_indexable": true,
|
|
1314
|
-
* "meta_description": "Explore our full library of Python courses. Beginner to advanced, taught by industry experts.",
|
|
1315
|
-
* "meta_keywords": "python, programming, learn python, python course, coding",
|
|
1316
|
-
* "meta_title": "Browse Python Courses — Learn at Any Level",
|
|
1317
|
-
* "og_description": "From beginner to advanced. Join 50,000+ learners on MyPlatform.",
|
|
1318
|
-
* "og_image": "https://cdn.example.com/og/python-courses.jpg",
|
|
1319
|
-
* "og_image_alt": "A student learning Python on a laptop in a modern workspace",
|
|
1320
|
-
* "og_image_height": 630,
|
|
1321
|
-
* "og_image_width": 1200,
|
|
1322
|
-
* "og_locale": "en_US",
|
|
1323
|
-
* "og_site_name": "MyPlatform",
|
|
1324
|
-
* "og_title": "Python Courses — Learn at Your Own Pace",
|
|
1325
|
-
* "og_type": "website",
|
|
1326
|
-
* "og_url": "https://www.example.com/courses/python",
|
|
1327
|
-
* "robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:30",
|
|
1328
|
-
* "structured_data": {
|
|
1329
|
-
* "@context": "https://schema.org",
|
|
1330
|
-
* "@type": "ItemList",
|
|
1331
|
-
* "description": "Browse all Python courses on MyPlatform",
|
|
1332
|
-
* "itemListElement": [
|
|
1333
|
-
* {
|
|
1334
|
-
* "@type": "ListItem",
|
|
1335
|
-
* "name": "Python for Beginners",
|
|
1336
|
-
* "position": 1,
|
|
1337
|
-
* "url": "https://www.example.com/courses/python-beginners"
|
|
1338
|
-
* },
|
|
1339
|
-
* {
|
|
1340
|
-
* "@type": "ListItem",
|
|
1341
|
-
* "name": "Advanced Python",
|
|
1342
|
-
* "position": 2,
|
|
1343
|
-
* "url": "https://www.example.com/courses/python-advanced"
|
|
1344
|
-
* }
|
|
1345
|
-
* ],
|
|
1346
|
-
* "name": "Python Courses",
|
|
1347
|
-
* "numberOfItems": 42,
|
|
1348
|
-
* "url": "https://www.example.com/courses/python"
|
|
1349
|
-
* },
|
|
1350
|
-
* "twitter_card": "summary_large_image",
|
|
1351
|
-
* "twitter_creator": "@myplatform",
|
|
1352
|
-
* "twitter_description": "From beginner to advanced. Join 50,000+ learners.",
|
|
1353
|
-
* "twitter_image": "https://cdn.example.com/twitter/python-courses.jpg",
|
|
1354
|
-
* "twitter_image_alt": "A student learning Python on a laptop",
|
|
1355
|
-
* "twitter_site": "@myplatform",
|
|
1356
|
-
* "twitter_title": "Python Courses on MyPlatform"
|
|
1357
|
-
* }
|
|
1220
|
+
* ProductIdentityCreateRequest
|
|
1221
|
+
* @description Create localized product content
|
|
1358
1222
|
*/
|
|
1359
|
-
|
|
1360
|
-
/**
|
|
1361
|
-
* Og Title
|
|
1362
|
-
* @description og:title — headline shown in social link previews. Defaults to the entity title if omitted. Keep ≤95 chars.
|
|
1363
|
-
*/
|
|
1364
|
-
og_title?: string | null;
|
|
1365
|
-
/**
|
|
1366
|
-
* Og Description
|
|
1367
|
-
* @description og:description — subtitle shown in social link previews.
|
|
1368
|
-
*/
|
|
1369
|
-
og_description?: string | null;
|
|
1370
|
-
/**
|
|
1371
|
-
* Og Image
|
|
1372
|
-
* @description og:image — full URL (http/https) of the preview image. Recommended size: 1200×630 px.
|
|
1373
|
-
*/
|
|
1374
|
-
og_image?: string | null;
|
|
1375
|
-
/**
|
|
1376
|
-
* Og Type
|
|
1377
|
-
* @description og:type — content type for social platforms. Values: 'website' | 'article' | 'product' | 'video.other' | 'music.song' | 'profile' | 'book'.
|
|
1378
|
-
*/
|
|
1379
|
-
og_type?: ("website" | "article" | "product" | "video.other" | "music.song" | "profile" | "book") | null;
|
|
1380
|
-
/**
|
|
1381
|
-
* Twitter Card
|
|
1382
|
-
* @description twitter:card — card layout on Twitter/X. Values: 'summary' | 'summary_large_image' | 'app' | 'player'.
|
|
1383
|
-
*/
|
|
1384
|
-
twitter_card?: ("summary" | "summary_large_image" | "app" | "player") | null;
|
|
1385
|
-
/**
|
|
1386
|
-
* Twitter Title
|
|
1387
|
-
* @description twitter:title — overrides og_title for Twitter/X. Keep ≤70 chars.
|
|
1388
|
-
*/
|
|
1389
|
-
twitter_title?: string | null;
|
|
1390
|
-
/**
|
|
1391
|
-
* Twitter Description
|
|
1392
|
-
* @description twitter:description — overrides og_description for Twitter/X.
|
|
1393
|
-
*/
|
|
1394
|
-
twitter_description?: string | null;
|
|
1395
|
-
/**
|
|
1396
|
-
* Twitter Image
|
|
1397
|
-
* @description twitter:image — full URL (http/https). Overrides og_image for Twitter/X. Min 144×144 px, max 4096×4096 px.
|
|
1398
|
-
*/
|
|
1399
|
-
twitter_image?: string | null;
|
|
1400
|
-
/**
|
|
1401
|
-
* Canonical Url
|
|
1402
|
-
* @description <link rel='canonical'>. Full URL (http/https). Set when this page has duplicate content at another URL.
|
|
1403
|
-
*/
|
|
1404
|
-
canonical_url?: string | null;
|
|
1405
|
-
/**
|
|
1406
|
-
* Robots
|
|
1407
|
-
* @description <meta name='robots'>. Comma-separated directives. Simple: index, noindex, follow, nofollow, noarchive, nosnippet, noimageindex, none, all, notranslate, noodp. Parametric: max-snippet:-1, max-snippet:150, max-image-preview:none|standard|large, max-video-preview:-1, max-video-preview:30, unavailable_after:<date>. Examples: 'index,follow' | 'noindex,nofollow' | 'index,follow,max-snippet:-1,max-image-preview:large'.
|
|
1408
|
-
*/
|
|
1409
|
-
robots?: string | null;
|
|
1223
|
+
ProductIdentityCreateRequest: {
|
|
1410
1224
|
/**
|
|
1411
|
-
*
|
|
1412
|
-
* @
|
|
1225
|
+
* @description Locale (language-country format)
|
|
1226
|
+
* @example en-US
|
|
1413
1227
|
*/
|
|
1414
|
-
|
|
1228
|
+
locale: components["schemas"]["Locale"];
|
|
1415
1229
|
/**
|
|
1416
|
-
*
|
|
1417
|
-
* @
|
|
1230
|
+
* Title
|
|
1231
|
+
* @example Python Programming Course
|
|
1418
1232
|
*/
|
|
1419
|
-
|
|
1233
|
+
title: string;
|
|
1420
1234
|
/**
|
|
1421
|
-
*
|
|
1422
|
-
* @
|
|
1235
|
+
* Subtitle
|
|
1236
|
+
* @example Master Python in 30 days
|
|
1423
1237
|
*/
|
|
1424
|
-
|
|
1238
|
+
subtitle?: string | null;
|
|
1425
1239
|
/**
|
|
1426
|
-
*
|
|
1427
|
-
* @
|
|
1240
|
+
* Description
|
|
1241
|
+
* @example Comprehensive Python course covering basics to advanced topics
|
|
1428
1242
|
*/
|
|
1429
|
-
|
|
1243
|
+
description?: string | null;
|
|
1430
1244
|
/**
|
|
1431
|
-
*
|
|
1432
|
-
* @
|
|
1245
|
+
* Short Description
|
|
1246
|
+
* @example Learn Python from scratch with hands-on projects
|
|
1433
1247
|
*/
|
|
1434
|
-
|
|
1248
|
+
short_description?: string | null;
|
|
1249
|
+
};
|
|
1250
|
+
/**
|
|
1251
|
+
* Locale
|
|
1252
|
+
* @description Supported locales (language-country format)
|
|
1253
|
+
* @enum {string}
|
|
1254
|
+
*/
|
|
1255
|
+
Locale: "en-US" | "es-PR" | "es-ES" | "fr-FR" | "pt-BR" | "de-DE" | "it-IT" | "ja-JP" | "zh-CN";
|
|
1256
|
+
/**
|
|
1257
|
+
* AddTagToProductRequest
|
|
1258
|
+
* @example {
|
|
1259
|
+
* "display_order": 0,
|
|
1260
|
+
* "tag_id": 5
|
|
1261
|
+
* }
|
|
1262
|
+
*/
|
|
1263
|
+
AddTagToProductRequest: {
|
|
1435
1264
|
/**
|
|
1436
|
-
*
|
|
1437
|
-
* @
|
|
1265
|
+
* Tag Id
|
|
1266
|
+
* @example 5
|
|
1438
1267
|
*/
|
|
1439
|
-
|
|
1268
|
+
tag_id: number;
|
|
1440
1269
|
/**
|
|
1441
|
-
*
|
|
1442
|
-
* @
|
|
1270
|
+
* Display Order
|
|
1271
|
+
* @default 0
|
|
1272
|
+
* @example 0
|
|
1443
1273
|
*/
|
|
1444
|
-
|
|
1274
|
+
display_order: number;
|
|
1275
|
+
};
|
|
1276
|
+
/**
|
|
1277
|
+
* ProductCurrency
|
|
1278
|
+
* @enum {string}
|
|
1279
|
+
*/
|
|
1280
|
+
ProductCurrency: "USD" | "INR" | "EUR" | "GBP";
|
|
1281
|
+
/**
|
|
1282
|
+
* VariantStatus
|
|
1283
|
+
* @description Variant status enum.
|
|
1284
|
+
* @enum {string}
|
|
1285
|
+
*/
|
|
1286
|
+
VariantStatus: "active" | "inactive" | "out_of_stock" | "discontinued";
|
|
1287
|
+
/**
|
|
1288
|
+
* ProductStatus
|
|
1289
|
+
* @description Product status values (Phase 1 - VARCHAR)
|
|
1290
|
+
* @enum {string}
|
|
1291
|
+
*/
|
|
1292
|
+
ProductStatus: "draft" | "published" | "archived" | "review_required" | "deleted";
|
|
1293
|
+
/**
|
|
1294
|
+
* AddBundleItemRequest
|
|
1295
|
+
* @example {
|
|
1296
|
+
* "discount_percentage": 10,
|
|
1297
|
+
* "display_order": 0,
|
|
1298
|
+
* "is_required": true,
|
|
1299
|
+
* "is_visible": true,
|
|
1300
|
+
* "item_product_id": 456,
|
|
1301
|
+
* "quantity": 1
|
|
1302
|
+
* }
|
|
1303
|
+
*/
|
|
1304
|
+
AddBundleItemRequest: {
|
|
1445
1305
|
/**
|
|
1446
|
-
*
|
|
1447
|
-
* @
|
|
1306
|
+
* Item Product Id
|
|
1307
|
+
* @example 456
|
|
1448
1308
|
*/
|
|
1449
|
-
|
|
1309
|
+
item_product_id: number;
|
|
1450
1310
|
/**
|
|
1451
|
-
*
|
|
1452
|
-
* @
|
|
1311
|
+
* Quantity
|
|
1312
|
+
* @default 1
|
|
1313
|
+
* @example 1
|
|
1453
1314
|
*/
|
|
1454
|
-
|
|
1315
|
+
quantity: number;
|
|
1455
1316
|
/**
|
|
1456
|
-
*
|
|
1457
|
-
* @description
|
|
1317
|
+
* Discount Percentage
|
|
1318
|
+
* @description Discount % (0-100)
|
|
1319
|
+
* @example 10
|
|
1458
1320
|
*/
|
|
1459
|
-
|
|
1321
|
+
discount_percentage?: number | null;
|
|
1460
1322
|
/**
|
|
1461
|
-
*
|
|
1462
|
-
* @description
|
|
1323
|
+
* Override Price
|
|
1324
|
+
* @description Override price for this item
|
|
1325
|
+
* @example 49.99
|
|
1463
1326
|
*/
|
|
1464
|
-
|
|
1327
|
+
override_price?: number | null;
|
|
1465
1328
|
/**
|
|
1466
|
-
*
|
|
1467
|
-
* @
|
|
1329
|
+
* Is Required
|
|
1330
|
+
* @default true
|
|
1331
|
+
* @example true
|
|
1468
1332
|
*/
|
|
1469
|
-
|
|
1333
|
+
is_required: boolean;
|
|
1470
1334
|
/**
|
|
1471
|
-
* Is
|
|
1472
|
-
* @description System-level indexing override. False → page is treated as noindex regardless of the robots field. True → robots field is authoritative.
|
|
1335
|
+
* Is Visible
|
|
1473
1336
|
* @default true
|
|
1337
|
+
* @example true
|
|
1474
1338
|
*/
|
|
1475
|
-
|
|
1339
|
+
is_visible: boolean;
|
|
1476
1340
|
/**
|
|
1477
|
-
*
|
|
1478
|
-
* @
|
|
1341
|
+
* Display Order
|
|
1342
|
+
* @default 0
|
|
1343
|
+
* @example 0
|
|
1479
1344
|
*/
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1345
|
+
display_order: number;
|
|
1346
|
+
};
|
|
1347
|
+
/**
|
|
1348
|
+
* ProductInterval
|
|
1349
|
+
* @enum {string}
|
|
1350
|
+
*/
|
|
1351
|
+
ProductInterval: "day" | "week" | "month" | "year";
|
|
1352
|
+
/** Body_createProductImageUpload */
|
|
1353
|
+
Body_createProductImageUpload: {
|
|
1483
1354
|
/**
|
|
1484
|
-
*
|
|
1485
|
-
*
|
|
1355
|
+
* Image File
|
|
1356
|
+
* Format: binary
|
|
1486
1357
|
*/
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1358
|
+
image_file: string;
|
|
1359
|
+
};
|
|
1360
|
+
Extensions: {
|
|
1361
|
+
/** @example GENERIC_ERROR */
|
|
1362
|
+
message_code?: string;
|
|
1363
|
+
/** @example [] */
|
|
1364
|
+
invalid_params?: components["schemas"]["InvalidParam"][];
|
|
1365
|
+
extra_data?: Record<string, never> | null;
|
|
1366
|
+
/** @example Detailed debug information */
|
|
1367
|
+
debug?: string | null;
|
|
1368
|
+
};
|
|
1369
|
+
ErrorResponse: {
|
|
1370
|
+
/** @example about:blank */
|
|
1371
|
+
type?: string;
|
|
1372
|
+
/** @example GENERIC_ERROR */
|
|
1373
|
+
code?: string;
|
|
1374
|
+
/** @example Client Error */
|
|
1375
|
+
title?: string;
|
|
1376
|
+
/** @example 400 */
|
|
1377
|
+
status?: number;
|
|
1378
|
+
/** @example An error occurred */
|
|
1379
|
+
detail?: string;
|
|
1380
|
+
/** @example /v1/cart/items */
|
|
1381
|
+
instance?: string;
|
|
1382
|
+
extensions?: components["schemas"]["Extensions"];
|
|
1490
1383
|
};
|
|
1491
1384
|
/**
|
|
1492
1385
|
* ProductUpdateRequest
|
|
@@ -1528,65 +1421,111 @@ export interface components {
|
|
|
1528
1421
|
*/
|
|
1529
1422
|
description?: string | null;
|
|
1530
1423
|
};
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
extra_data?: Record<string, never> | null;
|
|
1537
|
-
/** @example Detailed debug information */
|
|
1538
|
-
debug?: string | null;
|
|
1539
|
-
};
|
|
1540
|
-
InvalidParam: {
|
|
1541
|
-
/** @example items[0].quantity */
|
|
1542
|
-
field?: string;
|
|
1543
|
-
/** @example Input should be greater than or equal to 1 */
|
|
1544
|
-
error?: string;
|
|
1545
|
-
};
|
|
1546
|
-
/** Body_createProductImageUpload */
|
|
1547
|
-
Body_createProductImageUpload: {
|
|
1424
|
+
/**
|
|
1425
|
+
* VariantInventoryInput
|
|
1426
|
+
* @description Inventory data for variant creation.
|
|
1427
|
+
*/
|
|
1428
|
+
VariantInventoryInput: {
|
|
1548
1429
|
/**
|
|
1549
|
-
*
|
|
1550
|
-
*
|
|
1430
|
+
* Track Inventory
|
|
1431
|
+
* @description Track stock for this variant
|
|
1432
|
+
* @default true
|
|
1551
1433
|
*/
|
|
1552
|
-
|
|
1434
|
+
track_inventory: boolean;
|
|
1435
|
+
/**
|
|
1436
|
+
* Stock Quantity
|
|
1437
|
+
* @description Initial stock quantity
|
|
1438
|
+
*/
|
|
1439
|
+
stock_quantity?: number | null;
|
|
1440
|
+
/**
|
|
1441
|
+
* Allow Backorder
|
|
1442
|
+
* @description Allow orders when out of stock
|
|
1443
|
+
* @default false
|
|
1444
|
+
*/
|
|
1445
|
+
allow_backorder: boolean;
|
|
1446
|
+
};
|
|
1447
|
+
/**
|
|
1448
|
+
* VariantUpdateRequest
|
|
1449
|
+
* @description Request model for updating a variant.
|
|
1450
|
+
*/
|
|
1451
|
+
VariantUpdateRequest: {
|
|
1452
|
+
/** Name */
|
|
1453
|
+
name?: string | null;
|
|
1454
|
+
/** Sku */
|
|
1455
|
+
sku?: string | null;
|
|
1456
|
+
/** Barcode */
|
|
1457
|
+
barcode?: string | null;
|
|
1458
|
+
/** Attributes */
|
|
1459
|
+
attributes?: {
|
|
1460
|
+
[key: string]: unknown;
|
|
1461
|
+
} | null;
|
|
1462
|
+
/** Is Default */
|
|
1463
|
+
is_default?: boolean | null;
|
|
1464
|
+
status?: components["schemas"]["VariantStatus"] | null;
|
|
1465
|
+
/** Display Order */
|
|
1466
|
+
display_order?: number | null;
|
|
1467
|
+
/** Metadata */
|
|
1468
|
+
metadata?: {
|
|
1469
|
+
[key: string]: unknown;
|
|
1470
|
+
} | null;
|
|
1471
|
+
/** Track Inventory */
|
|
1472
|
+
track_inventory?: boolean | null;
|
|
1473
|
+
/** Stock Quantity */
|
|
1474
|
+
stock_quantity?: number | null;
|
|
1475
|
+
/** Allow Backorder */
|
|
1476
|
+
allow_backorder?: boolean | null;
|
|
1477
|
+
/** Weight */
|
|
1478
|
+
weight?: number | string | null;
|
|
1479
|
+
/** Length */
|
|
1480
|
+
length?: number | string | null;
|
|
1481
|
+
/** Width */
|
|
1482
|
+
width?: number | string | null;
|
|
1483
|
+
/** Height */
|
|
1484
|
+
height?: number | string | null;
|
|
1553
1485
|
};
|
|
1554
1486
|
/**
|
|
1555
|
-
*
|
|
1556
|
-
*
|
|
1557
|
-
*
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
*
|
|
1562
|
-
*
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
*
|
|
1567
|
-
*
|
|
1568
|
-
|
|
1569
|
-
ProductInterval: "day" | "week" | "month" | "year";
|
|
1570
|
-
/**
|
|
1571
|
-
* InventoryAdjustmentRequest
|
|
1572
|
-
* @description Request model for inventory adjustment.
|
|
1487
|
+
* @example {
|
|
1488
|
+
* "status": "success",
|
|
1489
|
+
* "message": "Operation successful",
|
|
1490
|
+
* "message_code": "api_suc_20001",
|
|
1491
|
+
* "data": {},
|
|
1492
|
+
* "metadata": {
|
|
1493
|
+
* "timestamp": "2026-03-26T10:00:00.000Z",
|
|
1494
|
+
* "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
|
|
1495
|
+
* "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
|
|
1496
|
+
* "version": "v1",
|
|
1497
|
+
* "executionTime": 42,
|
|
1498
|
+
* "language": "en-US"
|
|
1499
|
+
* }
|
|
1500
|
+
* }
|
|
1573
1501
|
*/
|
|
1574
|
-
|
|
1575
|
-
/**
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
/**
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1502
|
+
StandardResponse: {
|
|
1503
|
+
/** @example success */
|
|
1504
|
+
status?: string;
|
|
1505
|
+
data?: Record<string, never> | null;
|
|
1506
|
+
/** @example Operation successful */
|
|
1507
|
+
message?: string | null;
|
|
1508
|
+
/** @example api_suc_20001 */
|
|
1509
|
+
message_code?: string | null;
|
|
1510
|
+
metadata?: Record<string, never> | null;
|
|
1511
|
+
error?: components["schemas"]["ErrorResponse"];
|
|
1512
|
+
};
|
|
1513
|
+
/** ProductPriceUpdateRequest */
|
|
1514
|
+
ProductPriceUpdateRequest: {
|
|
1515
|
+
/** Amount */
|
|
1516
|
+
amount?: number | null;
|
|
1517
|
+
currency?: components["schemas"]["ProductCurrency"] | null;
|
|
1518
|
+
interval?: components["schemas"]["ProductInterval"] | null;
|
|
1519
|
+
/** Interval Count */
|
|
1520
|
+
interval_count?: number | null;
|
|
1521
|
+
/** Trial Period Days */
|
|
1522
|
+
trial_period_days?: number | null;
|
|
1523
|
+
/** Initial Amount */
|
|
1524
|
+
initial_amount?: number | null;
|
|
1525
|
+
/** Compare Price */
|
|
1526
|
+
compare_price?: number | null;
|
|
1527
|
+
/** Is Active */
|
|
1528
|
+
is_active?: boolean | null;
|
|
1590
1529
|
};
|
|
1591
1530
|
/**
|
|
1592
1531
|
* VariantCreateRequest
|
|
@@ -1669,65 +1608,240 @@ export interface components {
|
|
|
1669
1608
|
} | null;
|
|
1670
1609
|
};
|
|
1671
1610
|
/**
|
|
1672
|
-
*
|
|
1673
|
-
* @description
|
|
1611
|
+
* InventoryAdjustmentRequest
|
|
1612
|
+
* @description Request model for inventory adjustment.
|
|
1674
1613
|
*/
|
|
1675
|
-
|
|
1614
|
+
InventoryAdjustmentRequest: {
|
|
1615
|
+
/**
|
|
1616
|
+
* Adjustment Type
|
|
1617
|
+
* @description add, subtract, or set
|
|
1618
|
+
*/
|
|
1619
|
+
adjustment_type: string;
|
|
1620
|
+
/**
|
|
1621
|
+
* Quantity
|
|
1622
|
+
* @description Quantity to add/subtract/set
|
|
1623
|
+
*/
|
|
1624
|
+
quantity: number;
|
|
1625
|
+
/**
|
|
1626
|
+
* Reason
|
|
1627
|
+
* @description Reason for adjustment
|
|
1628
|
+
*/
|
|
1629
|
+
reason?: string | null;
|
|
1630
|
+
};
|
|
1631
|
+
/** ProductPriceRequest */
|
|
1632
|
+
ProductPriceRequest: {
|
|
1633
|
+
/**
|
|
1634
|
+
* Company Id
|
|
1635
|
+
* @description Company ID for gateway configuration
|
|
1636
|
+
* @example 1
|
|
1637
|
+
*/
|
|
1638
|
+
company_id: number;
|
|
1639
|
+
/** @example subscription */
|
|
1640
|
+
price_type: components["schemas"]["ProductPriceType"];
|
|
1641
|
+
/**
|
|
1642
|
+
* Amount
|
|
1643
|
+
* @example 52
|
|
1644
|
+
*/
|
|
1645
|
+
amount: number;
|
|
1646
|
+
/** @example USD */
|
|
1647
|
+
currency: components["schemas"]["ProductCurrency"];
|
|
1648
|
+
/**
|
|
1649
|
+
* Gateway
|
|
1650
|
+
* @example stripe
|
|
1651
|
+
*/
|
|
1652
|
+
gateway?: string | null;
|
|
1653
|
+
/**
|
|
1654
|
+
* Is Live
|
|
1655
|
+
* @default false
|
|
1656
|
+
* @example false
|
|
1657
|
+
*/
|
|
1658
|
+
is_live: boolean;
|
|
1659
|
+
/** @example month */
|
|
1660
|
+
interval?: components["schemas"]["ProductInterval"] | null;
|
|
1661
|
+
/**
|
|
1662
|
+
* Interval Count
|
|
1663
|
+
* @example 1
|
|
1664
|
+
*/
|
|
1665
|
+
interval_count?: number | null;
|
|
1666
|
+
/**
|
|
1667
|
+
* Trial Period Days
|
|
1668
|
+
* @default 0
|
|
1669
|
+
* @example 0
|
|
1670
|
+
*/
|
|
1671
|
+
trial_period_days: number | null;
|
|
1672
|
+
/**
|
|
1673
|
+
* Initial Amount
|
|
1674
|
+
* @example 0
|
|
1675
|
+
*/
|
|
1676
|
+
initial_amount?: number | null;
|
|
1677
|
+
/**
|
|
1678
|
+
* Compare Price
|
|
1679
|
+
* @example 0
|
|
1680
|
+
*/
|
|
1681
|
+
compare_price?: number | null;
|
|
1682
|
+
/**
|
|
1683
|
+
* Object Id
|
|
1684
|
+
* @example 0
|
|
1685
|
+
*/
|
|
1686
|
+
object_id?: number | null;
|
|
1687
|
+
/**
|
|
1688
|
+
* Module Id
|
|
1689
|
+
* @example 0
|
|
1690
|
+
*/
|
|
1691
|
+
module_id?: number | null;
|
|
1692
|
+
/**
|
|
1693
|
+
* Requires Payment Method Upfront
|
|
1694
|
+
* @description False=Gateway-managed trial (send trial to gateway), True=App-managed trial (don't send trial to gateway)
|
|
1695
|
+
* @default false
|
|
1696
|
+
* @example false
|
|
1697
|
+
*/
|
|
1698
|
+
requires_payment_method_upfront: boolean;
|
|
1699
|
+
};
|
|
1700
|
+
/** Body_createProductImage */
|
|
1701
|
+
Body_createProductImage: {
|
|
1702
|
+
/**
|
|
1703
|
+
* File
|
|
1704
|
+
* Format: binary
|
|
1705
|
+
*/
|
|
1706
|
+
file: string;
|
|
1707
|
+
};
|
|
1708
|
+
/**
|
|
1709
|
+
* ProductPriceType
|
|
1710
|
+
* @enum {string}
|
|
1711
|
+
*/
|
|
1712
|
+
ProductPriceType: "free" | "subscription" | "onetime" | "emi";
|
|
1713
|
+
InvalidParam: {
|
|
1714
|
+
/** @example items[0].quantity */
|
|
1715
|
+
field?: string;
|
|
1716
|
+
/** @example Input should be greater than or equal to 1 */
|
|
1717
|
+
error?: string;
|
|
1718
|
+
};
|
|
1719
|
+
/**
|
|
1720
|
+
* CreateTagRequest
|
|
1721
|
+
* @example {
|
|
1722
|
+
* "color": "#3776AB",
|
|
1723
|
+
* "description": "Programming language tag for Python courses",
|
|
1724
|
+
* "tag_name": "Python Programming",
|
|
1725
|
+
* "tag_type": "skill"
|
|
1726
|
+
* }
|
|
1727
|
+
*/
|
|
1728
|
+
app__routes__products__product_phase2_routes__CreateTagRequest: {
|
|
1729
|
+
/**
|
|
1730
|
+
* Tag Name
|
|
1731
|
+
* @example Python Programming
|
|
1732
|
+
*/
|
|
1733
|
+
tag_name: string;
|
|
1734
|
+
/**
|
|
1735
|
+
* Tag Type
|
|
1736
|
+
* @description category, topic, skill, difficulty
|
|
1737
|
+
* @example skill
|
|
1738
|
+
*/
|
|
1739
|
+
tag_type?: string | null;
|
|
1740
|
+
/**
|
|
1741
|
+
* Description
|
|
1742
|
+
* @example Programming language tag for Python courses
|
|
1743
|
+
*/
|
|
1744
|
+
description?: string | null;
|
|
1745
|
+
/**
|
|
1746
|
+
* Color
|
|
1747
|
+
* @description HEX color code
|
|
1748
|
+
* @example #3776AB
|
|
1749
|
+
*/
|
|
1750
|
+
color?: string | null;
|
|
1751
|
+
};
|
|
1752
|
+
/**
|
|
1753
|
+
* VariantImageInput
|
|
1754
|
+
* @description Image data for variant creation.
|
|
1755
|
+
*/
|
|
1756
|
+
VariantImageInput: {
|
|
1757
|
+
/**
|
|
1758
|
+
* Image Url
|
|
1759
|
+
* @description Image URL
|
|
1760
|
+
*/
|
|
1761
|
+
image_url: string;
|
|
1762
|
+
/**
|
|
1763
|
+
* Image Type
|
|
1764
|
+
* @description primary, gallery, thumbnail
|
|
1765
|
+
* @default primary
|
|
1766
|
+
*/
|
|
1767
|
+
image_type: string;
|
|
1768
|
+
/**
|
|
1769
|
+
* Display Order
|
|
1770
|
+
* @description Display order
|
|
1771
|
+
* @default 100
|
|
1772
|
+
*/
|
|
1773
|
+
display_order: number;
|
|
1774
|
+
};
|
|
1775
|
+
/**
|
|
1776
|
+
* ProductCreateRequest
|
|
1777
|
+
* @description Create new product (base record only)
|
|
1778
|
+
* Identity (title, description, images) managed separately via ProductIdentity endpoints
|
|
1779
|
+
*/
|
|
1780
|
+
ProductCreateRequest: {
|
|
1781
|
+
/**
|
|
1782
|
+
* Company Id
|
|
1783
|
+
* @description Company ID for multi-company orgs
|
|
1784
|
+
* @example 1
|
|
1785
|
+
*/
|
|
1786
|
+
company_id?: number | null;
|
|
1787
|
+
/**
|
|
1788
|
+
* @description Product type
|
|
1789
|
+
* @example course
|
|
1790
|
+
*/
|
|
1791
|
+
product_type: components["schemas"]["ProductType"];
|
|
1676
1792
|
/**
|
|
1677
|
-
*
|
|
1678
|
-
* @
|
|
1793
|
+
* Featured
|
|
1794
|
+
* @description Featured product flag
|
|
1795
|
+
* @default false
|
|
1796
|
+
* @example false
|
|
1679
1797
|
*/
|
|
1680
|
-
|
|
1798
|
+
featured: boolean;
|
|
1681
1799
|
/**
|
|
1682
|
-
*
|
|
1683
|
-
* @
|
|
1800
|
+
* Is Digital
|
|
1801
|
+
* @description Digital product (default: True)
|
|
1802
|
+
* @default true
|
|
1803
|
+
* @example true
|
|
1684
1804
|
*/
|
|
1685
|
-
|
|
1805
|
+
is_digital: boolean;
|
|
1686
1806
|
/**
|
|
1687
|
-
*
|
|
1688
|
-
* @
|
|
1807
|
+
* Visibility
|
|
1808
|
+
* @description Visibility: public, private, hidden, unlisted
|
|
1809
|
+
* @default public
|
|
1810
|
+
* @example public
|
|
1689
1811
|
*/
|
|
1690
|
-
|
|
1812
|
+
visibility: string | null;
|
|
1691
1813
|
/**
|
|
1692
|
-
*
|
|
1693
|
-
* @
|
|
1814
|
+
* Is Org Level
|
|
1815
|
+
* @description Organization-level product (True) vs user-created (False)
|
|
1816
|
+
* @default true
|
|
1817
|
+
* @example true
|
|
1694
1818
|
*/
|
|
1695
|
-
|
|
1819
|
+
is_org_level: boolean | null;
|
|
1696
1820
|
/**
|
|
1697
|
-
*
|
|
1698
|
-
* @
|
|
1821
|
+
* Staff Id
|
|
1822
|
+
* @description Staff/instructor who delivers this product
|
|
1823
|
+
* @example 5
|
|
1699
1824
|
*/
|
|
1700
|
-
|
|
1701
|
-
};
|
|
1702
|
-
/**
|
|
1703
|
-
* VariantInventoryInput
|
|
1704
|
-
* @description Inventory data for variant creation.
|
|
1705
|
-
*/
|
|
1706
|
-
VariantInventoryInput: {
|
|
1825
|
+
staff_id?: number | null;
|
|
1707
1826
|
/**
|
|
1708
|
-
*
|
|
1709
|
-
* @description
|
|
1710
|
-
* @
|
|
1827
|
+
* Owner Id
|
|
1828
|
+
* @description Owner of the product (user who created/owns it)
|
|
1829
|
+
* @example 10
|
|
1711
1830
|
*/
|
|
1712
|
-
|
|
1831
|
+
owner_id?: number | null;
|
|
1713
1832
|
/**
|
|
1714
|
-
*
|
|
1715
|
-
* @description
|
|
1833
|
+
* Title
|
|
1834
|
+
* @description DEPRECATED: Use ProductIdentity instead
|
|
1835
|
+
* @example Python Programming
|
|
1716
1836
|
*/
|
|
1717
|
-
|
|
1837
|
+
title?: string | null;
|
|
1718
1838
|
/**
|
|
1719
|
-
*
|
|
1720
|
-
* @description
|
|
1721
|
-
* @
|
|
1839
|
+
* Description
|
|
1840
|
+
* @description DEPRECATED: Use ProductIdentity instead
|
|
1841
|
+
* @example Learn Python from scratch
|
|
1722
1842
|
*/
|
|
1723
|
-
|
|
1843
|
+
description?: string | null;
|
|
1724
1844
|
};
|
|
1725
|
-
/**
|
|
1726
|
-
* Locale
|
|
1727
|
-
* @description Supported locales (language-country format)
|
|
1728
|
-
* @enum {string}
|
|
1729
|
-
*/
|
|
1730
|
-
Locale: "en-US" | "es-PR" | "es-ES" | "fr-FR" | "pt-BR" | "de-DE" | "it-IT" | "ja-JP" | "zh-CN";
|
|
1731
1845
|
/**
|
|
1732
1846
|
* VariantPricingInput
|
|
1733
1847
|
* @description Pricing data for variant creation.
|
|
@@ -1763,337 +1877,223 @@ export interface components {
|
|
|
1763
1877
|
*/
|
|
1764
1878
|
is_active: boolean;
|
|
1765
1879
|
};
|
|
1766
|
-
/** Body_createProductImage */
|
|
1767
|
-
Body_createProductImage: {
|
|
1768
|
-
/**
|
|
1769
|
-
* File
|
|
1770
|
-
* Format: binary
|
|
1771
|
-
*/
|
|
1772
|
-
file: string;
|
|
1773
|
-
};
|
|
1774
|
-
/**
|
|
1775
|
-
* AddBundleItemRequest
|
|
1776
|
-
* @example {
|
|
1777
|
-
* "discount_percentage": 10,
|
|
1778
|
-
* "display_order": 0,
|
|
1779
|
-
* "is_required": true,
|
|
1780
|
-
* "is_visible": true,
|
|
1781
|
-
* "item_product_id": 456,
|
|
1782
|
-
* "quantity": 1
|
|
1783
|
-
* }
|
|
1784
|
-
*/
|
|
1785
|
-
AddBundleItemRequest: {
|
|
1786
|
-
/**
|
|
1787
|
-
* Item Product Id
|
|
1788
|
-
* @example 456
|
|
1789
|
-
*/
|
|
1790
|
-
item_product_id: number;
|
|
1791
|
-
/**
|
|
1792
|
-
* Quantity
|
|
1793
|
-
* @default 1
|
|
1794
|
-
* @example 1
|
|
1795
|
-
*/
|
|
1796
|
-
quantity: number;
|
|
1797
|
-
/**
|
|
1798
|
-
* Discount Percentage
|
|
1799
|
-
* @description Discount % (0-100)
|
|
1800
|
-
* @example 10
|
|
1801
|
-
*/
|
|
1802
|
-
discount_percentage?: number | null;
|
|
1803
|
-
/**
|
|
1804
|
-
* Override Price
|
|
1805
|
-
* @description Override price for this item
|
|
1806
|
-
* @example 49.99
|
|
1807
|
-
*/
|
|
1808
|
-
override_price?: number | null;
|
|
1809
|
-
/**
|
|
1810
|
-
* Is Required
|
|
1811
|
-
* @default true
|
|
1812
|
-
* @example true
|
|
1813
|
-
*/
|
|
1814
|
-
is_required: boolean;
|
|
1815
|
-
/**
|
|
1816
|
-
* Is Visible
|
|
1817
|
-
* @default true
|
|
1818
|
-
* @example true
|
|
1819
|
-
*/
|
|
1820
|
-
is_visible: boolean;
|
|
1821
|
-
/**
|
|
1822
|
-
* Display Order
|
|
1823
|
-
* @default 0
|
|
1824
|
-
* @example 0
|
|
1825
|
-
*/
|
|
1826
|
-
display_order: number;
|
|
1827
|
-
};
|
|
1828
|
-
/**
|
|
1829
|
-
* AddTagToProductRequest
|
|
1830
|
-
* @example {
|
|
1831
|
-
* "display_order": 0,
|
|
1832
|
-
* "tag_id": 5
|
|
1833
|
-
* }
|
|
1834
|
-
*/
|
|
1835
|
-
AddTagToProductRequest: {
|
|
1836
|
-
/**
|
|
1837
|
-
* Tag Id
|
|
1838
|
-
* @example 5
|
|
1839
|
-
*/
|
|
1840
|
-
tag_id: number;
|
|
1841
|
-
/**
|
|
1842
|
-
* Display Order
|
|
1843
|
-
* @default 0
|
|
1844
|
-
* @example 0
|
|
1845
|
-
*/
|
|
1846
|
-
display_order: number;
|
|
1847
|
-
};
|
|
1848
1880
|
/**
|
|
1849
|
-
*
|
|
1881
|
+
* ProductType
|
|
1882
|
+
* @description Product types supported (11 active types)
|
|
1850
1883
|
* @enum {string}
|
|
1851
1884
|
*/
|
|
1852
|
-
|
|
1853
|
-
/** ProductPriceUpdateRequest */
|
|
1854
|
-
ProductPriceUpdateRequest: {
|
|
1855
|
-
/** Amount */
|
|
1856
|
-
amount?: number | null;
|
|
1857
|
-
currency?: components["schemas"]["ProductCurrency"] | null;
|
|
1858
|
-
interval?: components["schemas"]["ProductInterval"] | null;
|
|
1859
|
-
/** Interval Count */
|
|
1860
|
-
interval_count?: number | null;
|
|
1861
|
-
/** Trial Period Days */
|
|
1862
|
-
trial_period_days?: number | null;
|
|
1863
|
-
/** Initial Amount */
|
|
1864
|
-
initial_amount?: number | null;
|
|
1865
|
-
/** Compare Price */
|
|
1866
|
-
compare_price?: number | null;
|
|
1867
|
-
/** Is Active */
|
|
1868
|
-
is_active?: boolean | null;
|
|
1869
|
-
};
|
|
1885
|
+
ProductType: "course" | "package" | "session" | "webinar" | "bundle" | "meeting" | "open_class" | "plan" | "test" | "appointment" | "limit_minutes";
|
|
1870
1886
|
/**
|
|
1871
|
-
*
|
|
1872
|
-
* @description
|
|
1873
|
-
*
|
|
1887
|
+
* SeoUpsertRequest
|
|
1888
|
+
* @description Unified SEO upsert schema for all entity types (space, product, service, ...).
|
|
1889
|
+
*
|
|
1890
|
+
* Locale is NOT in this body — it comes from the URL path:
|
|
1891
|
+
* PUT /v1/spaces/admin/{space_id}/seo/{locale}
|
|
1892
|
+
* PUT /v1/products/{product_id}/seo/{locale}
|
|
1893
|
+
*
|
|
1894
|
+
* All fields are optional; supply only what you want to set.
|
|
1895
|
+
* Fields absent from the request body are stored as NULL (PUT semantics — full replace).
|
|
1896
|
+
*
|
|
1897
|
+
* extra='forbid' inherited from BaseSeoFields — unknown keys are rejected.
|
|
1898
|
+
* All validators (robots, URL, og_locale, twitter handle, alternate_languages)
|
|
1899
|
+
* are also inherited from BaseSeoFields.
|
|
1900
|
+
* @example {
|
|
1901
|
+
* "alternate_languages": [
|
|
1902
|
+
* {
|
|
1903
|
+
* "lang": "en-US",
|
|
1904
|
+
* "url": "https://www.example.com/courses/python"
|
|
1905
|
+
* },
|
|
1906
|
+
* {
|
|
1907
|
+
* "lang": "es-PR",
|
|
1908
|
+
* "url": "https://www.example.com/es/cursos/python"
|
|
1909
|
+
* },
|
|
1910
|
+
* {
|
|
1911
|
+
* "lang": "fr-FR",
|
|
1912
|
+
* "url": "https://www.example.com/fr/cours/python"
|
|
1913
|
+
* },
|
|
1914
|
+
* {
|
|
1915
|
+
* "lang": "x-default",
|
|
1916
|
+
* "url": "https://www.example.com/courses/python"
|
|
1917
|
+
* }
|
|
1918
|
+
* ],
|
|
1919
|
+
* "canonical_url": "https://www.example.com/courses/python",
|
|
1920
|
+
* "is_indexable": true,
|
|
1921
|
+
* "meta_description": "Explore our full library of Python courses. Beginner to advanced, taught by industry experts.",
|
|
1922
|
+
* "meta_keywords": "python, programming, learn python, python course, coding",
|
|
1923
|
+
* "meta_title": "Browse Python Courses — Learn at Any Level",
|
|
1924
|
+
* "og_description": "From beginner to advanced. Join 50,000+ learners on MyPlatform.",
|
|
1925
|
+
* "og_image": "https://cdn.example.com/og/python-courses.jpg",
|
|
1926
|
+
* "og_image_alt": "A student learning Python on a laptop in a modern workspace",
|
|
1927
|
+
* "og_image_height": 630,
|
|
1928
|
+
* "og_image_width": 1200,
|
|
1929
|
+
* "og_locale": "en_US",
|
|
1930
|
+
* "og_site_name": "MyPlatform",
|
|
1931
|
+
* "og_title": "Python Courses — Learn at Your Own Pace",
|
|
1932
|
+
* "og_type": "website",
|
|
1933
|
+
* "og_url": "https://www.example.com/courses/python",
|
|
1934
|
+
* "robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:30",
|
|
1935
|
+
* "structured_data": {
|
|
1936
|
+
* "@context": "https://schema.org",
|
|
1937
|
+
* "@type": "ItemList",
|
|
1938
|
+
* "description": "Browse all Python courses on MyPlatform",
|
|
1939
|
+
* "itemListElement": [
|
|
1940
|
+
* {
|
|
1941
|
+
* "@type": "ListItem",
|
|
1942
|
+
* "name": "Python for Beginners",
|
|
1943
|
+
* "position": 1,
|
|
1944
|
+
* "url": "https://www.example.com/courses/python-beginners"
|
|
1945
|
+
* },
|
|
1946
|
+
* {
|
|
1947
|
+
* "@type": "ListItem",
|
|
1948
|
+
* "name": "Advanced Python",
|
|
1949
|
+
* "position": 2,
|
|
1950
|
+
* "url": "https://www.example.com/courses/python-advanced"
|
|
1951
|
+
* }
|
|
1952
|
+
* ],
|
|
1953
|
+
* "name": "Python Courses",
|
|
1954
|
+
* "numberOfItems": 42,
|
|
1955
|
+
* "url": "https://www.example.com/courses/python"
|
|
1956
|
+
* },
|
|
1957
|
+
* "twitter_card": "summary_large_image",
|
|
1958
|
+
* "twitter_creator": "@myplatform",
|
|
1959
|
+
* "twitter_description": "From beginner to advanced. Join 50,000+ learners.",
|
|
1960
|
+
* "twitter_image": "https://cdn.example.com/twitter/python-courses.jpg",
|
|
1961
|
+
* "twitter_image_alt": "A student learning Python on a laptop",
|
|
1962
|
+
* "twitter_site": "@myplatform",
|
|
1963
|
+
* "twitter_title": "Python Courses on MyPlatform"
|
|
1964
|
+
* }
|
|
1874
1965
|
*/
|
|
1875
|
-
|
|
1876
|
-
/**
|
|
1877
|
-
* Company Id
|
|
1878
|
-
* @description Company ID for multi-company orgs
|
|
1879
|
-
* @example 1
|
|
1880
|
-
*/
|
|
1881
|
-
company_id?: number | null;
|
|
1882
|
-
/**
|
|
1883
|
-
* @description Product type
|
|
1884
|
-
* @example course
|
|
1885
|
-
*/
|
|
1886
|
-
product_type: components["schemas"]["ProductType"];
|
|
1887
|
-
/**
|
|
1888
|
-
* Featured
|
|
1889
|
-
* @description Featured product flag
|
|
1890
|
-
* @default false
|
|
1891
|
-
* @example false
|
|
1892
|
-
*/
|
|
1893
|
-
featured: boolean;
|
|
1966
|
+
SeoUpsertRequest: {
|
|
1894
1967
|
/**
|
|
1895
|
-
*
|
|
1896
|
-
* @description
|
|
1897
|
-
* @default true
|
|
1898
|
-
* @example true
|
|
1968
|
+
* Og Title
|
|
1969
|
+
* @description og:title — headline shown in social link previews. Defaults to the entity title if omitted. Keep ≤95 chars.
|
|
1899
1970
|
*/
|
|
1900
|
-
|
|
1971
|
+
og_title?: string | null;
|
|
1901
1972
|
/**
|
|
1902
|
-
*
|
|
1903
|
-
* @description
|
|
1904
|
-
* @default public
|
|
1905
|
-
* @example public
|
|
1973
|
+
* Og Description
|
|
1974
|
+
* @description og:description — subtitle shown in social link previews.
|
|
1906
1975
|
*/
|
|
1907
|
-
|
|
1976
|
+
og_description?: string | null;
|
|
1908
1977
|
/**
|
|
1909
|
-
*
|
|
1910
|
-
* @description
|
|
1911
|
-
* @default true
|
|
1912
|
-
* @example true
|
|
1978
|
+
* Og Image
|
|
1979
|
+
* @description og:image — full URL (http/https) of the preview image. Recommended size: 1200×630 px.
|
|
1913
1980
|
*/
|
|
1914
|
-
|
|
1981
|
+
og_image?: string | null;
|
|
1915
1982
|
/**
|
|
1916
|
-
*
|
|
1917
|
-
* @description
|
|
1918
|
-
* @example 5
|
|
1983
|
+
* Og Type
|
|
1984
|
+
* @description og:type — content type for social platforms. Values: 'website' | 'article' | 'product' | 'video.other' | 'music.song' | 'profile' | 'book'.
|
|
1919
1985
|
*/
|
|
1920
|
-
|
|
1986
|
+
og_type?: ("website" | "article" | "product" | "video.other" | "music.song" | "profile" | "book") | null;
|
|
1921
1987
|
/**
|
|
1922
|
-
*
|
|
1923
|
-
* @description
|
|
1924
|
-
* @example 10
|
|
1988
|
+
* Twitter Card
|
|
1989
|
+
* @description twitter:card — card layout on Twitter/X. Values: 'summary' | 'summary_large_image' | 'app' | 'player'.
|
|
1925
1990
|
*/
|
|
1926
|
-
|
|
1991
|
+
twitter_card?: ("summary" | "summary_large_image" | "app" | "player") | null;
|
|
1927
1992
|
/**
|
|
1928
|
-
* Title
|
|
1929
|
-
* @description
|
|
1930
|
-
* @example Python Programming
|
|
1993
|
+
* Twitter Title
|
|
1994
|
+
* @description twitter:title — overrides og_title for Twitter/X. Keep ≤70 chars.
|
|
1931
1995
|
*/
|
|
1932
|
-
|
|
1996
|
+
twitter_title?: string | null;
|
|
1933
1997
|
/**
|
|
1934
|
-
* Description
|
|
1935
|
-
* @description
|
|
1936
|
-
* @example Learn Python from scratch
|
|
1998
|
+
* Twitter Description
|
|
1999
|
+
* @description twitter:description — overrides og_description for Twitter/X.
|
|
1937
2000
|
*/
|
|
1938
|
-
|
|
1939
|
-
};
|
|
1940
|
-
/**
|
|
1941
|
-
* CreateTagRequest
|
|
1942
|
-
* @example {
|
|
1943
|
-
* "color": "#3776AB",
|
|
1944
|
-
* "description": "Programming language tag for Python courses",
|
|
1945
|
-
* "tag_name": "Python Programming",
|
|
1946
|
-
* "tag_type": "skill"
|
|
1947
|
-
* }
|
|
1948
|
-
*/
|
|
1949
|
-
CreateTagRequest: {
|
|
2001
|
+
twitter_description?: string | null;
|
|
1950
2002
|
/**
|
|
1951
|
-
*
|
|
1952
|
-
* @
|
|
2003
|
+
* Twitter Image
|
|
2004
|
+
* @description twitter:image — full URL (http/https). Overrides og_image for Twitter/X. Min 144×144 px, max 4096×4096 px.
|
|
1953
2005
|
*/
|
|
1954
|
-
|
|
2006
|
+
twitter_image?: string | null;
|
|
1955
2007
|
/**
|
|
1956
|
-
*
|
|
1957
|
-
* @description
|
|
1958
|
-
* @example skill
|
|
2008
|
+
* Canonical Url
|
|
2009
|
+
* @description <link rel='canonical'>. Full URL (http/https). Set when this page has duplicate content at another URL.
|
|
1959
2010
|
*/
|
|
1960
|
-
|
|
2011
|
+
canonical_url?: string | null;
|
|
1961
2012
|
/**
|
|
1962
|
-
*
|
|
1963
|
-
* @
|
|
2013
|
+
* Robots
|
|
2014
|
+
* @description <meta name='robots'>. Comma-separated directives. Simple: index, noindex, follow, nofollow, noarchive, nosnippet, noimageindex, none, all, notranslate, noodp. Parametric: max-snippet:-1, max-snippet:150, max-image-preview:none|standard|large, max-video-preview:-1, max-video-preview:30, unavailable_after:<date>. Examples: 'index,follow' | 'noindex,nofollow' | 'index,follow,max-snippet:-1,max-image-preview:large'.
|
|
1964
2015
|
*/
|
|
1965
|
-
|
|
2016
|
+
robots?: string | null;
|
|
1966
2017
|
/**
|
|
1967
|
-
*
|
|
1968
|
-
* @description
|
|
1969
|
-
* @example #3776AB
|
|
2018
|
+
* Meta Title
|
|
2019
|
+
* @description <title> and <meta name='title'>. Keep ≤60 chars for Google display.
|
|
1970
2020
|
*/
|
|
1971
|
-
|
|
1972
|
-
};
|
|
1973
|
-
/** ProductPriceRequest */
|
|
1974
|
-
ProductPriceRequest: {
|
|
2021
|
+
meta_title?: string | null;
|
|
1975
2022
|
/**
|
|
1976
|
-
*
|
|
1977
|
-
* @description
|
|
1978
|
-
* @example 1
|
|
2023
|
+
* Meta Description
|
|
2024
|
+
* @description <meta name='description'>. Keep ≤160 chars for Google display.
|
|
1979
2025
|
*/
|
|
1980
|
-
|
|
1981
|
-
/** @example subscription */
|
|
1982
|
-
price_type: components["schemas"]["ProductPriceType"];
|
|
2026
|
+
meta_description?: string | null;
|
|
1983
2027
|
/**
|
|
1984
|
-
*
|
|
1985
|
-
* @
|
|
2028
|
+
* Meta Keywords
|
|
2029
|
+
* @description Comma-separated keywords. Low weight for Google, used for internal search.
|
|
1986
2030
|
*/
|
|
1987
|
-
|
|
1988
|
-
/** @example USD */
|
|
1989
|
-
currency: components["schemas"]["ProductCurrency"];
|
|
2031
|
+
meta_keywords?: string | null;
|
|
1990
2032
|
/**
|
|
1991
|
-
*
|
|
1992
|
-
* @
|
|
2033
|
+
* Og Image Width
|
|
2034
|
+
* @description og:image:width in pixels. Recommended: 1200.
|
|
1993
2035
|
*/
|
|
1994
|
-
|
|
2036
|
+
og_image_width?: number | null;
|
|
1995
2037
|
/**
|
|
1996
|
-
*
|
|
1997
|
-
* @
|
|
1998
|
-
* @example false
|
|
2038
|
+
* Og Image Height
|
|
2039
|
+
* @description og:image:height in pixels. Recommended: 630.
|
|
1999
2040
|
*/
|
|
2000
|
-
|
|
2001
|
-
/** @example month */
|
|
2002
|
-
interval?: components["schemas"]["ProductInterval"] | null;
|
|
2041
|
+
og_image_height?: number | null;
|
|
2003
2042
|
/**
|
|
2004
|
-
*
|
|
2005
|
-
* @
|
|
2043
|
+
* Og Image Alt
|
|
2044
|
+
* @description og:image:alt — alt text for the OG image.
|
|
2006
2045
|
*/
|
|
2007
|
-
|
|
2046
|
+
og_image_alt?: string | null;
|
|
2008
2047
|
/**
|
|
2009
|
-
*
|
|
2010
|
-
* @
|
|
2011
|
-
* @example 0
|
|
2048
|
+
* Og Url
|
|
2049
|
+
* @description og:url — canonical URL used by social platforms.
|
|
2012
2050
|
*/
|
|
2013
|
-
|
|
2051
|
+
og_url?: string | null;
|
|
2014
2052
|
/**
|
|
2015
|
-
*
|
|
2016
|
-
* @
|
|
2053
|
+
* Og Site Name
|
|
2054
|
+
* @description og:site_name — your platform name shown in the link preview card.
|
|
2017
2055
|
*/
|
|
2018
|
-
|
|
2056
|
+
og_site_name?: string | null;
|
|
2019
2057
|
/**
|
|
2020
|
-
*
|
|
2021
|
-
* @
|
|
2058
|
+
* Og Locale
|
|
2059
|
+
* @description og:locale — language in underscore format: en_US, es_ES, fr_FR.
|
|
2022
2060
|
*/
|
|
2023
|
-
|
|
2061
|
+
og_locale?: string | null;
|
|
2024
2062
|
/**
|
|
2025
|
-
*
|
|
2026
|
-
* @
|
|
2063
|
+
* Twitter Image Alt
|
|
2064
|
+
* @description twitter:image:alt — alt text for the Twitter card image.
|
|
2027
2065
|
*/
|
|
2028
|
-
|
|
2066
|
+
twitter_image_alt?: string | null;
|
|
2029
2067
|
/**
|
|
2030
|
-
*
|
|
2031
|
-
* @
|
|
2068
|
+
* Twitter Site
|
|
2069
|
+
* @description twitter:site — your Twitter/X account handle. Must start with '@'.
|
|
2032
2070
|
*/
|
|
2033
|
-
|
|
2071
|
+
twitter_site?: string | null;
|
|
2034
2072
|
/**
|
|
2035
|
-
*
|
|
2036
|
-
* @description
|
|
2037
|
-
* @default false
|
|
2038
|
-
* @example false
|
|
2073
|
+
* Twitter Creator
|
|
2074
|
+
* @description twitter:creator — author's Twitter/X handle. Must start with '@'.
|
|
2039
2075
|
*/
|
|
2040
|
-
|
|
2041
|
-
};
|
|
2042
|
-
/**
|
|
2043
|
-
* @example {
|
|
2044
|
-
* "status": "success",
|
|
2045
|
-
* "message": "Operation successful",
|
|
2046
|
-
* "message_code": "api_suc_20001",
|
|
2047
|
-
* "data": {},
|
|
2048
|
-
* "metadata": {
|
|
2049
|
-
* "timestamp": "2026-03-26T10:00:00.000Z",
|
|
2050
|
-
* "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
|
|
2051
|
-
* "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
|
|
2052
|
-
* "version": "v1",
|
|
2053
|
-
* "executionTime": 42,
|
|
2054
|
-
* "language": "en-US"
|
|
2055
|
-
* }
|
|
2056
|
-
* }
|
|
2057
|
-
*/
|
|
2058
|
-
StandardResponse: {
|
|
2059
|
-
/** @example success */
|
|
2060
|
-
status?: string;
|
|
2061
|
-
data?: Record<string, never> | null;
|
|
2062
|
-
/** @example Operation successful */
|
|
2063
|
-
message?: string | null;
|
|
2064
|
-
/** @example api_suc_20001 */
|
|
2065
|
-
message_code?: string | null;
|
|
2066
|
-
metadata?: Record<string, never> | null;
|
|
2067
|
-
error?: components["schemas"]["ErrorResponse"];
|
|
2068
|
-
};
|
|
2069
|
-
/**
|
|
2070
|
-
* ProductStatus
|
|
2071
|
-
* @description Product status values (Phase 1 - VARCHAR)
|
|
2072
|
-
* @enum {string}
|
|
2073
|
-
*/
|
|
2074
|
-
ProductStatus: "draft" | "published" | "archived" | "review_required" | "deleted";
|
|
2075
|
-
/**
|
|
2076
|
-
* VariantImageInput
|
|
2077
|
-
* @description Image data for variant creation.
|
|
2078
|
-
*/
|
|
2079
|
-
VariantImageInput: {
|
|
2076
|
+
twitter_creator?: string | null;
|
|
2080
2077
|
/**
|
|
2081
|
-
*
|
|
2082
|
-
* @description
|
|
2078
|
+
* Is Indexable
|
|
2079
|
+
* @description System-level indexing override. False → page is treated as noindex regardless of the robots field. True → robots field is authoritative.
|
|
2080
|
+
* @default true
|
|
2083
2081
|
*/
|
|
2084
|
-
|
|
2082
|
+
is_indexable: boolean;
|
|
2085
2083
|
/**
|
|
2086
|
-
*
|
|
2087
|
-
* @description
|
|
2088
|
-
* @default primary
|
|
2084
|
+
* Structured Data
|
|
2085
|
+
* @description Schema.org JSON-LD object for Google rich results.
|
|
2089
2086
|
*/
|
|
2090
|
-
|
|
2087
|
+
structured_data?: {
|
|
2088
|
+
[key: string]: unknown;
|
|
2089
|
+
} | null;
|
|
2091
2090
|
/**
|
|
2092
|
-
*
|
|
2093
|
-
* @description
|
|
2094
|
-
* @default 100
|
|
2091
|
+
* Alternate Languages
|
|
2092
|
+
* @description hreflang list: [{"lang":"en-US","url":"https://..."},{"lang":"x-default","url":"..."}]. Always include x-default.
|
|
2095
2093
|
*/
|
|
2096
|
-
|
|
2094
|
+
alternate_languages?: {
|
|
2095
|
+
[key: string]: string;
|
|
2096
|
+
}[] | null;
|
|
2097
2097
|
};
|
|
2098
2098
|
};
|
|
2099
2099
|
responses: never;
|
|
@@ -7865,7 +7865,7 @@ export interface operations {
|
|
|
7865
7865
|
};
|
|
7866
7866
|
requestBody: {
|
|
7867
7867
|
content: {
|
|
7868
|
-
"application/json": components["schemas"]["
|
|
7868
|
+
"application/json": components["schemas"]["app__routes__products__product_phase2_routes__CreateTagRequest"];
|
|
7869
7869
|
};
|
|
7870
7870
|
};
|
|
7871
7871
|
responses: {
|