@epilot/cli 0.1.10 → 0.1.12

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 (89) hide show
  1. package/README.md +18 -21
  2. package/definitions/app.json +56 -6
  3. package/definitions/automation.json +214 -1
  4. package/definitions/blueprint-manifest.json +1303 -60
  5. package/definitions/customer-portal.json +757 -81
  6. package/definitions/data-governance.json +1126 -0
  7. package/definitions/deduplication.json +135 -4
  8. package/definitions/design.json +103 -57
  9. package/definitions/email-settings.json +150 -0
  10. package/definitions/email-template.json +25 -3
  11. package/definitions/entity.json +405 -5
  12. package/definitions/erp-integration.json +3140 -1049
  13. package/definitions/integration-toolkit.json +7998 -0
  14. package/definitions/journey.json +18 -1
  15. package/definitions/kanban.json +25 -1
  16. package/definitions/message.json +202 -0
  17. package/definitions/organization.json +35 -1
  18. package/definitions/partner-directory.json +795 -229
  19. package/definitions/permissions.json +41 -6
  20. package/definitions/sharing.json +956 -0
  21. package/definitions/template-variables.json +12 -4
  22. package/definitions/webhooks.json +111 -2
  23. package/definitions/workflow-definition.json +87 -202
  24. package/definitions/workflow.json +142 -0
  25. package/dist/{access-token-PTTCRMGK.js → access-token-CIM4RLBP.js} +1 -1
  26. package/dist/add-component-AAVQVPKK.js +296 -0
  27. package/dist/{address-2FDPEPR6.js → address-EDRTUWTP.js} +1 -1
  28. package/dist/{address-suggestions-XBEK5DDQ.js → address-suggestions-S5WEST2N.js} +1 -1
  29. package/dist/{ai-agents-ZY5BNVTN.js → ai-agents-RXDDJDAR.js} +1 -1
  30. package/dist/{app-IT5FWGUK.js → api-36XROHLK.js} +5 -5
  31. package/dist/app-I3XXHZLD.js +24 -0
  32. package/dist/{audit-logs-FB4TE4TI.js → audit-logs-PXGDGJGV.js} +1 -1
  33. package/dist/{automation-JE5LDKJM.js → automation-LS6MVLP2.js} +1 -1
  34. package/dist/{billing-GOFCP5T3.js → billing-KVYFUKZK.js} +1 -1
  35. package/dist/bin/epilot.js +53 -52
  36. package/dist/{blueprint-manifest-WJIQKFYK.js → blueprint-manifest-W4ZGJD2Z.js} +1 -1
  37. package/dist/{chunk-P5IZZW4Y.js → chunk-BYAEI4Z2.js} +1 -1
  38. package/dist/chunk-CEP7S7X3.js +366 -0
  39. package/dist/{chunk-MNSG22DM.js → chunk-F6KWKTQJ.js} +124 -63
  40. package/dist/{completion-HZNPHJI4.js → completion-QP4IYMVI.js} +1 -1
  41. package/dist/{consent-DSMWWHUL.js → consent-M4QB2HPM.js} +1 -1
  42. package/dist/{customer-portal-IJYTJYUZ.js → customer-portal-SVO2YCXA.js} +1 -1
  43. package/dist/{dashboard-DOAX6XDG.js → dashboard-CYCXIX74.js} +1 -1
  44. package/dist/{data-management-C4JPPUPD.js → data-governance-DJAAIE6F.js} +6 -6
  45. package/dist/{deduplication-7OGLZLAC.js → deduplication-M3KEVJRG.js} +1 -1
  46. package/dist/deploy-4XDFWOEV.js +214 -0
  47. package/dist/{design-3CAYTWFY.js → design-UVJJ2KO2.js} +1 -1
  48. package/dist/{document-NT5JOJQV.js → document-5HB632XE.js} +1 -1
  49. package/dist/{email-settings-2M3WJTQS.js → email-settings-H7HQTDYE.js} +1 -1
  50. package/dist/{email-template-F4PLBPPC.js → email-template-2DHZ3VKF.js} +1 -1
  51. package/dist/{entity-32LKMZAU.js → entity-HED6QHG7.js} +1 -1
  52. package/dist/{entity-mapping-OBCZDYQJ.js → entity-mapping-QP22B65Z.js} +1 -1
  53. package/dist/{environments-H3TBCDQE.js → environments-6LLEIGWV.js} +1 -1
  54. package/dist/{event-catalog-NVAPTZ4M.js → event-catalog-2ZCZTATY.js} +1 -1
  55. package/dist/export-JA5N4JCJ.js +44 -0
  56. package/dist/{file-US2HR4SV.js → file-R6IIXOIZ.js} +1 -1
  57. package/dist/{iban-7QUCOULB.js → iban-EQD2VROZ.js} +1 -1
  58. package/dist/init-5KGNJEWF.js +524 -0
  59. package/dist/integration-toolkit-4CLQDSK7.js +54 -0
  60. package/dist/{journey-E5T4BZZX.js → journey-V7X2KUKH.js} +1 -1
  61. package/dist/{kanban-7UHU5VE6.js → kanban-EPI6C3FR.js} +1 -1
  62. package/dist/{message-7KY33RJE.js → message-477EJ5JO.js} +1 -1
  63. package/dist/{metering-P7BZGMY7.js → metering-5EAEKRSL.js} +1 -1
  64. package/dist/{notes-TNJ7FPA3.js → notes-CVXNRULU.js} +1 -1
  65. package/dist/{notification-6KXEFVO5.js → notification-6HXS76XP.js} +1 -1
  66. package/dist/{organization-FF4Y3PBO.js → organization-O33CZQKD.js} +1 -1
  67. package/dist/{partner-directory-VH2SBAS2.js → partner-directory-NZWGCKSB.js} +2 -2
  68. package/dist/{permissions-KENZ4HNY.js → permissions-6QEOBJ6M.js} +1 -1
  69. package/dist/{pricing-P6QZ77VJ.js → pricing-KNYSULCW.js} +1 -1
  70. package/dist/{pricing-tier-2IRJMTM6.js → pricing-tier-OCHP6SHT.js} +1 -1
  71. package/dist/{purpose-IHROR6LQ.js → purpose-NGM42XWB.js} +1 -1
  72. package/dist/remove-component-LXSRR23E.js +89 -0
  73. package/dist/review-HFOO3NXE.js +69 -0
  74. package/dist/{sandbox-62XQPOU6.js → sandbox-YX3VVAQG.js} +1 -1
  75. package/dist/sharing-X5U53KSU.js +54 -0
  76. package/dist/{submission-PUWGOYQB.js → submission-YOWVSZNA.js} +1 -1
  77. package/dist/{targeting-QB3DFYNI.js → targeting-BMZCOG72.js} +1 -1
  78. package/dist/{template-variables-IPKRUJ4E.js → template-variables-YTABZL3E.js} +1 -1
  79. package/dist/{upgrade-TNDH4WGQ.js → upgrade-SYSSIAQC.js} +1 -1
  80. package/dist/{user-2CP75TFC.js → user-3N5ZOUYS.js} +1 -1
  81. package/dist/validate-TUMXW56Y.js +53 -0
  82. package/dist/{validation-rules-GNI4EEG5.js → validation-rules-QVS7LKEP.js} +1 -1
  83. package/dist/versions-ZTWQAGXY.js +109 -0
  84. package/dist/{webhooks-2OWUX7UL.js → webhooks-6WMWACOW.js} +1 -1
  85. package/dist/{workflow-WSLERVJI.js → workflow-ZO2MKDBS.js} +1 -1
  86. package/dist/{workflow-definition-FP3WKHGG.js → workflow-definition-RCWKIPYI.js} +1 -1
  87. package/package.json +2 -1
  88. package/definitions/data-management.json +0 -962
  89. package/dist/erp-integration-UW6H55EK.js +0 -54
