From f7f31b990e216e2c918bdaf2c40d6149694a9e42 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 9 Mar 2026 19:49:08 +0000 Subject: [PATCH 1/4] chore: sync OpenAPI spec from cosmos PR #2466 --- openapi.yaml | 369 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 352 insertions(+), 17 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 470815da..2bb0dc10 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -629,6 +629,90 @@ paths: $ref: '#/components/schemas/ForbiddenResponseDto' tags: - Site + '/v0/sites/{siteId}/collections': + get: + operationId: CollectionController_list_v0 + summary: List Collections + description: List collections for a site. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: parentId + in: query + required: false + schema: + type: string + format: uuid + - name: pageTypeId + in: query + required: false + schema: + type: string + format: uuid + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListCollectionsResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Collection + '/v0/sites/{siteId}/collections/{collectionId}': + get: + operationId: CollectionController_get_v0 + summary: Get Collection + description: Get a collection by ID. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: collectionId + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GetCollectionResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Collection '/v1/sites/{siteId}/pages': post: operationId: PageController_create_v1 @@ -981,6 +1065,29 @@ paths: schema: type: string format: uuid + - name: collectionId + in: query + description: Filter pages by collection ID. + required: false + schema: + type: string + format: uuid + - name: pageTypeId + in: query + description: Filter pages by page type ID. + required: false + schema: + type: string + format: uuid + - name: untyped + in: query + description: 'When true, returns only pages with no page type.' + required: false + schema: + type: string + enum: + - 'true' + - 'false' - name: limit in: query description: 'Maximum number of pages to return. Defaults to 20, maximum is 100.' @@ -2148,6 +2255,12 @@ components: - fr-FR - ar-EG - ja-JP + localeManagementMode: + description: Controls whether locales are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2155,6 +2268,7 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode BadRequestResponseDto: type: object properties: @@ -2249,6 +2363,12 @@ components: - fr-FR - ar-EG - ja-JP + localeManagementMode: + description: Controls whether locales are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2256,6 +2376,7 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode UpdateSiteV1RequestBodyDto: type: object properties: @@ -2304,6 +2425,16 @@ components: type: string format: uri example: 'https://hearthfurniture.com' + defaultLocale: + description: The primary locale of this site. + type: string + example: en-US + examples: + - en + - es + - fr-FR + - ar-EG + - ja-JP additionalProperties: false UpdateSiteV2ResponseBodyDto: type: object @@ -2341,6 +2472,12 @@ components: - fr-FR - ar-EG - ja-JP + localeManagementMode: + description: Controls whether locales are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2348,6 +2485,7 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode ListSiteV1ResponseBodyDto: type: object properties: @@ -2428,6 +2566,12 @@ components: - fr-FR - ar-EG - ja-JP + localeManagementMode: + description: Controls whether locales are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2435,6 +2579,7 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode hasMore: description: The flag that indicates whether there are more sites available. type: boolean @@ -2522,6 +2667,12 @@ components: - fr-FR - ar-EG - ja-JP + localeManagementMode: + description: Controls whether locales are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2529,6 +2680,94 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode + ListCollectionsResponseDto: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the collection. + type: string + parentId: + description: The parent collection ID. + type: string + format: uuid + nullable: true + pageTypeId: + description: The page type this collection is scoped to. + type: string + format: uuid + nullable: true + createdAt: + description: When the collection was created. + type: string + format: date-time + updatedAt: + description: When the collection was last updated. + type: string + format: date-time + required: + - id + - name + - parentId + - pageTypeId + - createdAt + - updatedAt + NotFoundResponseDto: + type: object + properties: + object: + type: string + enum: + - error + code: + type: string + enum: + - not_found + message: + type: string + required: + - object + - code + - message + GetCollectionResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the collection. + type: string + parentId: + description: The parent collection ID. + type: string + format: uuid + nullable: true + pageTypeId: + description: The page type this collection is scoped to. + type: string + format: uuid + nullable: true + createdAt: + description: When the collection was created. + type: string + format: date-time + updatedAt: + description: When the collection was last updated. + type: string + format: date-time + required: + - id + - name + - parentId + - pageTypeId + - createdAt + - updatedAt CreatePageV1RequestBodyDto: type: object properties: @@ -2540,6 +2779,14 @@ components: description: The name of the page type: string nullable: true + pageTypeId: + description: The page type ID for the page. + type: string + format: uuid + collectionId: + description: The collection to place the page in. Defaults to the site root collection. + type: string + format: uuid required: - pathname - name @@ -2557,6 +2804,16 @@ components: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -2592,6 +2849,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2740,6 +2999,7 @@ components: isOnline: description: The flag that indicates whether the page is online. type: boolean + additionalProperties: false UpdatePageV6ResponseBodyDto: type: object properties: @@ -2861,6 +3121,10 @@ components: isOnline: description: Whether the page is online or offline type: boolean + collectionId: + description: The collection to move the page to. + type: string + format: uuid UpdatePageV1ResponseBodyDto: type: object properties: @@ -2875,6 +3139,16 @@ components: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -2910,6 +3184,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2932,6 +3208,16 @@ components: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -2967,6 +3253,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2990,10 +3278,20 @@ components: type: string isOnline: type: boolean + pageTypeId: + type: string + format: uuid + nullable: true + collectionId: + type: string + format: uuid + nullable: true required: - id - pathname - isOnline + - pageTypeId + - collectionId hasMore: description: Whether there are more pages available for pagination. type: boolean @@ -3334,23 +3632,6 @@ components: - locale - domain - isDefault - NotFoundResponseDto: - type: object - properties: - object: - type: string - enum: - - error - code: - type: string - enum: - - not_found - message: - type: string - required: - - object - - code - - message ConflictResponseDto: type: object properties: @@ -3475,6 +3756,7 @@ components: type: string format: uri example: 'https://hearthfurniture.com.mx' + nullable: true UpdateSiteLocaleV1ResponseBodyDto: type: object properties: @@ -3512,6 +3794,8 @@ components: type: string format: uri example: 'https://hearthfurniture.com.mx' + nullable: true + additionalProperties: false UpdateSiteLocaleV2ResponseBodyDto: type: object properties: @@ -3817,6 +4101,7 @@ components: description: The route pathname. type: string example: /furniture + additionalProperties: false UpdateSiteRouteV2ResponseBodyDto: description: The route. type: object @@ -3996,6 +4281,8 @@ tags: description: '' - name: Page description: '' + - name: Collection + description: '' - name: Webhook Management description: '' security: @@ -4028,6 +4315,16 @@ webhooks: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -4063,6 +4360,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4104,6 +4403,16 @@ webhooks: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -4139,6 +4448,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4180,6 +4491,16 @@ webhooks: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -4215,6 +4536,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4256,6 +4579,16 @@ webhooks: description: The name of the page type: string example: About + pageTypeId: + description: The page type ID of the page. + type: string + format: uuid + nullable: true + collectionId: + description: The collection ID of the page. + type: string + format: uuid + nullable: true seoCanonicalUrl: description: The canonical URL of the page type: string @@ -4291,6 +4624,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority From d3d107129b8426b843fa11180ceae5c17a3bcf08 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 10 Mar 2026 06:19:59 +0000 Subject: [PATCH 2/4] chore: sync OpenAPI spec from cosmos PR #2466 --- openapi.yaml | 575 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 558 insertions(+), 17 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 2bb0dc10..22b4e4df 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -630,6 +630,50 @@ paths: tags: - Site '/v0/sites/{siteId}/collections': + post: + operationId: CollectionController_create_v0 + summary: Create Collection + description: Create a collection for a site. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCollectionBodyDto' + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCollectionResponseDto' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadRequestResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Collection get: operationId: CollectionController_list_v0 summary: List Collections @@ -675,6 +719,90 @@ paths: tags: - Collection '/v0/sites/{siteId}/collections/{collectionId}': + patch: + operationId: CollectionController_update_v0 + summary: Update Collection + description: Rename or move a collection. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: collectionId + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCollectionBodyDto' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateCollectionResponseDto' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadRequestResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Collection + delete: + operationId: CollectionController_delete_v0 + summary: Delete Collection + description: Soft-delete a collection and all its descendant pages. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: collectionId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: '' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Collection get: operationId: CollectionController_get_v0 summary: Get Collection @@ -1503,6 +1631,202 @@ paths: $ref: '#/components/schemas/ConflictResponseDto' tags: - Locale + '/v0/sites/{siteId}/page-types': + post: + operationId: PageTypeController_create_v0 + summary: Create Page Type + description: Create a page type for a site. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePageTypeBodyDto' + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePageTypeResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Page Type + get: + operationId: PageTypeController_list_v0 + summary: List Page Types + description: List page types for a site. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/GetPageTypeResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Page Type + '/v0/sites/{siteId}/page-types/{pageTypeId}': + patch: + operationId: PageTypeController_update_v0 + summary: Update Page Type + description: Update a page type by ID. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: pageTypeId + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePageTypeBodyDto' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePageTypeResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Page Type + delete: + operationId: PageTypeController_delete_v0 + summary: Delete Page Type + description: Delete a page type by ID. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: pageTypeId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: '' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + '409': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ConflictResponseDto' + tags: + - Page Type + get: + operationId: PageTypeController_get_v0 + summary: Get Page Type + description: Get a page type by ID. + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: pageTypeId + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GetPageTypeResponseDto' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' + tags: + - Page Type '/v1/sites/{siteId}/routes': get: operationId: SiteRouteController_list_v1 @@ -2184,11 +2508,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId CreateSiteV2RequestBodyDto: type: object properties: @@ -2322,11 +2650,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId ReadSiteV2ResponseBodyDto: type: object properties: @@ -2408,11 +2740,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId UpdateSiteV2RequestBodyDto: type: object properties: @@ -2510,11 +2846,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId hasMore: type: boolean required: @@ -2616,11 +2956,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId DuplicateSiteV2RequestBodyDto: type: object properties: @@ -2681,6 +3025,118 @@ components: - publicApiKey - defaultLocale - localeManagementMode + CreateCollectionBodyDto: + type: object + properties: + name: + description: The name of the collection. + type: string + parentId: + description: The parent collection ID. + type: string + format: uuid + pageTypeId: + description: The page type to scope this collection to. + type: string + format: uuid + required: + - name + - parentId + CreateCollectionResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the collection. + type: string + parentId: + description: The parent collection ID. + type: string + format: uuid + nullable: true + pageTypeId: + description: The page type this collection is scoped to. + type: string + format: uuid + nullable: true + createdAt: + description: When the collection was created. + type: string + format: date-time + updatedAt: + description: When the collection was last updated. + type: string + format: date-time + required: + - id + - name + - parentId + - pageTypeId + - createdAt + - updatedAt + NotFoundResponseDto: + type: object + properties: + object: + type: string + enum: + - error + code: + type: string + enum: + - not_found + message: + type: string + required: + - object + - code + - message + UpdateCollectionBodyDto: + type: object + properties: + name: + description: The new name of the collection. + type: string + parentId: + description: Move the collection under this parent. + type: string + format: uuid + UpdateCollectionResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the collection. + type: string + parentId: + description: The parent collection ID. + type: string + format: uuid + nullable: true + pageTypeId: + description: The page type this collection is scoped to. + type: string + format: uuid + nullable: true + createdAt: + description: When the collection was created. + type: string + format: date-time + updatedAt: + description: When the collection was last updated. + type: string + format: date-time + required: + - id + - name + - parentId + - pageTypeId + - createdAt + - updatedAt ListCollectionsResponseDto: type: array items: @@ -2717,23 +3173,6 @@ components: - pageTypeId - createdAt - updatedAt - NotFoundResponseDto: - type: object - properties: - object: - type: string - enum: - - error - code: - type: string - enum: - - not_found - message: - type: string - required: - - object - - code - - message GetCollectionResponseDto: type: object properties: @@ -3919,6 +4358,106 @@ components: - id - locale - domain + CreatePageTypeBodyDto: + type: object + properties: + name: + description: The name of the page type. + type: string + minLength: 1 + isExternal: + description: Whether pages of this type are externally managed. + type: boolean + required: + - name + - isExternal + CreatePageTypeResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the page type. + type: string + isExternal: + description: Whether pages of this type are externally managed. + type: boolean + createdAt: + description: When the page type was created. + type: string + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - createdAt + - updatedAt + UpdatePageTypeBodyDto: + type: object + properties: + name: + description: The name of the page type. + type: string + minLength: 1 + required: + - name + UpdatePageTypeResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the page type. + type: string + isExternal: + description: Whether pages of this type are externally managed. + type: boolean + createdAt: + description: When the page type was created. + type: string + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - createdAt + - updatedAt + GetPageTypeResponseDto: + type: object + properties: + id: + type: string + format: uuid + name: + description: The name of the page type. + type: string + isExternal: + description: Whether pages of this type are externally managed. + type: boolean + createdAt: + description: When the page type was created. + type: string + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - createdAt + - updatedAt ListSiteRouteV1ResponseBodyDto: type: object properties: @@ -4281,6 +4820,8 @@ tags: description: '' - name: Page description: '' + - name: Page Type + description: '' - name: Collection description: '' - name: Webhook Management From dc3c2df79cc6fa9552e91b154fecd2a9bf82130b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 10 Mar 2026 22:17:29 +0000 Subject: [PATCH 3/4] chore: sync OpenAPI spec from cosmos PR #2466 --- openapi.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index 22b4e4df..0a07d42d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -3061,6 +3061,9 @@ components: type: string format: uuid nullable: true + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean createdAt: description: When the collection was created. type: string @@ -3074,6 +3077,7 @@ components: - name - parentId - pageTypeId + - isPageTypeRoot - createdAt - updatedAt NotFoundResponseDto: @@ -3122,6 +3126,9 @@ components: type: string format: uuid nullable: true + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean createdAt: description: When the collection was created. type: string @@ -3135,6 +3142,7 @@ components: - name - parentId - pageTypeId + - isPageTypeRoot - createdAt - updatedAt ListCollectionsResponseDto: @@ -3158,6 +3166,9 @@ components: type: string format: uuid nullable: true + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean createdAt: description: When the collection was created. type: string @@ -3171,6 +3182,7 @@ components: - name - parentId - pageTypeId + - isPageTypeRoot - createdAt - updatedAt GetCollectionResponseDto: @@ -3192,6 +3204,9 @@ components: type: string format: uuid nullable: true + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean createdAt: description: When the collection was created. type: string @@ -3205,6 +3220,7 @@ components: - name - parentId - pageTypeId + - isPageTypeRoot - createdAt - updatedAt CreatePageV1RequestBodyDto: @@ -4383,6 +4399,11 @@ components: isExternal: description: Whether pages of this type are externally managed. type: boolean + rootCollectionId: + description: The ID of the root collection for this page type. + type: string + format: uuid + nullable: true createdAt: description: When the page type was created. type: string @@ -4395,6 +4416,7 @@ components: - id - name - isExternal + - rootCollectionId - createdAt - updatedAt UpdatePageTypeBodyDto: @@ -4418,6 +4440,11 @@ components: isExternal: description: Whether pages of this type are externally managed. type: boolean + rootCollectionId: + description: The ID of the root collection for this page type. + type: string + format: uuid + nullable: true createdAt: description: When the page type was created. type: string @@ -4430,6 +4457,7 @@ components: - id - name - isExternal + - rootCollectionId - createdAt - updatedAt GetPageTypeResponseDto: @@ -4444,6 +4472,11 @@ components: isExternal: description: Whether pages of this type are externally managed. type: boolean + rootCollectionId: + description: The ID of the root collection for this page type. + type: string + format: uuid + nullable: true createdAt: description: When the page type was created. type: string @@ -4456,6 +4489,7 @@ components: - id - name - isExternal + - rootCollectionId - createdAt - updatedAt ListSiteRouteV1ResponseBodyDto: From 8ad3636b316e8224946b034b2c351e3e714e964a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 11 Mar 2026 15:13:03 +0000 Subject: [PATCH 4/4] chore: sync OpenAPI spec from cosmos PR #2466 --- openapi.yaml | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index 0a07d42d..d2994a36 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5249,6 +5249,117 @@ webhooks: - to at: type: number + unstable_diff: + type: object + nullable: true + properties: + components: + items: + type: object + properties: + id: + type: string + locale: + type: string + nullable: true + changeType: + type: string + enum: + - created + - updated + - deleted + required: + - id + - locale + - changeType + type: array + pages: + type: array + items: + type: object + properties: + pageId: + type: string + format: uuid + locale: + type: string + nullable: true + changeType: + type: string + enum: + - created + - updated + - deleted + pathname: + type: string + previousPathname: + type: string + required: + - pageId + - locale + - changeType + - pathname + globalElements: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + locale: + type: string + nullable: true + changeType: + type: string + enum: + - created + - updated + - deleted + required: + - id + - locale + - changeType + swatches: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + changeType: + type: string + enum: + - created + - updated + - deleted + required: + - id + - changeType + typographies: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + changeType: + type: string + enum: + - created + - updated + - deleted + required: + - id + - changeType + required: + - components + - pages + - globalElements + - swatches + - typographies required: - siteId - publish