@blezgo/api-sdk 0.1.4 → 0.1.6

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.
Files changed (137) hide show
  1. package/dist/account/generated.d.ts +230 -230
  2. package/dist/account/generated.d.ts.map +1 -1
  3. package/dist/activity/generated.d.ts +46 -46
  4. package/dist/activity/generated.d.ts.map +1 -1
  5. package/dist/addon/generated.d.ts +101 -101
  6. package/dist/addon/generated.d.ts.map +1 -1
  7. package/dist/admin/generated.d.ts +122 -122
  8. package/dist/admin/generated.d.ts.map +1 -1
  9. package/dist/affiliate/generated.d.ts +82 -82
  10. package/dist/affiliate/generated.d.ts.map +1 -1
  11. package/dist/analytics/generated.d.ts +21 -21
  12. package/dist/analytics/generated.d.ts.map +1 -1
  13. package/dist/announcements/generated.d.ts +119 -119
  14. package/dist/announcements/generated.d.ts.map +1 -1
  15. package/dist/apikeys/generated.d.ts +129 -129
  16. package/dist/apikeys/generated.d.ts.map +1 -1
  17. package/dist/assistance/generated.d.ts +21 -21
  18. package/dist/assistance/generated.d.ts.map +1 -1
  19. package/dist/authentication/generated.d.ts +83 -83
  20. package/dist/authentication/generated.d.ts.map +1 -1
  21. package/dist/blog/generated.d.ts +212 -212
  22. package/dist/blog/generated.d.ts.map +1 -1
  23. package/dist/bundle/generated.d.ts +185 -185
  24. package/dist/bundle/generated.d.ts.map +1 -1
  25. package/dist/cache/generated.d.ts +27 -27
  26. package/dist/cache/generated.d.ts.map +1 -1
  27. package/dist/calendar/generated.d.ts +54 -54
  28. package/dist/calendar/generated.d.ts.map +1 -1
  29. package/dist/campaigns/generated.d.ts +206 -206
  30. package/dist/campaigns/generated.d.ts.map +1 -1
  31. package/dist/cart/generated.d.ts +42 -42
  32. package/dist/cart/generated.d.ts.map +1 -1
  33. package/dist/changelog/generated.d.ts +101 -101
  34. package/dist/changelog/generated.d.ts.map +1 -1
  35. package/dist/channel/generated.d.ts +213 -213
  36. package/dist/channel/generated.d.ts.map +1 -1
  37. package/dist/company/generated.d.ts +57 -57
  38. package/dist/company/generated.d.ts.map +1 -1
  39. package/dist/conference/generated.d.ts +109 -109
  40. package/dist/conference/generated.d.ts.map +1 -1
  41. package/dist/config/generated.d.ts +55 -55
  42. package/dist/config/generated.d.ts.map +1 -1
  43. package/dist/content/generated.d.ts +613 -613
  44. package/dist/content/generated.d.ts.map +1 -1
  45. package/dist/cookies/generated.d.ts +71 -71
  46. package/dist/cookies/generated.d.ts.map +1 -1
  47. package/dist/courses/generated.d.ts +453 -453
  48. package/dist/courses/generated.d.ts.map +1 -1
  49. package/dist/custom/generated.d.ts +78 -78
  50. package/dist/custom/generated.d.ts.map +1 -1
  51. package/dist/dashboard/generated.d.ts +138 -138
  52. package/dist/dashboard/generated.d.ts.map +1 -1
  53. package/dist/elasticsearch/generated.d.ts +21 -21
  54. package/dist/elasticsearch/generated.d.ts.map +1 -1
  55. package/dist/enrollments/generated.d.ts +21 -21
  56. package/dist/enrollments/generated.d.ts.map +1 -1
  57. package/dist/errors/generated.d.ts +54 -54
  58. package/dist/errors/generated.d.ts.map +1 -1
  59. package/dist/eventconfig/generated.d.ts +53 -53
  60. package/dist/eventconfig/generated.d.ts.map +1 -1
  61. package/dist/funnels/generated.d.ts +117 -117
  62. package/dist/funnels/generated.d.ts.map +1 -1
  63. package/dist/gamification/generated.d.ts +177 -177
  64. package/dist/gamification/generated.d.ts.map +1 -1
  65. package/dist/impersonation/generated.d.ts +52 -52
  66. package/dist/impersonation/generated.d.ts.map +1 -1
  67. package/dist/inbox/generated.d.ts +122 -122
  68. package/dist/inbox/generated.d.ts.map +1 -1
  69. package/dist/internal/generated.d.ts +21 -21
  70. package/dist/internal/generated.d.ts.map +1 -1
  71. package/dist/internationalization/generated.d.ts +21 -21
  72. package/dist/internationalization/generated.d.ts.map +1 -1
  73. package/dist/invitations/generated.d.ts +156 -156
  74. package/dist/invitations/generated.d.ts.map +1 -1
  75. package/dist/meetings/generated.d.ts +372 -372
  76. package/dist/meetings/generated.d.ts.map +1 -1
  77. package/dist/metas/generated.d.ts +199 -199
  78. package/dist/metas/generated.d.ts.map +1 -1
  79. package/dist/notification/generated.d.ts +356 -356
  80. package/dist/notification/generated.d.ts.map +1 -1
  81. package/dist/notifications/generated.d.ts +21 -21
  82. package/dist/notifications/generated.d.ts.map +1 -1
  83. package/dist/onboarding/generated.d.ts +77 -77
  84. package/dist/onboarding/generated.d.ts.map +1 -1
  85. package/dist/packages/generated.d.ts +59 -59
  86. package/dist/packages/generated.d.ts.map +1 -1
  87. package/dist/payments/generated.d.ts +523 -523
  88. package/dist/payments/generated.d.ts.map +1 -1
  89. package/dist/payouts/generated.d.ts +21 -21
  90. package/dist/payouts/generated.d.ts.map +1 -1
  91. package/dist/plans/generated.d.ts +323 -323
  92. package/dist/plans/generated.d.ts.map +1 -1
  93. package/dist/pricing/generated.d.ts +38 -38
  94. package/dist/pricing/generated.d.ts.map +1 -1
  95. package/dist/products/generated.d.ts +443 -443
  96. package/dist/products/generated.d.ts.map +1 -1
  97. package/dist/profile/generated.d.ts +354 -354
  98. package/dist/profile/generated.d.ts.map +1 -1
  99. package/dist/reasons/generated.d.ts +101 -101
  100. package/dist/reasons/generated.d.ts.map +1 -1
  101. package/dist/registration/generated.d.ts +171 -171
  102. package/dist/registration/generated.d.ts.map +1 -1
  103. package/dist/reviews/generated.d.ts +57 -57
  104. package/dist/reviews/generated.d.ts.map +1 -1
  105. package/dist/role/generated.d.ts +191 -191
  106. package/dist/role/generated.d.ts.map +1 -1
  107. package/dist/scheduling/generated.d.ts +103 -103
  108. package/dist/scheduling/generated.d.ts.map +1 -1
  109. package/dist/services/generated.d.ts +1017 -1017
  110. package/dist/services/generated.d.ts.map +1 -1
  111. package/dist/sessions/generated.d.ts +362 -362
  112. package/dist/sessions/generated.d.ts.map +1 -1
  113. package/dist/spaces/generated.d.ts +600 -600
  114. package/dist/spaces/generated.d.ts.map +1 -1
  115. package/dist/storefront/generated.d.ts +21 -21
  116. package/dist/storefront/generated.d.ts.map +1 -1
  117. package/dist/support/generated.d.ts +1403 -1403
  118. package/dist/support/generated.d.ts.map +1 -1
  119. package/dist/sync/generated.d.ts +182 -182
  120. package/dist/sync/generated.d.ts.map +1 -1
  121. package/dist/tenant/generated.d.ts +737 -737
  122. package/dist/tenant/generated.d.ts.map +1 -1
  123. package/dist/testimonials/generated.d.ts +50 -50
  124. package/dist/testimonials/generated.d.ts.map +1 -1
  125. package/dist/tests/generated.d.ts +472 -472
  126. package/dist/tests/generated.d.ts.map +1 -1
  127. package/dist/tokens/generated.d.ts +54 -54
  128. package/dist/tokens/generated.d.ts.map +1 -1
  129. package/dist/uploads/generated.d.ts +69 -69
  130. package/dist/uploads/generated.d.ts.map +1 -1
  131. package/dist/upsell/generated.d.ts +130 -130
  132. package/dist/upsell/generated.d.ts.map +1 -1
  133. package/dist/user/generated.d.ts +72 -72
  134. package/dist/user/generated.d.ts.map +1 -1
  135. package/dist/webinars/generated.d.ts +329 -329
  136. package/dist/webinars/generated.d.ts.map +1 -1
  137. package/package.json +1 -1