@@ -1,8 +1,8 @@
1
1
  {
2
- "openapi": "3.1.0",
2
+ "openapi": "3.0.2",
3
3
  "info": {
4
4
  "title": "Blueprint Manifest API",
5
- "version": "4.5.0",
5
+ "version": "4.6.4",
6
6
  "description": "Service to create and install Blueprint Manifest files"
7
7
  },
8
8
  "tags": [
@@ -29,6 +29,14 @@
29
29
  {
30
30
  "name": "Installations",
31
31
  "description": "Manage installation jobs"
32
+ },
33
+ {
34
+ "name": "Marketplace Listings",
35
+ "description": "Manage marketplace listings for blueprints"
36
+ },
37
+ {
38
+ "name": "Marketplace Listing Versions",
39
+ "description": "Manage versions for marketplace listings"
32
40
  }
33
41
  ],
34
42
  "security": [
@@ -936,6 +944,10 @@
936
944
  "slug": {
937
945
  "type": "string",
938
946
  "description": "Slug to enforce in this blueprint. Used in marketplace blueprints to keep it consistent with webflow."
947
+ },
948
+ "auto_enable_features": {
949
+ "type": "boolean",
950
+ "description": "If true, automatically enable required features in the destination org before installing"
939
951
  }
940
952
  },
941
953
  "required": [
@@ -1124,6 +1136,90 @@
1124
1136
  }
1125
1137
  }
1126
1138
  },
1139
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}:verify": {
1140
+ "post": {
1141
+ "operationId": "verifyBlueprint",
1142
+ "summary": "verifyBlueprint",
1143
+ "description": "Start a blueprint verification job. Compares resource configurations between a source org\nand a destination org to verify that a sync/install was successful.\nReturns 202 Accepted with job_id. Poll GET /jobs/{job_id} for status, summary, and resource_results.\n",
1144
+ "tags": [
1145
+ "Blueprints"
1146
+ ],
1147
+ "parameters": [
1148
+ {
1149
+ "in": "path",
1150
+ "required": true,
1151
+ "name": "blueprint_id",
1152
+ "schema": {
1153
+ "$ref": "#/components/schemas/BlueprintID"
1154
+ }
1155
+ }
1156
+ ],
1157
+ "requestBody": {
1158
+ "required": true,
1159
+ "content": {
1160
+ "application/json": {
1161
+ "schema": {
1162
+ "type": "object",
1163
+ "required": [
1164
+ "source_org_id",
1165
+ "source_blueprint_id",
1166
+ "destination_org_id",
1167
+ "destination_blueprint_id"
1168
+ ],
1169
+ "properties": {
1170
+ "source_org_id": {
1171
+ "type": "string",
1172
+ "description": "Organization ID of the source org"
1173
+ },
1174
+ "source_blueprint_id": {
1175
+ "$ref": "#/components/schemas/BlueprintID"
1176
+ },
1177
+ "destination_org_id": {
1178
+ "type": "string",
1179
+ "description": "Organization ID of the destination org"
1180
+ },
1181
+ "destination_blueprint_id": {
1182
+ "$ref": "#/components/schemas/BlueprintID"
1183
+ },
1184
+ "source_auth_token": {
1185
+ "type": "string",
1186
+ "description": "Auth token with access to the source org (e.g. pipeline token). If not provided, the caller's bearer token is used for both orgs."
1187
+ }
1188
+ }
1189
+ }
1190
+ }
1191
+ }
1192
+ },
1193
+ "responses": {
1194
+ "202": {
1195
+ "description": "Verification job started",
1196
+ "headers": {
1197
+ "Location": {
1198
+ "description": "URL to poll the job",
1199
+ "schema": {
1200
+ "type": "string"
1201
+ }
1202
+ }
1203
+ },
1204
+ "content": {
1205
+ "application/json": {
1206
+ "schema": {
1207
+ "type": "object",
1208
+ "properties": {
1209
+ "job_id": {
1210
+ "$ref": "#/components/schemas/BlueprintJobID"
1211
+ }
1212
+ }
1213
+ }
1214
+ }
1215
+ }
1216
+ },
1217
+ "404": {
1218
+ "description": "Blueprint not found"
1219
+ }
1220
+ }
1221
+ }
1222
+ },
1127
1223
  "/v2/blueprint-manifest/blueprints/{blueprint_id}:export": {
1128
1224
  "post": {
1129
1225
  "operationId": "exportBlueprint",
@@ -1191,6 +1287,126 @@
1191
1287
  }
1192
1288
  }
1193
1289
  },
