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