@@ -1307,786 +1307,786 @@ export type webhooks = Record<string, never>;
1307
1307
  export interface components {
1308
1308
  schemas: {
1309
1309
  /**
1310
- * StaticContentSchema
1311
- * @description Static content configuration
1312
- */
1313
- StaticContentSchema: {
1314
- /** Html */
1315
- html?: string | null;
1316
- /** Markdown */
1317
- markdown?: string | null;
1318
- /**
1319
- * Content Source
1320
- * @description custom, cms, external
1321
- * @default custom
1322
- */
1323
- content_source: string;
1324
- };
1325
- InvalidParam: {
1326
- /** @example items[0].quantity */
1327
- field?: string;
1328
- /** @example Input should be greater than or equal to 1 */
1329
- error?: string;
1330
- };
1331
- /**
1310
+ * SeoUpsertRequest
1311
+ * @description Unified SEO upsert schema for all entity types (space, product, service, ...).
1312
+ *
1313
+ * Locale is NOT in this body — it comes from the URL path:
1314
+ * PUT /v1/spaces/admin/{space_id}/seo/{locale}
1315
+ * PUT /v1/products/{product_id}/seo/{locale}
1316
+ *
1317
+ * All fields are optional; supply only what you want to set.
1318
+ * Fields absent from the request body are stored as NULL (PUT semantics — full replace).
1319
+ *
1320
+ * extra='forbid' inherited from BaseSeoFields — unknown keys are rejected.
1321
+ * All validators (robots, URL, og_locale, twitter handle, alternate_languages)
1322
+ * are also inherited from BaseSeoFields.
1332
1323
  * @example {
1333
- * "status": "success",
1334
- * "message": "Operation successful",
1335
- * "message_code": "api_suc_20001",
1336
- * "data": {},
1337
- * "metadata": {
1338
- * "timestamp": "2026-03-26T10:00:00.000Z",
1339
- * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
1340
- * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
1341
- * "version": "v1",
1342
- * "executionTime": 42,
1343
- * "language": "en-US"
1344
- * }
1324
+ * "alternate_languages": [
1325
+ * {
1326
+ * "lang": "en-US",
1327
+ * "url": "https://www.example.com/courses/python"
1328
+ * },
1329
+ * {
1330
+ * "lang": "es-PR",
1331
+ * "url": "https://www.example.com/es/cursos/python"
1332
+ * },
1333
+ * {
1334
+ * "lang": "fr-FR",
1335
+ * "url": "https://www.example.com/fr/cours/python"
1336
+ * },
1337
+ * {
1338
+ * "lang": "x-default",
1339
+ * "url": "https://www.example.com/courses/python"
1340
+ * }
1341
+ * ],
1342
+ * "canonical_url": "https://www.example.com/courses/python",
1343
+ * "is_indexable": true,
1344
+ * "meta_description": "Explore our full library of Python courses. Beginner to advanced, taught by industry experts.",
1345
+ * "meta_keywords": "python, programming, learn python, python course, coding",
1346
+ * "meta_title": "Browse Python Courses — Learn at Any Level",
1347
+ * "og_description": "From beginner to advanced. Join 50,000+ learners on MyPlatform.",
1348
+ * "og_image": "https://cdn.example.com/og/python-courses.jpg",
1349
+ * "og_image_alt": "A student learning Python on a laptop in a modern workspace",
1350
+ * "og_image_height": 630,
1351
+ * "og_image_width": 1200,
1352
+ * "og_locale": "en_US",
1353
+ * "og_site_name": "MyPlatform",
1354
+ * "og_title": "Python Courses — Learn at Your Own Pace",
1355
+ * "og_type": "website",
1356
+ * "og_url": "https://www.example.com/courses/python",
1357
+ * "robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:30",
1358
+ * "structured_data": {
1359
+ * "@context": "https://schema.org",
1360
+ * "@type": "ItemList",
1361
+ * "description": "Browse all Python courses on MyPlatform",
1362
+ * "itemListElement": [
1363
+ * {
1364
+ * "@type": "ListItem",
1365
+ * "name": "Python for Beginners",
1366
+ * "position": 1,
1367
+ * "url": "https://www.example.com/courses/python-beginners"
1368
+ * },
1369
+ * {
1370
+ * "@type": "ListItem",
1371
+ * "name": "Advanced Python",
1372
+ * "position": 2,
1373
+ * "url": "https://www.example.com/courses/python-advanced"
1374
+ * }
1375
+ * ],
1376
+ * "name": "Python Courses",
1377
+ * "numberOfItems": 42,
1378
+ * "url": "https://www.example.com/courses/python"
1379
+ * },
1380
+ * "twitter_card": "summary_large_image",
1381
+ * "twitter_creator": "@myplatform",
1382
+ * "twitter_description": "From beginner to advanced. Join 50,000+ learners.",
1383
+ * "twitter_image": "https://cdn.example.com/twitter/python-courses.jpg",
1384
+ * "twitter_image_alt": "A student learning Python on a laptop",
1385
+ * "twitter_site": "@myplatform",
1386
+ * "twitter_title": "Python Courses on MyPlatform"
1345
1387
  * }
1346
1388
  */
1347
- StandardResponse: {
1348
- /** @example success */
1349
- status?: string;
1350
- data?: Record<string, never> | null;
1351
- /** @example Operation successful */
1352
- message?: string | null;
1353
- /** @example api_suc_20001 */
1354
- message_code?: string | null;
1355
- metadata?: Record<string, never> | null;
1356
- error?: components["schemas"]["ErrorResponse"];
1357
- };
1358
- /**
1359
- * SortConfigSchema
1360
- * @description Sort configuration for listing pages
1361
- */
1362
- SortConfigSchema: {
1389
+ SeoUpsertRequest: {
1363
1390
  /**
1364
- * Enabled
1365
- * @description Enable sorting
1366
- * @default true
1391
+ * Og Title
1392
+ * @description og:title — headline shown in social link previews. Defaults to the entity title if omitted. Keep ≤95 chars.
1367
1393
  */
1368
- enabled: boolean;
1394
+ og_title?: string | null;
1369
1395
  /**
1370
- * Default
1371
- * @description Default sort option
1372
- * @default rating_desc
1396
+ * Og Description
1397
+ * @description og:description subtitle shown in social link previews.
1373
1398
  */
1374
- default: string;
1399
+ og_description?: string | null;
1375
1400
  /**
1376
- * Options
1377
- * @description Available sort options
1401
+ * Og Image
1402
+ * @description og:image full URL (http/https) of the preview image. Recommended size: 1200×630 px.
1378
1403
  */
1379
- options?: string[];
1380
- };
1381
- /**
1382
- * SpaceCloneRequest
1383
- * @description Clone an existing space
1384
- */
1385
- SpaceCloneRequest: {
1404
+ og_image?: string | null;
1386
1405
  /**
1387
- * Title
1388
- * @description Title for the cloned space
1406
+ * Og Type
1407
+ * @description og:type — content type for social platforms. Values: 'website' | 'article' | 'product' | 'video.other' | 'music.song' | 'profile' | 'book'.
1389
1408
  */
1390
- title: string;
1409
+ og_type?: ("website" | "article" | "product" | "video.other" | "music.song" | "profile" | "book") | null;
1391
1410
  /**
1392
- * Clone Content
1393
- * @description Clone content configuration
1394
- * @default true
1411
+ * Twitter Card
1412
+ * @description twitter:card card layout on Twitter/X. Values: 'summary' | 'summary_large_image' | 'app' | 'player'.
1395
1413
  */
1396
- clone_content: boolean;
1414
+ twitter_card?: ("summary" | "summary_large_image" | "app" | "player") | null;
1397
1415
  /**
1398
- * Clone Template Data
1399
- * @description Clone template data
1400
- * @default true
1416
+ * Twitter Title
1417
+ * @description twitter:title overrides og_title for Twitter/X. Keep ≤70 chars.
1401
1418
  */
1402
- clone_template_data: boolean;
1419
+ twitter_title?: string | null;
1403
1420
  /**
1404
- * Clone Url Rule
1405
- * @description Clone URL rule (usually false - need new URL)
1406
- * @default false
1421
+ * Twitter Description
1422
+ * @description twitter:description overrides og_description for Twitter/X.
1407
1423
  */
1408
- clone_url_rule: boolean;
1409
- };
1410
- /**
1411
- * SpaceCreateRequest
1412
- * @description Create a new space
1413
- * @example {
1414
- * "description": "Main marketplace for all courses",
1415
- * "entity_type": "course",
1416
- * "es_context": "courses",
1417
- * "es_doc_type": "entity",
1418
- * "page_type": "listing",
1419
- * "show_footer": true,
1420
- * "show_header": true,
1421
- * "space_module": "course",
1422
- * "title": "Course Marketplace",
1423
- * "url_type": "static",
1424
- * "visibility": "public"
1425
- * }
1426
- */
1427
- SpaceCreateRequest: {
1424
+ twitter_description?: string | null;
1428
1425
  /**
1429
- * Title
1430
- * @description Space title
1426
+ * Twitter Image
1427
+ * @description twitter:image — full URL (http/https). Overrides og_image for Twitter/X. Min 144×144 px, max 4096×4096 px.
1431
1428
  */
1432
- title: string;
1429
+ twitter_image?: string | null;
1433
1430
  /**
1434
- * Description
1435
- * @description Space description
1431
+ * Canonical Url
1432
+ * @description <link rel='canonical'>. Full URL (http/https). Set when this page has duplicate content at another URL.
1436
1433
  */
1437
- description?: string | null;
1434
+ canonical_url?: string | null;
1438
1435
  /**
1439
- * Page Type
1440
- * @description listing or landing the visual page pattern
1441
- * @enum {string}
1436
+ * Robots
1437
+ * @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'.
1442
1438
  */
1443
- page_type: "listing" | "landing";
1439
+ robots?: string | null;
1444
1440
  /**
1445
- * Space Module
1446
- * @description signup, signin, forgot_password, course, session, webinar, meeting, teacher, bundle, checkout, profile, dashboard, custom
1441
+ * Meta Title
1442
+ * @description <title> and <meta name='title'>. Keep ≤60 chars for Google display.
1447
1443
  */
1448
- space_module: string;
1444
+ meta_title?: string | null;
1449
1445
  /**
1450
- * Entity Type
1451
- * @description course, session, webinar, meeting, teacher, bundle
1446
+ * Meta Description
1447
+ * @description <meta name='description'>. Keep ≤160 chars for Google display.
1452
1448
  */
1453
- entity_type?: string | null;
1449
+ meta_description?: string | null;
1454
1450
  /**
1455
- * Es Doc Type
1456
- * @description entity, configuration
1451
+ * Meta Keywords
1452
+ * @description Comma-separated keywords. Low weight for Google, used for internal search.
1457
1453
  */
1458
- es_doc_type?: string | null;
1454
+ meta_keywords?: string | null;
1459
1455
  /**
1460
- * Es Context
1461
- * @description Plural form: courses, sessions, etc.
1456
+ * Og Image Width
1457
+ * @description og:image:width in pixels. Recommended: 1200.
1462
1458
  */
1463
- es_context?: string | null;
1459
+ og_image_width?: number | null;
1464
1460
  /**
1465
- * Url Type
1466
- * @description static or dynamic
1467
- * @enum {string}
1461
+ * Og Image Height
1462
+ * @description og:image:height in pixels. Recommended: 630.
1468
1463
  */
1469
- url_type: "static" | "dynamic";
1464
+ og_image_height?: number | null;
1470
1465
  /**
1471
- * Show Header
1472
- * @description Show header
1473
- * @default true
1466
+ * Og Image Alt
1467
+ * @description og:image:alt — alt text for the OG image.
1474
1468
  */
1475
- show_header: boolean;
1469
+ og_image_alt?: string | null;
1476
1470
  /**
1477
- * Show Footer
1478
- * @description Show footer
1479
- * @default true
1471
+ * Og Url
1472
+ * @description og:url — canonical URL used by social platforms.
1480
1473
  */
1481
- show_footer: boolean;
1474
+ og_url?: string | null;
1482
1475
  /**
1483
- * Show Sidebar
1484
- * @description Show sidebar
1485
- * @default false
1476
+ * Og Site Name
1477
+ * @description og:site_name — your platform name shown in the link preview card.
1486
1478
  */
1487
- show_sidebar: boolean;
1479
+ og_site_name?: string | null;
1488
1480
  /**
1489
- * Visibility
1490
- * @description public, private, hidden, unlisted
1491
- * @default public
1481
+ * Og Locale
1482
+ * @description og:locale — language in underscore format: en_US, es_ES, fr_FR.
1492
1483
  */
1493
- visibility: string;
1484
+ og_locale?: string | null;
1494
1485
  /**
1495
- * Requires Auth
1496
- * @description Requires authentication
1497
- * @default false
1486
+ * Twitter Image Alt
1487
+ * @description twitter:image:alt — alt text for the Twitter card image.
1498
1488
  */
1499
- requires_auth: boolean;
1489
+ twitter_image_alt?: string | null;
1500
1490
  /**
1501
- * Allowed Roles
1502
- * @description ["admin","instructor"] or null for all
1491
+ * Twitter Site
1492
+ * @description twitter:site your Twitter/X account handle. Must start with '@'.
1503
1493
  */
1504
- allowed_roles?: string[] | null;
1494
+ twitter_site?: string | null;
1505
1495
  /**
1506
- * Service Id
1507
- * @description Service ID
1496
+ * Twitter Creator
1497
+ * @description twitter:creator — author's Twitter/X handle. Must start with '@'.
1508
1498
  */
1509
- service_id?: number | null;
1499
+ twitter_creator?: string | null;
1510
1500
  /**
1511
- * Is Master Space
1512
- * @description Is this a master/default space
1513
- * @default false
1501
+ * Is Indexable
1502
+ * @description System-level indexing override. False → page is treated as noindex regardless of the robots field. True → robots field is authoritative.
1503
+ * @default true
1514
1504
  */
1515
- is_master_space: boolean;
1505
+ is_indexable: boolean;
1516
1506
  /**
1517
- * Connected Space Id
1518
- * @description Connected space ID
1519
- * @default 0
1507
+ * Structured Data
1508
+ * @description Schema.org JSON-LD object for Google rich results.
1520
1509
  */
1521
- connected_space_id: number;
1522
- };
1523
- Extensions: {
1524
- /** @example GENERIC_ERROR */
1525
- message_code?: string;
1526
- /** @example [] */
1527
- invalid_params?: components["schemas"]["InvalidParam"][];
1528
- extra_data?: Record<string, never> | null;
1529
- /** @example Detailed debug information */
1530
- debug?: string | null;
1510
+ structured_data?: {
1511
+ [key: string]: unknown;
1512
+ } | null;
1513
+ /**
1514
+ * Alternate Languages
1515
+ * @description hreflang list: [{"lang":"en-US","url":"https://..."},{"lang":"x-default","url":"..."}]. Always include x-default.
1516
+ */
1517
+ alternate_languages?: {
1518
+ [key: string]: string;
1519
+ }[] | null;
1531
1520
  };
1532
1521
  /**
1533
- * SpaceUpdateRequest
1534
- * @description Update an existing space
1522
+ * TemplateAssignRequest
1523
+ * @description Assign a template to a space
1535
1524
  */
1536
- SpaceUpdateRequest: {
1537
- /** Title */
1538
- title?: string | null;
1539
- /** Description */
1540
- description?: string | null;
1541
- /** Layout Type */
1542
- layout_type?: string | null;
1543
- /** Show Header */
1544
- show_header?: boolean | null;
1545
- /** Show Footer */
1546
- show_footer?: boolean | null;
1547
- /** Show Sidebar */
1548
- show_sidebar?: boolean | null;
1549
- /** Visibility */
1550
- visibility?: string | null;
1551
- /** Requires Auth */
1552
- requires_auth?: boolean | null;
1553
- /** Allowed Roles */
1554
- allowed_roles?: string[] | null;
1525
+ TemplateAssignRequest: {
1526
+ /**
1527
+ * Template Id
1528
+ * @description External ID of template: tpl_xxx
1529
+ */
1530
+ template_id: string;
1555
1531
  };
1556
1532
  /**
1557
- * ConnectedSpacesSchema
1558
- * @description Connected spaces for forms
1533
+ * ContentConfigCreateRequest
1534
+ * @description Create content configuration for a space
1535
+ * @example {
1536
+ * "display_config": {
1537
+ * "card_style": "style1",
1538
+ * "records_on_lg": 4,
1539
+ * "records_per_page": 20
1540
+ * },
1541
+ * "entity_criteria": {
1542
+ * "category_ids": [
1543
+ * 1,
1544
+ * 2,
1545
+ * 3
1546
+ * ],
1547
+ * "price_max": 100,
1548
+ * "price_min": 0,
1549
+ * "rating_min": 4
1550
+ * },
1551
+ * "entity_selection_mode": "criteria",
1552
+ * "filter_config": {
1553
+ * "available_filters": [
1554
+ * "category",
1555
+ * "price",
1556
+ * "rating"
1557
+ * ],
1558
+ * "enabled": true,
1559
+ * "position": "left"
1560
+ * },
1561
+ * "sort_config": {
1562
+ * "default": "rating_desc",
1563
+ * "enabled": true,
1564
+ * "options": [
1565
+ * "price_asc",
1566
+ * "price_desc",
1567
+ * "rating_desc"
1568
+ * ]
1569
+ * }
1570
+ * }
1559
1571
  */
1560
- ConnectedSpacesSchema: {
1572
+ ContentConfigCreateRequest: {
1561
1573
  /**
1562
- * Register Link
1563
- * @description External ID of register space
1574
+ * Entity Selection Mode
1575
+ * @description all, specific, criteria
1564
1576
  */
1565
- register_link?: string | null;
1577
+ entity_selection_mode?: string | null;
1566
1578
  /**
1567
- * Forgot Password
1568
- * @description External ID of forgot password space
1579
+ * Entity Ids
1580
+ * @description Specific entity IDs
1569
1581
  */
1570
- forgot_password?: string | null;
1582
+ entity_ids?: number[] | null;
1583
+ entity_criteria?: components["schemas"]["EntityCriteriaSchema"] | null;
1584
+ display_config?: components["schemas"]["DisplayConfigSchema"] | null;
1585
+ filter_config?: components["schemas"]["FilterConfigSchema"] | null;
1586
+ sort_config?: components["schemas"]["SortConfigSchema"] | null;
1587
+ form_config?: components["schemas"]["FormConfigSchema"] | null;
1588
+ static_content?: components["schemas"]["StaticContentSchema"] | null;
1589
+ };
1590
+ /** Body_createSpacePublication */
1591
+ Body_createSpacePublication: {
1571
1592
  /**
1572
- * Success Redirect
1573
- * @description External ID of redirect space after success
1593
+ * Version Label
1594
+ * @description Version label (e.g., v1.0)
1574
1595
  */
1575
- success_redirect?: string | null;
1596
+ version_label?: string | null;
1597
+ /**
1598
+ * Change Notes
1599
+ * @description Change notes for this version
1600
+ */
1601
+ change_notes?: string | null;
1576
1602
  };
1577
1603
  /**
1578
- * UrlRuleCreateRequest
1579
- * @description Create URL rule for a space
1580
- * @example {
1581
- * "domain": "www.mysite.com",
1582
- * "level1_type": "custom_text",
1583
- * "level1_value": "course",
1584
- * "level2_type": "title",
1585
- * "url_type": "dynamic"
1586
- * }
1604
+ * DisplayConfigSchema
1605
+ * @description Display configuration for listing pages
1587
1606
  */
1588
- UrlRuleCreateRequest: {
1607
+ DisplayConfigSchema: {
1589
1608
  /**
1590
- * Domain
1591
- * @description Domain from tenant_domains_tbl
1609
+ * Card Style
1610
+ * @description Card display style
1611
+ * @default style1
1592
1612
  */
1593
- domain: string;
1613
+ card_style: string;
1594
1614
  /**
1595
- * Base Path
1596
- * @description Optional prefix like /en or /us
1615
+ * Records Per Page
1616
+ * @description Records per page
1617
+ * @default 20
1597
1618
  */
1598
- base_path?: string | null;
1619
+ records_per_page: number;
1599
1620
  /**
1600
- * Url Type
1601
- * @description static or dynamic
1621
+ * Records On Lg
1622
+ * @description Columns on large screens
1623
+ * @default 4
1602
1624
  */
1603
- url_type: string;
1625
+ records_on_lg: number;
1604
1626
  /**
1605
- * Static Path
1606
- * @description /login or /marketplace/courses
1627
+ * Records On Md
1628
+ * @description Columns on medium screens
1629
+ * @default 3
1607
1630
  */
1608
- static_path?: string | null;
1631
+ records_on_md: number;
1609
1632
  /**
1610
- * Level1 Type
1611
- * @description custom_text, title, firstname-lastname, role, country, etc
1633
+ * Records On Sm
1634
+ * @description Columns on small screens
1635
+ * @default 2
1612
1636
  */
1613
- level1_type?: string | null;
1637
+ records_on_sm: number;
1614
1638
  /**
1615
- * Level1 Value
1616
- * @description Fixed text if custom_text
1639
+ * Records On Xs
1640
+ * @description Columns on extra small screens
1641
+ * @default 1
1617
1642
  */
1618
- level1_value?: string | null;
1619
- /** Level2 Type */
1620
- level2_type?: string | null;
1621
- /** Level2 Value */
1622
- level2_value?: string | null;
1623
- /** Level3 Type */
1624
- level3_type?: string | null;
1625
- /** Level3 Value */
1626
- level3_value?: string | null;
1627
- /** Level4 Type */
1628
- level4_type?: string | null;
1629
- /** Level4 Value */
1630
- level4_value?: string | null;
1643
+ records_on_xs: number;
1631
1644
  };
1632
1645
  /**
1633
- * EntityCriteriaSchema
1634
- * @description Entity selection criteria
1646
+ * FormConfigSchema
1647
+ * @description Form configuration for login/register pages
1635
1648
  */
1636
- EntityCriteriaSchema: {
1637
- /** Category Ids */
1638
- category_ids?: number[] | null;
1639
- /** Subject Ids */
1640
- subject_ids?: number[] | null;
1641
- /** Country Codes */
1642
- country_codes?: string[] | null;
1643
- /** Price Min */
1644
- price_min?: number | null;
1645
- /** Price Max */
1646
- price_max?: number | null;
1647
- /** Rating Min */
1648
- rating_min?: number | null;
1649
- /** Language */
1650
- language?: string | null;
1651
- /** Custom Filters */
1652
- custom_filters?: {
1653
- [key: string]: unknown;
1654
- } | null;
1655
- };
1656
- /** Body_createSpacePublication */
1657
- Body_createSpacePublication: {
1649
+ FormConfigSchema: {
1658
1650
  /**
1659
- * Version Label
1660
- * @description Version label (e.g., v1.0)
1651
+ * Allowed Login Methods
1652
+ * @description email, mobile, google, facebook, linkedin, apple, twitter
1661
1653
  */
1662
- version_label?: string | null;
1654
+ allowed_login_methods?: string[] | null;
1663
1655
  /**
1664
- * Change Notes
1665
- * @description Change notes for this version
1656
+ * Password Visibility
1657
+ * @description Allow password visibility toggle
1658
+ * @default true
1666
1659
  */
1667
- change_notes?: string | null;
1668
- };
1669
- /**
1670
- * SeoUpsertRequest
1671
- * @description Unified SEO upsert schema for all entity types (space, product, service, ...).
1672
- *
1673
- * Locale is NOT in this body — it comes from the URL path:
1674
- * PUT /v1/spaces/admin/{space_id}/seo/{locale}
1675
- * PUT /v1/products/{product_id}/seo/{locale}
1676
- *
1677
- * All fields are optional; supply only what you want to set.
1678
- * Fields absent from the request body are stored as NULL (PUT semantics — full replace).
1679
- *
1680
- * extra='forbid' inherited from BaseSeoFields — unknown keys are rejected.
1681
- * All validators (robots, URL, og_locale, twitter handle, alternate_languages)
1682
- * are also inherited from BaseSeoFields.
1683
- * @example {
1684
- * "alternate_languages": [
1685
- * {
1686
- * "lang": "en-US",
1687
- * "url": "https://www.example.com/courses/python"
1688
- * },
1689
- * {
1690
- * "lang": "es-PR",
1691
- * "url": "https://www.example.com/es/cursos/python"
1692
- * },
1693
- * {
1694
- * "lang": "fr-FR",
1695
- * "url": "https://www.example.com/fr/cours/python"
1696
- * },
1697
- * {
1698
- * "lang": "x-default",
1699
- * "url": "https://www.example.com/courses/python"
1700
- * }
1701
- * ],
1702
- * "canonical_url": "https://www.example.com/courses/python",
1703
- * "is_indexable": true,
1704
- * "meta_description": "Explore our full library of Python courses. Beginner to advanced, taught by industry experts.",
1705
- * "meta_keywords": "python, programming, learn python, python course, coding",
1706
- * "meta_title": "Browse Python Courses — Learn at Any Level",
1707
- * "og_description": "From beginner to advanced. Join 50,000+ learners on MyPlatform.",
1708
- * "og_image": "https://cdn.example.com/og/python-courses.jpg",
1709
- * "og_image_alt": "A student learning Python on a laptop in a modern workspace",
1710
- * "og_image_height": 630,
1711
- * "og_image_width": 1200,
1712
- * "og_locale": "en_US",
1713
- * "og_site_name": "MyPlatform",
1714
- * "og_title": "Python Courses — Learn at Your Own Pace",
1715
- * "og_type": "website",
1716
- * "og_url": "https://www.example.com/courses/python",
1717
- * "robots": "index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:30",
1718
- * "structured_data": {
1719
- * "@context": "https://schema.org",
1720
- * "@type": "ItemList",
1721
- * "description": "Browse all Python courses on MyPlatform",
1722
- * "itemListElement": [
1723
- * {
1724
- * "@type": "ListItem",
1725
- * "name": "Python for Beginners",
1726
- * "position": 1,
1727
- * "url": "https://www.example.com/courses/python-beginners"
1728
- * },
1729
- * {
1730
- * "@type": "ListItem",
1731
- * "name": "Advanced Python",
1732
- * "position": 2,
1733
- * "url": "https://www.example.com/courses/python-advanced"
1734
- * }
1735
- * ],
1736
- * "name": "Python Courses",
1737
- * "numberOfItems": 42,
1738
- * "url": "https://www.example.com/courses/python"
1739
- * },
1740
- * "twitter_card": "summary_large_image",
1741
- * "twitter_creator": "@myplatform",
1742
- * "twitter_description": "From beginner to advanced. Join 50,000+ learners.",
1743
- * "twitter_image": "https://cdn.example.com/twitter/python-courses.jpg",
1744
- * "twitter_image_alt": "A student learning Python on a laptop",
1745
- * "twitter_site": "@myplatform",
1746
- * "twitter_title": "Python Courses on MyPlatform"
1747
- * }
1748
- */
1749
- SeoUpsertRequest: {
1660
+ password_visibility: boolean;
1750
1661
  /**
1751
- * Og Title
1752
- * @description og:title headline shown in social link previews. Defaults to the entity title if omitted. Keep ≤95 chars.
1662
+ * Recaptcha
1663
+ * @description v2, v3, or null
1753
1664
  */
1754
- og_title?: string | null;
1665
+ recaptcha?: string | null;
1755
1666
  /**
1756
- * Og Description
1757
- * @description og:description — subtitle shown in social link previews.
1667
+ * Max Failed Attempts
1668
+ * @default 3
1758
1669
  */
1759
- og_description?: string | null;
1670
+ max_failed_attempts: number;
1760
1671
  /**
1761
- * Og Image
1762
- * @description og:image — full URL (http/https) of the preview image. Recommended size: 1200×630 px.
1672
+ * Lockout Duration Minutes
1673
+ * @default 5
1763
1674
  */
1764
- og_image?: string | null;
1675
+ lockout_duration_minutes: number;
1765
1676
  /**
1766
- * Og Type
1767
- * @description og:type content type for social platforms. Values: 'website' | 'article' | 'product' | 'video.other' | 'music.song' | 'profile' | 'book'.
1677
+ * Allowed Roles
1678
+ * @description Role IDs allowed to use this form
1768
1679
  */
1769
- og_type?: ("website" | "article" | "product" | "video.other" | "music.song" | "profile" | "book") | null;
1680
+ allowed_roles?: number[] | null;
1681
+ connected_spaces?: components["schemas"]["ConnectedSpacesSchema"] | null;
1682
+ /** Custom Fields */
1683
+ custom_fields?: {
1684
+ [key: string]: unknown;
1685
+ } | null;
1686
+ };
1687
+ /**
1688
+ * StaticContentSchema
1689
+ * @description Static content configuration
1690
+ */
1691
+ StaticContentSchema: {
1692
+ /** Html */
1693
+ html?: string | null;
1694
+ /** Markdown */
1695
+ markdown?: string | null;
1770
1696
  /**
1771
- * Twitter Card
1772
- * @description twitter:card card layout on Twitter/X. Values: 'summary' | 'summary_large_image' | 'app' | 'player'.
1697
+ * Content Source
1698
+ * @description custom, cms, external
1699
+ * @default custom
1773
1700
  */
1774
- twitter_card?: ("summary" | "summary_large_image" | "app" | "player") | null;
1701
+ content_source: string;
1702
+ };
1703
+ /**
1704
+ * SpaceCloneRequest
1705
+ * @description Clone an existing space
1706
+ */
1707
+ SpaceCloneRequest: {
1775
1708
  /**
1776
- * Twitter Title
1777
- * @description twitter:title — overrides og_title for Twitter/X. Keep ≤70 chars.
1709
+ * Title
1710
+ * @description Title for the cloned space
1778
1711
  */
1779
- twitter_title?: string | null;
1712
+ title: string;
1780
1713
  /**
1781
- * Twitter Description
1782
- * @description twitter:description overrides og_description for Twitter/X.
1714
+ * Clone Content
1715
+ * @description Clone content configuration
1716
+ * @default true
1783
1717
  */
1784
- twitter_description?: string | null;
1718
+ clone_content: boolean;
1785
1719
  /**
1786
- * Twitter Image
1787
- * @description twitter:image full URL (http/https). Overrides og_image for Twitter/X. Min 144×144 px, max 4096×4096 px.
1720
+ * Clone Template Data
1721
+ * @description Clone template data
1722
+ * @default true
1788
1723
  */
1789
- twitter_image?: string | null;
1724
+ clone_template_data: boolean;
1790
1725
  /**
1791
- * Canonical Url
1792
- * @description <link rel='canonical'>. Full URL (http/https). Set when this page has duplicate content at another URL.
1726
+ * Clone Url Rule
1727
+ * @description Clone URL rule (usually false - need new URL)
1728
+ * @default false
1793
1729
  */
1794
- canonical_url?: string | null;
1730
+ clone_url_rule: boolean;
1731
+ };
1732
+ /**
1733
+ * SpaceUpdateRequest
1734
+ * @description Update an existing space
1735
+ */
1736
+ SpaceUpdateRequest: {
1737
+ /** Title */
1738
+ title?: string | null;
1739
+ /** Description */
1740
+ description?: string | null;
1741
+ /** Layout Type */
1742
+ layout_type?: string | null;
1743
+ /** Show Header */
1744
+ show_header?: boolean | null;
1745
+ /** Show Footer */
1746
+ show_footer?: boolean | null;
1747
+ /** Show Sidebar */
1748
+ show_sidebar?: boolean | null;
1749
+ /** Visibility */
1750
+ visibility?: string | null;
1751
+ /** Requires Auth */
1752
+ requires_auth?: boolean | null;
1753
+ /** Allowed Roles */
1754
+ allowed_roles?: string[] | null;
1755
+ };
1756
+ ErrorResponse: {
1757
+ /** @example about:blank */
1758
+ type?: string;
1759
+ /** @example GENERIC_ERROR */
1760
+ code?: string;
1761
+ /** @example Client Error */
1762
+ title?: string;
1763
+ /** @example 400 */
1764
+ status?: number;
1765
+ /** @example An error occurred */
1766
+ detail?: string;
1767
+ /** @example /v1/cart/items */
1768
+ instance?: string;
1769
+ extensions?: components["schemas"]["Extensions"];
1770
+ };
1771
+ /**
1772
+ * EntityCriteriaSchema
1773
+ * @description Entity selection criteria
1774
+ */
1775
+ EntityCriteriaSchema: {
1776
+ /** Category Ids */
1777
+ category_ids?: number[] | null;
1778
+ /** Subject Ids */
1779
+ subject_ids?: number[] | null;
1780
+ /** Country Codes */
1781
+ country_codes?: string[] | null;
1782
+ /** Price Min */
1783
+ price_min?: number | null;
1784
+ /** Price Max */
1785
+ price_max?: number | null;
1786
+ /** Rating Min */
1787
+ rating_min?: number | null;
1788
+ /** Language */
1789
+ language?: string | null;
1790
+ /** Custom Filters */
1791
+ custom_filters?: {
1792
+ [key: string]: unknown;
1793
+ } | null;
1794
+ };
1795
+ /**
1796
+ * SortConfigSchema
1797
+ * @description Sort configuration for listing pages
1798
+ */
1799
+ SortConfigSchema: {
1795
1800
  /**
1796
- * Robots
1797
- * @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'.
1801
+ * Enabled
1802
+ * @description Enable sorting
1803
+ * @default true
1798
1804
  */
1799
- robots?: string | null;
1805
+ enabled: boolean;
1800
1806
  /**
1801
- * Meta Title
1802
- * @description <title> and <meta name='title'>. Keep ≤60 chars for Google display.
1807
+ * Default
1808
+ * @description Default sort option
1809
+ * @default rating_desc
1803
1810
  */
1804
- meta_title?: string | null;
1811
+ default: string;
1805
1812
  /**
1806
- * Meta Description
1807
- * @description <meta name='description'>. Keep ≤160 chars for Google display.
1813
+ * Options
1814
+ * @description Available sort options
1808
1815
  */
1809
- meta_description?: string | null;
1816
+ options?: string[];
1817
+ };
1818
+ /**
1819
+ * TemplateDataUpdateRequest
1820
+ * @description Update template section data
1821
+ */
1822
+ TemplateDataUpdateRequest: {
1810
1823
  /**
1811
- * Meta Keywords
1812
- * @description Comma-separated keywords. Low weight for Google, used for internal search.
1824
+ * Section Content
1825
+ * @description Updated section configuration
1813
1826
  */
1814
- meta_keywords?: string | null;
1827
+ section_content: {
1828
+ [key: string]: unknown;
1829
+ };
1830
+ };
1831
+ Extensions: {
1832
+ /** @example GENERIC_ERROR */
1833
+ message_code?: string;
1834
+ /** @example [] */
1835
+ invalid_params?: components["schemas"]["InvalidParam"][];
1836
+ extra_data?: Record<string, never> | null;
1837
+ /** @example Detailed debug information */
1838
+ debug?: string | null;
1839
+ };
1840
+ /**
1841
+ * FilterConfigSchema
1842
+ * @description Filter configuration for listing pages
1843
+ */
1844
+ FilterConfigSchema: {
1815
1845
  /**
1816
- * Og Image Width
1817
- * @description og:image:width in pixels. Recommended: 1200.
1846
+ * Enabled
1847
+ * @description Enable filters
1848
+ * @default true
1818
1849
  */
1819
- og_image_width?: number | null;
1850
+ enabled: boolean;
1820
1851
  /**
1821
- * Og Image Height
1822
- * @description og:image:height in pixels. Recommended: 630.
1852
+ * Position
1853
+ * @description left, top, right
1854
+ * @default left
1823
1855
  */
1824
- og_image_height?: number | null;
1856
+ position: string;
1825
1857
  /**
1826
- * Og Image Alt
1827
- * @description og:image:alt alt text for the OG image.
1858
+ * Available Filters
1859
+ * @description List of enabled filters: category, subject, price, rating, country, etc
1828
1860
  */
1829
- og_image_alt?: string | null;
1861
+ available_filters?: string[];
1830
1862
  /**
1831
- * Og Url
1832
- * @description og:url canonical URL used by social platforms.
1863
+ * Keyword Search
1864
+ * @description Enable keyword search
1865
+ * @default true
1833
1866
  */
1834
- og_url?: string | null;
1867
+ keyword_search: boolean;
1868
+ };
1869
+ InvalidParam: {
1870
+ /** @example items[0].quantity */
1871
+ field?: string;
1872
+ /** @example Input should be greater than or equal to 1 */
1873
+ error?: string;
1874
+ };
1875
+ /**
1876
+ * ConnectedSpacesSchema
1877
+ * @description Connected spaces for forms
1878
+ */
1879
+ ConnectedSpacesSchema: {
1835
1880
  /**
1836
- * Og Site Name
1837
- * @description og:site_name your platform name shown in the link preview card.
1881
+ * Register Link
1882
+ * @description External ID of register space
1838
1883
  */
1839
- og_site_name?: string | null;
1884
+ register_link?: string | null;
1840
1885
  /**
1841
- * Og Locale
1842
- * @description og:locale language in underscore format: en_US, es_ES, fr_FR.
1886
+ * Forgot Password
1887
+ * @description External ID of forgot password space
1843
1888
  */
1844
- og_locale?: string | null;
1889
+ forgot_password?: string | null;
1845
1890
  /**
1846
- * Twitter Image Alt
1847
- * @description twitter:image:alt alt text for the Twitter card image.
1891
+ * Success Redirect
1892
+ * @description External ID of redirect space after success
1848
1893
  */
1849
- twitter_image_alt?: string | null;
1894
+ success_redirect?: string | null;
1895
+ };
1896
+ /**
1897
+ * UrlRuleCreateRequest
1898
+ * @description Create URL rule for a space
1899
+ * @example {
1900
+ * "domain": "www.mysite.com",
1901
+ * "level1_type": "custom_text",
1902
+ * "level1_value": "course",
1903
+ * "level2_type": "title",
1904
+ * "url_type": "dynamic"
1905
+ * }
1906
+ */
1907
+ UrlRuleCreateRequest: {
1850
1908
  /**
1851
- * Twitter Site
1852
- * @description twitter:site your Twitter/X account handle. Must start with '@'.
1909
+ * Domain
1910
+ * @description Domain from tenant_domains_tbl
1853
1911
  */
1854
- twitter_site?: string | null;
1912
+ domain: string;
1855
1913
  /**
1856
- * Twitter Creator
1857
- * @description twitter:creator author's Twitter/X handle. Must start with '@'.
1914
+ * Base Path
1915
+ * @description Optional prefix like /en or /us
1858
1916
  */
1859
- twitter_creator?: string | null;
1917
+ base_path?: string | null;
1860
1918
  /**
1861
- * Is Indexable
1862
- * @description System-level indexing override. False → page is treated as noindex regardless of the robots field. True → robots field is authoritative.
1863
- * @default true
1919
+ * Url Type
1920
+ * @description static or dynamic
1864
1921
  */
1865
- is_indexable: boolean;
1922
+ url_type: string;
1866
1923
  /**
1867
- * Structured Data
1868
- * @description Schema.org JSON-LD object for Google rich results.
1924
+ * Static Path
1925
+ * @description /login or /marketplace/courses
1869
1926
  */
1870
- structured_data?: {
1871
- [key: string]: unknown;
1872
- } | null;
1927
+ static_path?: string | null;
1873
1928
  /**
1874
- * Alternate Languages
1875
- * @description hreflang list: [{"lang":"en-US","url":"https://..."},{"lang":"x-default","url":"..."}]. Always include x-default.
1929
+ * Level1 Type
1930
+ * @description custom_text, title, firstname-lastname, role, country, etc
1876
1931
  */
1877
- alternate_languages?: {
1878
- [key: string]: string;
1879
- }[] | null;
1880
- };
1881
- /**
1882
- * TemplateDataUpdateRequest
1883
- * @description Update template section data
1884
- */
1885
- TemplateDataUpdateRequest: {
1932
+ level1_type?: string | null;
1886
1933
  /**
1887
- * Section Content
1888
- * @description Updated section configuration
1934
+ * Level1 Value
1935
+ * @description Fixed text if custom_text
1889
1936
  */
1890
- section_content: {
1891
- [key: string]: unknown;
1892
- };
1937
+ level1_value?: string | null;
1938
+ /** Level2 Type */
1939
+ level2_type?: string | null;
1940
+ /** Level2 Value */
1941
+ level2_value?: string | null;
1942
+ /** Level3 Type */
1943
+ level3_type?: string | null;
1944
+ /** Level3 Value */
1945
+ level3_value?: string | null;
1946
+ /** Level4 Type */
1947
+ level4_type?: string | null;
1948
+ /** Level4 Value */
1949
+ level4_value?: string | null;
1893
1950
  };
1894
1951
  /**
1895
- * ContentConfigCreateRequest
1896
- * @description Create content configuration for a space
1897
1952
  * @example {
1898
- * "display_config": {
1899
- * "card_style": "style1",
1900
- * "records_on_lg": 4,
1901
- * "records_per_page": 20
1902
- * },
1903
- * "entity_criteria": {
1904
- * "category_ids": [
1905
- * 1,
1906
- * 2,
1907
- * 3
1908
- * ],
1909
- * "price_max": 100,
1910
- * "price_min": 0,
1911
- * "rating_min": 4
1912
- * },
1913
- * "entity_selection_mode": "criteria",
1914
- * "filter_config": {
1915
- * "available_filters": [
1916
- * "category",
1917
- * "price",
1918
- * "rating"
1919
- * ],
1920
- * "enabled": true,
1921
- * "position": "left"
1922
- * },
1923
- * "sort_config": {
1924
- * "default": "rating_desc",
1925
- * "enabled": true,
1926
- * "options": [
1927
- * "price_asc",
1928
- * "price_desc",
1929
- * "rating_desc"
1930
- * ]
1953
+ * "status": "success",
1954
+ * "message": "Operation successful",
1955
+ * "message_code": "api_suc_20001",
1956
+ * "data": {},
1957
+ * "metadata": {
1958
+ * "timestamp": "2026-03-26T10:00:00.000Z",
1959
+ * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
1960
+ * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
1961
+ * "version": "v1",
1962
+ * "executionTime": 42,
1963
+ * "language": "en-US"
1931
1964
  * }
1932
1965
  * }
1933
1966
  */
1934
- ContentConfigCreateRequest: {
1935
- /**
1936
- * Entity Selection Mode
1937
- * @description all, specific, criteria
1938
- */
1939
- entity_selection_mode?: string | null;
1940
- /**
1941
- * Entity Ids
1942
- * @description Specific entity IDs
1943
- */
1944
- entity_ids?: number[] | null;
1945
- entity_criteria?: components["schemas"]["EntityCriteriaSchema"] | null;
1946
- display_config?: components["schemas"]["DisplayConfigSchema"] | null;
1947
- filter_config?: components["schemas"]["FilterConfigSchema"] | null;
1948
- sort_config?: components["schemas"]["SortConfigSchema"] | null;
1949
- form_config?: components["schemas"]["FormConfigSchema"] | null;
1950
- static_content?: components["schemas"]["StaticContentSchema"] | null;
1967
+ StandardResponse: {
1968
+ /** @example success */
1969
+ status?: string;
1970
+ data?: Record<string, never> | null;
1971
+ /** @example Operation successful */
1972
+ message?: string | null;
1973
+ /** @example api_suc_20001 */
1974
+ message_code?: string | null;
1975
+ metadata?: Record<string, never> | null;
1976
+ error?: components["schemas"]["ErrorResponse"];
1951
1977
  };
1952
1978
  /**
1953
- * DisplayConfigSchema
1954
- * @description Display configuration for listing pages
1979
+ * SpaceCreateRequest
1980
+ * @description Create a new space
1981
+ * @example {
1982
+ * "description": "Main marketplace for all courses",
1983
+ * "entity_type": "course",
1984
+ * "es_context": "courses",
1985
+ * "es_doc_type": "entity",
1986
+ * "page_type": "listing",
1987
+ * "show_footer": true,
1988
+ * "show_header": true,
1989
+ * "space_module": "course",
1990
+ * "title": "Course Marketplace",
1991
+ * "url_type": "static",
1992
+ * "visibility": "public"
1993
+ * }
1955
1994
  */
1956
- DisplayConfigSchema: {
1995
+ SpaceCreateRequest: {
1957
1996
  /**
1958
- * Card Style
1959
- * @description Card display style
1960
- * @default style1
1997
+ * Title
1998
+ * @description Space title
1961
1999
  */
1962
- card_style: string;
2000
+ title: string;
1963
2001
  /**
1964
- * Records Per Page
1965
- * @description Records per page
1966
- * @default 20
2002
+ * Description
2003
+ * @description Space description
1967
2004
  */
1968
- records_per_page: number;
2005
+ description?: string | null;
1969
2006
  /**
1970
- * Records On Lg
1971
- * @description Columns on large screens
1972
- * @default 4
2007
+ * Page Type
2008
+ * @description listing or landing — the visual page pattern
2009
+ * @enum {string}
1973
2010
  */
1974
- records_on_lg: number;
2011
+ page_type: "listing" | "landing";
1975
2012
  /**
1976
- * Records On Md
1977
- * @description Columns on medium screens
1978
- * @default 3
2013
+ * Space Module
2014
+ * @description signup, signin, forgot_password, course, session, webinar, meeting, teacher, bundle, checkout, profile, dashboard, custom
1979
2015
  */
1980
- records_on_md: number;
2016
+ space_module: string;
1981
2017
  /**
1982
- * Records On Sm
1983
- * @description Columns on small screens
1984
- * @default 2
2018
+ * Entity Type
2019
+ * @description course, session, webinar, meeting, teacher, bundle
1985
2020
  */
1986
- records_on_sm: number;
2021
+ entity_type?: string | null;
1987
2022
  /**
1988
- * Records On Xs
1989
- * @description Columns on extra small screens
1990
- * @default 1
2023
+ * Es Doc Type
2024
+ * @description entity, configuration
1991
2025
  */
1992
- records_on_xs: number;
1993
- };
1994
- /**
1995
- * FormConfigSchema
1996
- * @description Form configuration for login/register pages
1997
- */
1998
- FormConfigSchema: {
2026
+ es_doc_type?: string | null;
1999
2027
  /**
2000
- * Allowed Login Methods
2001
- * @description email, mobile, google, facebook, linkedin, apple, twitter
2028
+ * Es Context
2029
+ * @description Plural form: courses, sessions, etc.
2002
2030
  */
2003
- allowed_login_methods?: string[] | null;
2031
+ es_context?: string | null;
2004
2032
  /**
2005
- * Password Visibility
2006
- * @description Allow password visibility toggle
2007
- * @default true
2033
+ * Url Type
2034
+ * @description static or dynamic
2035
+ * @enum {string}
2008
2036
  */
2009
- password_visibility: boolean;
2037
+ url_type: "static" | "dynamic";
2010
2038
  /**
2011
- * Recaptcha
2012
- * @description v2, v3, or null
2039
+ * Show Header
2040
+ * @description Show header
2041
+ * @default true
2013
2042
  */
2014
- recaptcha?: string | null;
2043
+ show_header: boolean;
2015
2044
  /**
2016
- * Max Failed Attempts
2017
- * @default 3
2045
+ * Show Footer
2046
+ * @description Show footer
2047
+ * @default true
2018
2048
  */
2019
- max_failed_attempts: number;
2049
+ show_footer: boolean;
2020
2050
  /**
2021
- * Lockout Duration Minutes
2022
- * @default 5
2051
+ * Show Sidebar
2052
+ * @description Show sidebar
2053
+ * @default false
2023
2054
  */
2024
- lockout_duration_minutes: number;
2055
+ show_sidebar: boolean;
2025
2056
  /**
2026
- * Allowed Roles
2027
- * @description Role IDs allowed to use this form
2057
+ * Visibility
2058
+ * @description public, private, hidden, unlisted
2059
+ * @default public
2028
2060
  */
2029
- allowed_roles?: number[] | null;
2030
- connected_spaces?: components["schemas"]["ConnectedSpacesSchema"] | null;
2031
- /** Custom Fields */
2032
- custom_fields?: {
2033
- [key: string]: unknown;
2034
- } | null;
2035
- };
2036
- ErrorResponse: {
2037
- /** @example about:blank */
2038
- type?: string;
2039
- /** @example GENERIC_ERROR */
2040
- code?: string;
2041
- /** @example Client Error */
2042
- title?: string;
2043
- /** @example 400 */
2044
- status?: number;
2045
- /** @example An error occurred */
2046
- detail?: string;
2047
- /** @example /v1/cart/items */
2048
- instance?: string;
2049
- extensions?: components["schemas"]["Extensions"];
2050
- };
2051
- /**
2052
- * FilterConfigSchema
2053
- * @description Filter configuration for listing pages
2054
- */
2055
- FilterConfigSchema: {
2061
+ visibility: string;
2056
2062
  /**
2057
- * Enabled
2058
- * @description Enable filters
2059
- * @default true
2063
+ * Requires Auth
2064
+ * @description Requires authentication
2065
+ * @default false
2060
2066
  */
2061
- enabled: boolean;
2067
+ requires_auth: boolean;
2062
2068
  /**
2063
- * Position
2064
- * @description left, top, right
2065
- * @default left
2069
+ * Allowed Roles
2070
+ * @description ["admin","instructor"] or null for all
2066
2071
  */
2067
- position: string;
2072
+ allowed_roles?: string[] | null;
2068
2073
  /**
2069
- * Available Filters
2070
- * @description List of enabled filters: category, subject, price, rating, country, etc
2074
+ * Service Id
2075
+ * @description Service ID
2071
2076
  */
2072
- available_filters?: string[];
2077
+ service_id?: number | null;
2073
2078
  /**
2074
- * Keyword Search
2075
- * @description Enable keyword search
2076
- * @default true
2079
+ * Is Master Space
2080
+ * @description Is this a master/default space
2081
+ * @default false
2077
2082
  */
2078
- keyword_search: boolean;
2079
- };
2080
- /**
2081
- * TemplateAssignRequest
2082
- * @description Assign a template to a space
2083
- */
2084
- TemplateAssignRequest: {
2083
+ is_master_space: boolean;
2085
2084
  /**
2086
- * Template Id
2087
- * @description External ID of template: tpl_xxx
2085
+ * Connected Space Id
2086
+ * @description Connected space ID
2087
+ * @default 0
2088
2088
  */
2089
- template_id: string;
2089
+ connected_space_id: number;
2090
2090
  };
2091
2091
  };
2092
2092
  responses: never;