1290
+ "/v2/blueprint-manifest/marketplace/slugs": {
1291
+ "get": {
1292
+ "operationId": "listMarketplaceSlugs",
1293
+ "summary": "listMarketplaceSlugs",
1294
+ "description": "List all available marketplace blueprint slugs from Webflow CMS.\nReturns cached results when available.\n",
1295
+ "tags": [
1296
+ "Blueprints"
1297
+ ],
1298
+ "responses": {
1299
+ "200": {
1300
+ "description": "List of marketplace slugs",
1301
+ "content": {
1302
+ "application/json": {
1303
+ "schema": {
1304
+ "type": "object",
1305
+ "properties": {
1306
+ "results": {
1307
+ "type": "array",
1308
+ "items": {
1309
+ "type": "object",
1310
+ "properties": {
1311
+ "slug": {
1312
+ "type": "string",
1313
+ "description": "The installation slug identifier for the blueprint (used for publishing).",
1314
+ "example": "wallbox_b2c"
1315
+ },
1316
+ "marketplace_slug": {
1317
+ "type": "string",
1318
+ "description": "The marketplace page slug for the Webflow CMS item (used for display).",
1319
+ "example": "wallbox-b2c"
1320
+ },
1321
+ "version": {
1322
+ "type": "string",
1323
+ "example": "v1.0.0"
1324
+ },
1325
+ "name": {
1326
+ "type": "string",
1327
+ "example": "Wallbox B2C"
1328
+ },
1329
+ "installation_link": {
1330
+ "type": "string",
1331
+ "example": "https://portal.epilot.cloud/app/blueprints/install/marketplace/wallbox_b2c?s3Ref=https://example.com/blueprint.zip"
1332
+ }
1333
+ }
1334
+ }
1335
+ }
1336
+ }
1337
+ }
1338
+ }
1339
+ }
1340
+ }
1341
+ }
1342
+ }
1343
+ },
1344
+ "/v2/blueprint-manifest/blueprints:publish": {
1345
+ "post": {
1346
+ "operationId": "publishBlueprint",
1347
+ "summary": "publishBlueprint",
1348
+ "description": "Publish a blueprint to the marketplace. Exports the blueprint, uploads it to file-api with public access, and updates the Webflow CMS listing.\n",
1349
+ "tags": [
1350
+ "Blueprints"
1351
+ ],
1352
+ "requestBody": {
1353
+ "required": true,
1354
+ "content": {
1355
+ "application/json": {
1356
+ "schema": {
1357
+ "type": "object",
1358
+ "required": [
1359
+ "blueprint_id",
1360
+ "slug"
1361
+ ],
1362
+ "properties": {
1363
+ "blueprint_id": {
1364
+ "$ref": "#/components/schemas/BlueprintID"
1365
+ },
1366
+ "slug": {
1367
+ "type": "string",
1368
+ "description": "The marketplace installation slug for the Webflow CMS item"
1369
+ },
1370
+ "version": {
1371
+ "type": "string",
1372
+ "description": "The version string to set on the marketplace CMS item (e.g. \"1.0.0\")"
1373
+ },
1374
+ "name": {
1375
+ "type": "string",
1376
+ "description": "The display name for the blueprint on the marketplace CMS item"
1377
+ }
1378
+ }
1379
+ }
1380
+ }
1381
+ }
1382
+ },
1383
+ "responses": {
1384
+ "202": {
1385
+ "description": "Blueprint publish job started",
1386
+ "headers": {
1387
+ "Location": {
1388
+ "description": "URL to poll the job",
1389
+ "schema": {
1390
+ "type": "string"
1391
+ }
1392
+ }
1393
+ },
1394
+ "content": {
1395
+ "application/json": {
1396
+ "schema": {
1397
+ "type": "object",
1398
+ "properties": {
1399
+ "job_id": {
1400
+ "$ref": "#/components/schemas/BlueprintJobID"
1401
+ }
1402
+ }
1403
+ }
1404
+ }
1405
+ }
1406
+ }
1407
+ }
1408
+ }
1409
+ },
1194
1410
  "/v2/blueprint-manifest/blueprints/{blueprint_id}:format-description": {
1195
1411
  "post": {
1196
1412
  "operationId": "formatBlueprintDescription",
@@ -1754,59 +1970,503 @@
1754
1970
  }
1755
1971
  }
1756
1972
  }
1757
- }
1758
- },
1759
- "components": {
1760
- "schemas": {
1761
- "BlueprintID": {
1762
- "type": "string",
1763
- "description": "ID of a blueprint",
1764
- "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
1765
- },
1766
- "BlueprintResourceID": {
1767
- "type": "string",
1768
- "description": "ID of a blueprint resource",
1769
- "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
1770
- },
1771
- "CommonBlueprintFields": {
1772
- "type": "object",
1773
- "properties": {
1774
- "id": {
1775
- "$ref": "#/components/schemas/BlueprintID"
1776
- },
1777
- "title": {
1778
- "type": "string"
1779
- },
1780
- "slug": {
1781
- "type": "string"
1782
- },
1783
- "description": {
1784
- "type": "object",
1785
- "properties": {
1786
- "preinstall": {
1787
- "type": "string",
1788
- "description": "Markdown content shown before starting to install the blueprint",
1789
- "example": "This is the content of the preinstall.md file which contains the blueprint description.\n"
1790
- },
1791
- "postinstall": {
1792
- "type": "string",
1793
- "description": "Markdown content to be displayed when showing the plan to install blueprint",
1794
- "example": "This is the content of the postinstall.md file\n"
1973
+ },
1974
+ "/v1/blueprints/{blueprint_id}/marketplace-listing": {
1975
+ "post": {
1976
+ "operationId": "createMarketplaceListing",
1977
+ "summary": "createMarketplaceListing",
1978
+ "description": "Create a marketplace listing for a blueprint. Returns 409 if one already exists.",
1979
+ "tags": [
1980
+ "Marketplace Listings"
1981
+ ],
1982
+ "parameters": [
1983
+ {
1984
+ "name": "blueprint_id",
1985
+ "in": "path",
1986
+ "required": true,
1987
+ "schema": {
1988
+ "type": "string"
1989
+ }
1990
+ }
1991
+ ],
1992
+ "requestBody": {
1993
+ "required": true,
1994
+ "content": {
1995
+ "application/json": {
1996
+ "schema": {
1997
+ "type": "object",
1998
+ "required": [
1999
+ "name"
2000
+ ],
2001
+ "properties": {
2002
+ "name": {
2003
+ "type": "string"
2004
+ },
2005
+ "slug": {
2006
+ "type": "string"
2007
+ }
2008
+ }
2009
+ }
2010
+ }
2011
+ }
2012
+ },
2013
+ "responses": {
2014
+ "201": {
2015
+ "description": "Marketplace listing created",
2016
+ "content": {
2017
+ "application/json": {
2018
+ "schema": {
2019
+ "$ref": "#/components/schemas/MarketplaceListing"
2020
+ }
1795
2021
  }
1796
2022
  }
1797
2023
  },
1798
- "version": {
1799
- "type": "string"
1800
- },
1801
- "deployments": {
1802
- "type": "array",
1803
- "items": {
1804
- "type": "object",
1805
- "properties": {
1806
- "source_org_id": {
1807
- "type": "string"
1808
- },
1809
- "source_blueprint_id": {
2024
+ "409": {
2025
+ "description": "Listing already exists for this blueprint"
2026
+ }
2027
+ }
2028
+ },
2029
+ "get": {
2030
+ "operationId": "getMarketplaceListing",
2031
+ "summary": "getMarketplaceListing",
2032
+ "description": "Get marketplace listing for a blueprint including all versions",
2033
+ "tags": [
2034
+ "Marketplace Listings"
2035
+ ],
2036
+ "parameters": [
2037
+ {
2038
+ "name": "blueprint_id",
2039
+ "in": "path",
2040
+ "required": true,
2041
+ "schema": {
2042
+ "type": "string"
2043
+ }
2044
+ }
2045
+ ],
2046
+ "responses": {
2047
+ "200": {
2048
+ "description": "Marketplace listing with versions",
2049
+ "content": {
2050
+ "application/json": {
2051
+ "schema": {
2052
+ "allOf": [
2053
+ {
2054
+ "$ref": "#/components/schemas/MarketplaceListing"
2055
+ },
2056
+ {
2057
+ "type": "object",
2058
+ "properties": {
2059
+ "versions": {
2060
+ "type": "array",
2061
+ "items": {
2062
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2063
+ }
2064
+ },
2065
+ "has_publishable_draft": {
2066
+ "type": "boolean"
2067
+ }
2068
+ }
2069
+ }
2070
+ ]
2071
+ }
2072
+ }
2073
+ }
2074
+ },
2075
+ "404": {
2076
+ "description": "Listing not found"
2077
+ }
2078
+ }
2079
+ }
2080
+ },
2081
+ "/v1/marketplace-listings/{listing_id}": {
2082
+ "get": {
2083
+ "operationId": "getMarketplaceListingById",
2084
+ "summary": "getMarketplaceListingById",
2085
+ "description": "Get marketplace listing by listing ID including all versions",
2086
+ "tags": [
2087
+ "Marketplace Listings"
2088
+ ],
2089
+ "parameters": [
2090
+ {
2091
+ "name": "listing_id",
2092
+ "in": "path",
2093
+ "required": true,
2094
+ "schema": {
2095
+ "type": "string"
2096
+ }
2097
+ }
2098
+ ],
2099
+ "responses": {
2100
+ "200": {
2101
+ "description": "Marketplace listing with versions",
2102
+ "content": {
2103
+ "application/json": {
2104
+ "schema": {
2105
+ "allOf": [
2106
+ {
2107
+ "$ref": "#/components/schemas/MarketplaceListing"
2108
+ },
2109
+ {
2110
+ "type": "object",
2111
+ "properties": {
2112
+ "versions": {
2113
+ "type": "array",
2114
+ "items": {
2115
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2116
+ }
2117
+ },
2118
+ "has_publishable_draft": {
2119
+ "type": "boolean"
2120
+ }
2121
+ }
2122
+ }
2123
+ ]
2124
+ }
2125
+ }
2126
+ }
2127
+ },
2128
+ "404": {
2129
+ "description": "Listing not found"
2130
+ }
2131
+ }
2132
+ },
2133
+ "patch": {
2134
+ "operationId": "updateMarketplaceListing",
2135
+ "summary": "updateMarketplaceListing",
2136
+ "description": "Update listing-level fields",
2137
+ "tags": [
2138
+ "Marketplace Listings"
2139
+ ],
2140
+ "parameters": [
2141
+ {
2142
+ "name": "listing_id",
2143
+ "in": "path",
2144
+ "required": true,
2145
+ "schema": {
2146
+ "type": "string"
2147
+ }
2148
+ }
2149
+ ],
2150
+ "requestBody": {
2151
+ "required": true,
2152
+ "content": {
2153
+ "application/json": {
2154
+ "schema": {
2155
+ "$ref": "#/components/schemas/MarketplaceListingUpdate"
2156
+ }
2157
+ }
2158
+ }
2159
+ },
2160
+ "responses": {
2161
+ "200": {
2162
+ "description": "Updated marketplace listing",
2163
+ "content": {
2164
+ "application/json": {
2165
+ "schema": {
2166
+ "$ref": "#/components/schemas/MarketplaceListing"
2167
+ }
2168
+ }
2169
+ }
2170
+ },
2171
+ "404": {
2172
+ "description": "Listing not found"
2173
+ }
2174
+ }
2175
+ },
2176
+ "delete": {
2177
+ "operationId": "deleteMarketplaceListing",
2178
+ "summary": "deleteMarketplaceListing",
2179
+ "description": "Delete listing and all versions",
2180
+ "tags": [
2181
+ "Marketplace Listings"
2182
+ ],
2183
+ "parameters": [
2184
+ {
2185
+ "name": "listing_id",
2186
+ "in": "path",
2187
+ "required": true,
2188
+ "schema": {
2189
+ "type": "string"
2190
+ }
2191
+ }
2192
+ ],
2193
+ "responses": {
2194
+ "204": {
2195
+ "description": "Listing deleted"
2196
+ },
2197
+ "404": {
2198
+ "description": "Listing not found"
2199
+ }
2200
+ }
2201
+ }
2202
+ },
2203
+ "/v1/marketplace-listings/{listing_id}/versions": {
2204
+ "post": {
2205
+ "operationId": "createMarketplaceListingVersion",
2206
+ "summary": "createMarketplaceListingVersion",
2207
+ "description": "Create a draft version; auto-snapshots resources, requiredFeatures, recommendedApps from current blueprint",
2208
+ "tags": [
2209
+ "Marketplace Listing Versions"
2210
+ ],
2211
+ "parameters": [
2212
+ {
2213
+ "name": "listing_id",
2214
+ "in": "path",
2215
+ "required": true,
2216
+ "schema": {
2217
+ "type": "string"
2218
+ }
2219
+ }
2220
+ ],
2221
+ "responses": {
2222
+ "201": {
2223
+ "description": "Draft version created",
2224
+ "content": {
2225
+ "application/json": {
2226
+ "schema": {
2227
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2228
+ }
2229
+ }
2230
+ }
2231
+ },
2232
+ "404": {
2233
+ "description": "Listing not found"
2234
+ }
2235
+ }
2236
+ },
2237
+ "get": {
2238
+ "operationId": "listMarketplaceListingVersions",
2239
+ "summary": "listMarketplaceListingVersions",
2240
+ "description": "List all versions for a listing, newest first",
2241
+ "tags": [
2242
+ "Marketplace Listing Versions"
2243
+ ],
2244
+ "parameters": [
2245
+ {
2246
+ "name": "listing_id",
2247
+ "in": "path",
2248
+ "required": true,
2249
+ "schema": {
2250
+ "type": "string"
2251
+ }
2252
+ }
2253
+ ],
2254
+ "responses": {
2255
+ "200": {
2256
+ "description": "List of versions",
2257
+ "content": {
2258
+ "application/json": {
2259
+ "schema": {
2260
+ "type": "object",
2261
+ "properties": {
2262
+ "versions": {
2263
+ "type": "array",
2264
+ "items": {
2265
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2266
+ }
2267
+ }
2268
+ }
2269
+ }
2270
+ }
2271
+ }
2272
+ }
2273
+ }
2274
+ }
2275
+ },
2276
+ "/v1/marketplace-listings/{listing_id}/versions/{version_id}": {
2277
+ "patch": {
2278
+ "operationId": "updateMarketplaceListingVersion",
2279
+ "summary": "updateMarketplaceListingVersion",
2280
+ "description": "Update updateNote, requiredFeatures, or recommendedApps on a draft version",
2281
+ "tags": [
2282
+ "Marketplace Listing Versions"
2283
+ ],
2284
+ "parameters": [
2285
+ {
2286
+ "name": "listing_id",
2287
+ "in": "path",
2288
+ "required": true,
2289
+ "schema": {
2290
+ "type": "string"
2291
+ }
2292
+ },
2293
+ {
2294
+ "name": "version_id",
2295
+ "in": "path",
2296
+ "required": true,
2297
+ "schema": {
2298
+ "type": "string"
2299
+ }
2300
+ }
2301
+ ],
2302
+ "requestBody": {
2303
+ "required": true,
2304
+ "content": {
2305
+ "application/json": {
2306
+ "schema": {
2307
+ "type": "object",
2308
+ "properties": {
2309
+ "update_note": {
2310
+ "type": "string",
2311
+ "nullable": true
2312
+ },
2313
+ "required_features": {
2314
+ "type": "array",
2315
+ "items": {
2316
+ "type": "string"
2317
+ }
2318
+ },
2319
+ "recommended_apps": {
2320
+ "type": "array",
2321
+ "items": {
2322
+ "type": "string"
2323
+ }
2324
+ }
2325
+ }
2326
+ }
2327
+ }
2328
+ }
2329
+ },
2330
+ "responses": {
2331
+ "200": {
2332
+ "description": "Updated version",
2333
+ "content": {
2334
+ "application/json": {
2335
+ "schema": {
2336
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2337
+ }
2338
+ }
2339
+ }
2340
+ },
2341
+ "400": {
2342
+ "description": "Cannot update non-draft version"
2343
+ },
2344
+ "404": {
2345
+ "description": "Version not found"
2346
+ }
2347
+ }
2348
+ }
2349
+ },
2350
+ "/v1/marketplace-listings/{listing_id}/versions/{version_id}/publish": {
2351
+ "post": {
2352
+ "operationId": "publishMarketplaceListingVersion",
2353
+ "summary": "publishMarketplaceListingVersion",
2354
+ "description": "Publish a draft version; archives the previous live version",
2355
+ "tags": [
2356
+ "Marketplace Listing Versions"
2357
+ ],
2358
+ "parameters": [
2359
+ {
2360
+ "name": "listing_id",
2361
+ "in": "path",
2362
+ "required": true,
2363
+ "schema": {
2364
+ "type": "string"
2365
+ }
2366
+ },
2367
+ {
2368
+ "name": "version_id",
2369
+ "in": "path",
2370
+ "required": true,
2371
+ "schema": {
2372
+ "type": "string"
2373
+ }
2374
+ }
2375
+ ],
2376
+ "requestBody": {
2377
+ "required": true,
2378
+ "content": {
2379
+ "application/json": {
2380
+ "schema": {
2381
+ "type": "object",
2382
+ "required": [
2383
+ "version_name"
2384
+ ],
2385
+ "properties": {
2386
+ "version_name": {
2387
+ "type": "string"
2388
+ },
2389
+ "update_note": {
2390
+ "type": "string",
2391
+ "nullable": true
2392
+ }
2393
+ }
2394
+ }
2395
+ }
2396
+ }
2397
+ },
2398
+ "responses": {
2399
+ "200": {
2400
+ "description": "Published version",
2401
+ "content": {
2402
+ "application/json": {
2403
+ "schema": {
2404
+ "$ref": "#/components/schemas/MarketplaceListingVersion"
2405
+ }
2406
+ }
2407
+ }
2408
+ },
2409
+ "400": {
2410
+ "description": "Version not publishable or version_name already taken"
2411
+ },
2412
+ "404": {
2413
+ "description": "Version not found"
2414
+ }
2415
+ }
2416
+ }
2417
+ }
2418
+ },
2419
+ "components": {
2420
+ "schemas": {
2421
+ "BlueprintID": {
2422
+ "type": "string",
2423
+ "description": "ID of a blueprint",
2424
+ "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
2425
+ },
2426
+ "BlueprintResourceID": {
2427
+ "type": "string",
2428
+ "description": "ID of a blueprint resource",
2429
+ "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
2430
+ },
2431
+ "CommonBlueprintFields": {
2432
+ "type": "object",
2433
+ "properties": {
2434
+ "id": {
2435
+ "$ref": "#/components/schemas/BlueprintID"
2436
+ },
2437
+ "title": {
2438
+ "type": "string"
2439
+ },
2440
+ "slug": {
2441
+ "type": "string"
2442
+ },
2443
+ "description": {
2444
+ "type": "object",
2445
+ "properties": {
2446
+ "preinstall": {
2447
+ "type": "string",
2448
+ "description": "Markdown content shown before starting to install the blueprint",
2449
+ "example": "This is the content of the preinstall.md file which contains the blueprint description.\n"
2450
+ },
2451
+ "postinstall": {
2452
+ "type": "string",
2453
+ "description": "Markdown content to be displayed when showing the plan to install blueprint",
2454
+ "example": "This is the content of the postinstall.md file\n"
2455
+ }
2456
+ }
2457
+ },
2458
+ "version": {
2459
+ "type": "string"
2460
+ },
2461
+ "deployments": {
2462
+ "type": "array",
2463
+ "items": {
2464
+ "type": "object",
2465
+ "properties": {
2466
+ "source_org_id": {
2467
+ "type": "string"
2468
+ },
2469
+ "source_blueprint_id": {
1810
2470
  "type": "string"
1811
2471
  },
1812
2472
  "destination_org_id": {
@@ -1818,6 +2478,10 @@
1818
2478
  "triggered_at": {
1819
2479
  "type": "string",
1820
2480
  "format": "date-time"
2481
+ },
2482
+ "note": {
2483
+ "type": "string",
2484
+ "description": "User-provided note about this synchronization"
1821
2485
  }
1822
2486
  }
1823
2487
  }
@@ -1858,7 +2522,11 @@
1858
2522
  },
1859
2523
  "source_blueprint_id": {
1860
2524
  "description": "ID of the blueprint that brought this blueprint to the destination org (deployed or installed)",
1861
- "$ref": "#/components/schemas/BlueprintID"
2525
+ "allOf": [
2526
+ {
2527
+ "$ref": "#/components/schemas/BlueprintID"
2528
+ }
2529
+ ]
1862
2530
  },
1863
2531
  "archived": {
1864
2532
  "type": "boolean",
@@ -2036,6 +2704,23 @@
2036
2704
  "type": "string"
2037
2705
  }
2038
2706
  },
2707
+ "required_features": {
2708
+ "type": "object",
2709
+ "properties": {
2710
+ "enabled": {
2711
+ "type": "array",
2712
+ "items": {
2713
+ "type": "string"
2714
+ }
2715
+ },
2716
+ "disabled": {
2717
+ "type": "array",
2718
+ "items": {
2719
+ "type": "string"
2720
+ }
2721
+ }
2722
+ }
2723
+ },
2039
2724
  "created_at": {
2040
2725
  "type": "string",
2041
2726
  "format": "date-time"
@@ -2083,7 +2768,9 @@
2083
2768
  },
2084
2769
  "source_type": {
2085
2770
  "type": "string",
2086
- "const": "custom"
2771
+ "enum": [
2772
+ "custom"
2773
+ ]
2087
2774
  }
2088
2775
  }
2089
2776
  }
@@ -2102,7 +2789,9 @@
2102
2789
  "properties": {
2103
2790
  "source_type": {
2104
2791
  "type": "string",
2105
- "const": "file"
2792
+ "enum": [
2793
+ "file"
2794
+ ]
2106
2795
  },
2107
2796
  "resources": {
2108
2797
  "type": "array",
@@ -2131,7 +2820,9 @@
2131
2820
  },
2132
2821
  "source_type": {
2133
2822
  "type": "string",
2134
- "const": "marketplace"
2823
+ "enum": [
2824
+ "marketplace"
2825
+ ]
2135
2826
  },
2136
2827
  "resources": {
2137
2828
  "type": "array",
@@ -2227,7 +2918,9 @@
2227
2918
  "properties": {
2228
2919
  "source_type": {
2229
2920
  "type": "string",
2230
- "const": "deploy"
2921
+ "enum": [
2922
+ "deploy"
2923
+ ]
2231
2924
  },
2232
2925
  "resources": {
2233
2926
  "type": "array",
@@ -2252,7 +2945,9 @@
2252
2945
  "properties": {
2253
2946
  "source_type": {
2254
2947
  "type": "string",
2255
- "const": "app"
2948
+ "enum": [
2949
+ "app"
2950
+ ]
2256
2951
  },
2257
2952
  "resources": {
2258
2953
  "type": "array",
@@ -2403,6 +3098,9 @@
2403
3098
  },
2404
3099
  {
2405
3100
  "$ref": "#/components/schemas/BlueprintValidateJob"
3101
+ },
3102
+ {
3103
+ "$ref": "#/components/schemas/BlueprintVerificationJob"
2406
3104
  }
2407
3105
  ]
2408
3106
  },
@@ -2462,7 +3160,131 @@
2462
3160
  }
2463
3161
  }
2464
3162
  }
2465
- ]
3163
+ ]
3164
+ },
3165
+ "BlueprintVerificationJob": {
3166
+ "allOf": [
3167
+ {
3168
+ "$ref": "#/components/schemas/CommonBlueprintJobFields"
3169
+ },
3170
+ {
3171
+ "type": "object",
3172
+ "properties": {
3173
+ "source_org_id": {
3174
+ "type": "string"
3175
+ },
3176
+ "source_blueprint_id": {
3177
+ "$ref": "#/components/schemas/BlueprintID"
3178
+ },
3179
+ "destination_org_id": {
3180
+ "type": "string"
3181
+ },
3182
+ "destination_blueprint_id": {
3183
+ "$ref": "#/components/schemas/BlueprintID"
3184
+ },
3185
+ "status": {
3186
+ "type": "string",
3187
+ "enum": [
3188
+ "IN_PROGRESS",
3189
+ "SUCCESS",
3190
+ "FAILED"
3191
+ ]
3192
+ },
3193
+ "summary": {
3194
+ "$ref": "#/components/schemas/VerificationSummary"
3195
+ },
3196
+ "resource_results": {
3197
+ "type": "array",
3198
+ "items": {
3199
+ "$ref": "#/components/schemas/ResourceVerificationResult"
3200
+ }
3201
+ },
3202
+ "resource_results_s3_key": {
3203
+ "type": "string",
3204
+ "description": "S3 key for detailed results when too large for inline storage."
3205
+ }
3206
+ }
3207
+ }
3208
+ ]
3209
+ },
3210
+ "VerificationSummary": {
3211
+ "type": "object",
3212
+ "properties": {
3213
+ "total_resources": {
3214
+ "type": "integer"
3215
+ },
3216
+ "matched": {
3217
+ "type": "integer"
3218
+ },
3219
+ "mismatched": {
3220
+ "type": "integer"
3221
+ },
3222
+ "missing_in_destination": {
3223
+ "type": "integer"
3224
+ },
3225
+ "missing_in_source": {
3226
+ "type": "integer"
3227
+ },
3228
+ "fetch_errors": {
3229
+ "type": "integer"
3230
+ }
3231
+ }
3232
+ },
3233
+ "ResourceVerificationResult": {
3234
+ "type": "object",
3235
+ "properties": {
3236
+ "resource_type": {
3237
+ "$ref": "#/components/schemas/ResourceNodeType"
3238
+ },
3239
+ "resource_name": {
3240
+ "type": "string"
3241
+ },
3242
+ "source_resource_id": {
3243
+ "type": "string"
3244
+ },
3245
+ "destination_resource_id": {
3246
+ "type": "string"
3247
+ },
3248
+ "status": {
3249
+ "type": "string",
3250
+ "enum": [
3251
+ "matched",
3252
+ "mismatched",
3253
+ "missing_in_destination",
3254
+ "missing_in_source",
3255
+ "fetch_error"
3256
+ ]
3257
+ },
3258
+ "field_diffs": {
3259
+ "type": "array",
3260
+ "items": {
3261
+ "$ref": "#/components/schemas/FieldDiff"
3262
+ }
3263
+ },
3264
+ "error": {
3265
+ "type": "string"
3266
+ }
3267
+ }
3268
+ },
3269
+ "FieldDiff": {
3270
+ "type": "object",
3271
+ "properties": {
3272
+ "path": {
3273
+ "type": "string",
3274
+ "description": "JSON path to the differing field (e.g. \"steps[2].name\")"
3275
+ },
3276
+ "source_value": {},
3277
+ "destination_value": {},
3278
+ "diff_type": {
3279
+ "type": "string",
3280
+ "enum": [
3281
+ "value_changed",
3282
+ "field_missing_in_destination",
3283
+ "field_missing_in_source",
3284
+ "type_mismatch"
3285
+ ]
3286
+ }
3287
+ }
2466
3288
  },
2467
3289
  "BlueprintJobEvent": {
2468
3290
  "type": "object",
@@ -2631,7 +3453,8 @@
2631
3453
  "validation_rule",
2632
3454
  "flow_template",
2633
3455
  "taxonomy",
2634
- "notification_template"
3456
+ "notification_template",
3457
+ "environment_variable"
2635
3458
  ]
2636
3459
  },
2637
3460
  "PlanChanges": {
@@ -3351,6 +4174,426 @@
3351
4174
  }
3352
4175
  }
3353
4176
  }
4177
+ },
4178
+ "MarketplaceListing": {
4179
+ "type": "object",
4180
+ "required": [
4181
+ "id",
4182
+ "blueprint_id",
4183
+ "name",
4184
+ "slug",
4185
+ "status"
4186
+ ],
4187
+ "properties": {
4188
+ "id": {
4189
+ "type": "string",
4190
+ "format": "uuid"
4191
+ },
4192
+ "blueprint_id": {
4193
+ "type": "string"
4194
+ },
4195
+ "name": {
4196
+ "type": "string"
4197
+ },
4198
+ "slug": {
4199
+ "type": "string"
4200
+ },
4201
+ "logo": {
4202
+ "type": "string",
4203
+ "nullable": true
4204
+ },
4205
+ "documentation_url": {
4206
+ "type": "string",
4207
+ "nullable": true
4208
+ },
4209
+ "pricing_type": {
4210
+ "type": "string",
4211
+ "enum": [
4212
+ "free",
4213
+ "paid",
4214
+ "freemium",
4215
+ "contact_us"
4216
+ ],
4217
+ "nullable": true
4218
+ },
4219
+ "support_email": {
4220
+ "type": "string",
4221
+ "nullable": true
4222
+ },
4223
+ "portal_description": {
4224
+ "type": "string",
4225
+ "nullable": true
4226
+ },
4227
+ "teaser_name": {
4228
+ "type": "string",
4229
+ "nullable": true
4230
+ },
4231
+ "teaser_short_description": {
4232
+ "type": "string",
4233
+ "nullable": true
4234
+ },
4235
+ "teaser_thumbnail": {
4236
+ "type": "string",
4237
+ "nullable": true
4238
+ },
4239
+ "details_page_title": {
4240
+ "type": "string",
4241
+ "nullable": true
4242
+ },
4243
+ "details_page_description": {
4244
+ "type": "string",
4245
+ "nullable": true
4246
+ },
4247
+ "details_page_hero_image": {
4248
+ "type": "string",
4249
+ "nullable": true
4250
+ },
4251
+ "details_page_carousel": {
4252
+ "type": "array",
4253
+ "items": {
4254
+ "type": "string"
4255
+ },
4256
+ "nullable": true
4257
+ },
4258
+ "documentation_link": {
4259
+ "type": "string",
4260
+ "nullable": true
4261
+ },
4262
+ "resources_section_description": {
4263
+ "type": "string",
4264
+ "nullable": true
4265
+ },
4266
+ "resources_section_benefits_title": {
4267
+ "type": "string",
4268
+ "nullable": true
4269
+ },
4270
+ "resources_section_benefits_list": {
4271
+ "type": "string",
4272
+ "nullable": true
4273
+ },
4274
+ "resources_section_process_details": {
4275
+ "type": "string",
4276
+ "nullable": true
4277
+ },
4278
+ "partner": {
4279
+ "type": "string",
4280
+ "nullable": true
4281
+ },
4282
+ "partner_subtext": {
4283
+ "type": "string",
4284
+ "nullable": true
4285
+ },
4286
+ "partner_logo": {
4287
+ "type": "string",
4288
+ "nullable": true
4289
+ },
4290
+ "partner_website_link": {
4291
+ "type": "string",
4292
+ "nullable": true
4293
+ },
4294
+ "last_updated_on": {
4295
+ "type": "string",
4296
+ "nullable": true
4297
+ },
4298
+ "requires_customer_portal": {
4299
+ "type": "boolean",
4300
+ "nullable": true
4301
+ },
4302
+ "process_details_section_title": {
4303
+ "type": "string",
4304
+ "nullable": true
4305
+ },
4306
+ "is_new_blueprint": {
4307
+ "type": "boolean",
4308
+ "nullable": true
4309
+ },
4310
+ "available_in": {
4311
+ "type": "string",
4312
+ "nullable": true
4313
+ },
4314
+ "testimonials": {
4315
+ "type": "array",
4316
+ "items": {
4317
+ "type": "string"
4318
+ },
4319
+ "nullable": true
4320
+ },
4321
+ "installation_link": {
4322
+ "type": "string",
4323
+ "nullable": true
4324
+ },
4325
+ "installation_slug": {
4326
+ "type": "string",
4327
+ "nullable": true
4328
+ },
4329
+ "demo_form_link": {
4330
+ "type": "string",
4331
+ "nullable": true
4332
+ },
4333
+ "order": {
4334
+ "type": "number",
4335
+ "nullable": true
4336
+ },
4337
+ "categories": {
4338
+ "type": "array",
4339
+ "items": {
4340
+ "type": "string"
4341
+ },
4342
+ "nullable": true
4343
+ },
4344
+ "main_category": {
4345
+ "type": "array",
4346
+ "items": {
4347
+ "type": "string"
4348
+ },
4349
+ "nullable": true
4350
+ },
4351
+ "status": {
4352
+ "type": "string",
4353
+ "enum": [
4354
+ "draft",
4355
+ "live",
4356
+ "archived"
4357
+ ]
4358
+ },
4359
+ "created_at": {
4360
+ "type": "string",
4361
+ "format": "date-time"
4362
+ },
4363
+ "updated_at": {
4364
+ "type": "string",
4365
+ "format": "date-time"
4366
+ }
4367
+ }
4368
+ },
4369
+ "MarketplaceListingUpdate": {
4370
+ "type": "object",
4371
+ "properties": {
4372
+ "name": {
4373
+ "type": "string"
4374
+ },
4375
+ "slug": {
4376
+ "type": "string"
4377
+ },
4378
+ "logo": {
4379
+ "type": "string",
4380
+ "nullable": true
4381
+ },
4382
+ "documentation_url": {
4383
+ "type": "string",
4384
+ "nullable": true
4385
+ },
4386
+ "pricing_type": {
4387
+ "type": "string",
4388
+ "enum": [
4389
+ "free",
4390
+ "paid",
4391
+ "freemium",
4392
+ "contact_us"
4393
+ ],
4394
+ "nullable": true
4395
+ },
4396
+ "support_email": {
4397
+ "type": "string",
4398
+ "nullable": true
4399
+ },
4400
+ "portal_description": {
4401
+ "type": "string",
4402
+ "nullable": true
4403
+ },
4404
+ "teaser_name": {
4405
+ "type": "string",
4406
+ "nullable": true
4407
+ },
4408
+ "teaser_short_description": {
4409
+ "type": "string",
4410
+ "nullable": true
4411
+ },
4412
+ "teaser_thumbnail": {
4413
+ "type": "string",
4414
+ "nullable": true
4415
+ },
4416
+ "details_page_title": {
4417
+ "type": "string",
4418
+ "nullable": true
4419
+ },
4420
+ "details_page_description": {
4421
+ "type": "string",
4422
+ "nullable": true
4423
+ },
4424
+ "details_page_hero_image": {
4425
+ "type": "string",
4426
+ "nullable": true
4427
+ },
4428
+ "details_page_carousel": {
4429
+ "type": "array",
4430
+ "items": {
4431
+ "type": "string"
4432
+ },
4433
+ "nullable": true
4434
+ },
4435
+ "documentation_link": {
4436
+ "type": "string",
4437
+ "nullable": true
4438
+ },
4439
+ "resources_section_description": {
4440
+ "type": "string",
4441
+ "nullable": true
4442
+ },
4443
+ "resources_section_benefits_title": {
4444
+ "type": "string",
4445
+ "nullable": true
4446
+ },
4447
+ "resources_section_benefits_list": {
4448
+ "type": "string",
4449
+ "nullable": true
4450
+ },
4451
+ "resources_section_process_details": {
4452
+ "type": "string",
4453
+ "nullable": true
4454
+ },
4455
+ "partner": {
4456
+ "type": "string",
4457
+ "nullable": true
4458
+ },
4459
+ "partner_subtext": {
4460
+ "type": "string",
4461
+ "nullable": true
4462
+ },
4463
+ "partner_logo": {
4464
+ "type": "string",
4465
+ "nullable": true
4466
+ },
4467
+ "partner_website_link": {
4468
+ "type": "string",
4469
+ "nullable": true
4470
+ },
4471
+ "last_updated_on": {
4472
+ "type": "string",
4473
+ "nullable": true
4474
+ },
4475
+ "requires_customer_portal": {
4476
+ "type": "boolean",
4477
+ "nullable": true
4478
+ },
4479
+ "process_details_section_title": {
4480
+ "type": "string",
4481
+ "nullable": true
4482
+ },
4483
+ "is_new_blueprint": {
4484
+ "type": "boolean",
4485
+ "nullable": true
4486
+ },
4487
+ "available_in": {
4488
+ "type": "string",
4489
+ "nullable": true
4490
+ },
4491
+ "testimonials": {
4492
+ "type": "array",
4493
+ "items": {
4494
+ "type": "string"
4495
+ },
4496
+ "nullable": true
4497
+ },
4498
+ "installation_link": {
4499
+ "type": "string",
4500
+ "nullable": true
4501
+ },
4502
+ "installation_slug": {
4503
+ "type": "string",
4504
+ "nullable": true
4505
+ },
4506
+ "demo_form_link": {
4507
+ "type": "string",
4508
+ "nullable": true
4509
+ },
4510
+ "order": {
4511
+ "type": "number",
4512
+ "nullable": true
4513
+ },
4514
+ "categories": {
4515
+ "type": "array",
4516
+ "items": {
4517
+ "type": "string"
4518
+ },
4519
+ "nullable": true
4520
+ },
4521
+ "main_category": {
4522
+ "type": "array",
4523
+ "items": {
4524
+ "type": "string"
4525
+ },
4526
+ "nullable": true
4527
+ }
4528
+ }
4529
+ },
4530
+ "MarketplaceListingVersion": {
4531
+ "type": "object",
4532
+ "required": [
4533
+ "id",
4534
+ "listing_id",
4535
+ "status",
4536
+ "draft_label",
4537
+ "created_at"
4538
+ ],
4539
+ "properties": {
4540
+ "id": {
4541
+ "type": "string",
4542
+ "format": "uuid"
4543
+ },
4544
+ "listing_id": {
4545
+ "type": "string"
4546
+ },
4547
+ "status": {
4548
+ "type": "string",
4549
+ "enum": [
4550
+ "draft",
4551
+ "published",
4552
+ "archived"
4553
+ ]
4554
+ },
4555
+ "version_name": {
4556
+ "type": "string",
4557
+ "nullable": true
4558
+ },
4559
+ "draft_label": {
4560
+ "type": "string"
4561
+ },
4562
+ "update_note": {
4563
+ "type": "string",
4564
+ "nullable": true
4565
+ },
4566
+ "resources": {
4567
+ "type": "array",
4568
+ "items": {
4569
+ "type": "object"
4570
+ },
4571
+ "nullable": true
4572
+ },
4573
+ "required_features": {
4574
+ "type": "array",
4575
+ "items": {
4576
+ "type": "string"
4577
+ },
4578
+ "nullable": true
4579
+ },
4580
+ "recommended_apps": {
4581
+ "type": "array",
4582
+ "items": {
4583
+ "type": "string"
4584
+ },
4585
+ "nullable": true
4586
+ },
4587
+ "created_at": {
4588
+ "type": "string",
4589
+ "format": "date-time"
4590
+ },
4591
+ "published_at": {
4592
+ "type": "string",
4593
+ "format": "date-time",
4594
+ "nullable": true
4595
+ }
4596
+ }
3354
4597
  }
3355
4598
  },
3356
4599
  "parameters": {