diff --git a/openapi.yaml b/openapi.yaml index 470815da..2d887947 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -629,6 +629,218 @@ paths: $ref: '#/components/schemas/ForbiddenResponseDto' 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 + 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}': + 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 + 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 @@ -906,7 +1118,222 @@ paths: schema: type: string format: uuid - - name: pageId + - name: pageId + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePageV1RequestBodyDto' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePageV1ResponseBodyDto' + tags: + - Page + get: + operationId: PageController_getOne_v1 + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: pageId + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GetPageV1ResponseBodyDto' + tags: + - Page + delete: + operationId: PageController_delete_v1 + parameters: + - name: siteId + in: path + required: true + schema: + type: string + format: uuid + - name: pageId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: '' + tags: + - Page + '/v0/sites/{siteId}/pages': + get: + operationId: PageController_list_v0 + parameters: + - name: siteId + in: path + required: true + 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.' + required: false + schema: + type: number + default: 20 + maximum: 100 + minimum: 1 + - name: after + in: query + description: 'Cursor for pagination. If provided, returns pages after this ID.' + required: false + schema: + type: string + format: uuid + - name: includeOffline + in: query + description: Include offline pages. Defaults to false. + required: false + schema: + type: boolean + default: false + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListPagesV0ResponseBodyDto' + tags: + - Page + '/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: @@ -917,42 +1344,32 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UpdatePageV1RequestBodyDto' + $ref: '#/components/schemas/UpdatePageTypeBodyDto' responses: '200': description: '' content: application/json: schema: - $ref: '#/components/schemas/UpdatePageV1ResponseBodyDto' - tags: - - Page - get: - operationId: PageController_getOne_v1 - parameters: - - name: siteId - in: path - required: true - schema: - type: string - format: uuid - - name: pageId - in: path - required: true - schema: - type: string - format: uuid - responses: - '200': + $ref: '#/components/schemas/UpdatePageTypeResponseDto' + '403': description: '' content: application/json: schema: - $ref: '#/components/schemas/GetPageV1ResponseBodyDto' + $ref: '#/components/schemas/ForbiddenResponseDto' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundResponseDto' tags: - - Page + - Page Type delete: - operationId: PageController_delete_v1 + operationId: PageTypeController_delete_v0 + summary: Delete Page Type + description: Delete a page type by ID. parameters: - name: siteId in: path @@ -960,7 +1377,7 @@ paths: schema: type: string format: uuid - - name: pageId + - name: pageTypeId in: path required: true schema: @@ -969,11 +1386,30 @@ paths: 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 - '/v0/sites/{siteId}/pages': + - Page Type get: - operationId: PageController_list_v0 + operationId: PageTypeController_get_v0 + summary: Get Page Type + description: Get a page type by ID. parameters: - name: siteId in: path @@ -981,38 +1417,33 @@ paths: schema: type: string format: uuid - - name: limit - in: query - description: 'Maximum number of pages to return. Defaults to 20, maximum is 100.' - required: false - schema: - type: number - default: 20 - maximum: 100 - minimum: 1 - - name: after - in: query - description: 'Cursor for pagination. If provided, returns pages after this ID.' - required: false + - name: pageTypeId + in: path + required: true schema: type: string format: uuid - - name: includeOffline - in: query - description: Include offline pages. Defaults to false. - required: false - schema: - type: boolean - default: false responses: '200': description: '' content: application/json: schema: - $ref: '#/components/schemas/ListPagesV0ResponseBodyDto' + $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 + - Page Type '/v1/sites/{siteId}/locales': post: operationId: SiteLocaleController_create_v1 @@ -2077,11 +2508,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId CreateSiteV2RequestBodyDto: type: object properties: @@ -2148,6 +2583,18 @@ 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 + pageManagementMode: + description: Controls whether pages are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2155,6 +2602,8 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode + - pageManagementMode BadRequestResponseDto: type: object properties: @@ -2208,11 +2657,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId ReadSiteV2ResponseBodyDto: type: object properties: @@ -2249,6 +2702,18 @@ 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 + pageManagementMode: + description: Controls whether pages are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2256,6 +2721,8 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode + - pageManagementMode UpdateSiteV1RequestBodyDto: type: object properties: @@ -2287,11 +2754,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId UpdateSiteV2RequestBodyDto: type: object properties: @@ -2304,6 +2775,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 +2822,18 @@ 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 + pageManagementMode: + description: Controls whether pages are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2348,6 +2841,8 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode + - pageManagementMode ListSiteV1ResponseBodyDto: type: object properties: @@ -2372,11 +2867,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId hasMore: type: boolean required: @@ -2428,6 +2927,18 @@ 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 + pageManagementMode: + description: Controls whether pages are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external required: - object - id @@ -2435,6 +2946,8 @@ components: - hostOrigin - publicApiKey - defaultLocale + - localeManagementMode + - pageManagementMode hasMore: description: The flag that indicates whether there are more sites available. type: boolean @@ -2471,11 +2984,15 @@ components: apiKey: type: string format: uuid + collectionId: + type: string + format: uuid required: - id - name - hostUrl - apiKey + - collectionId DuplicateSiteV2RequestBodyDto: type: object properties: @@ -2485,50 +3002,262 @@ components: example: Hearth Furniture Duplicate required: - name - DuplicateSiteV2ResponseBodyDto: - description: The newly created duplicated site with all content and configuration copied from the original + DuplicateSiteV2ResponseBodyDto: + description: The newly created duplicated site with all content and configuration copied from the original + type: object + properties: + object: + description: The type of the object + type: string + example: site + enum: + - site + id: + type: string + format: uuid + name: + description: The site name. + type: string + example: Hearth Furniture Company + hostOrigin: + description: The public URL where your site is hosted. This is the URL that Makeswift uses to render your site for editing. + type: string + format: uri + example: 'https://hearthfurniture.com' + nullable: true + publicApiKey: + description: The publishable API key that a host can use to get page and component data for rendering your site. + type: string + format: uuid + defaultLocale: + description: The primary locale of this site. + type: string + example: en-US + examples: + - en + - es + - 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 + pageManagementMode: + description: Controls whether pages are managed internally via the builder or externally via API. + type: string + enum: + - internal + - external + required: + - object + - id + - name + - hostOrigin + - publicApiKey + - defaultLocale + - localeManagementMode + - pageManagementMode + 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 + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean + 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 + - isPageTypeRoot + - 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 + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean + 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 + - isPageTypeRoot + - createdAt + - updatedAt + 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 + isPageTypeRoot: + description: Whether this is the root collection for its page type. + type: boolean + 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 + - isPageTypeRoot + - createdAt + - updatedAt + GetCollectionResponseDto: type: object properties: - object: - description: The type of the object - type: string - example: site - enum: - - site id: type: string format: uuid name: - description: The site name. + description: The name of the collection. type: string - example: Hearth Furniture Company - hostOrigin: - description: The public URL where your site is hosted. This is the URL that Makeswift uses to render your site for editing. + parentId: + description: The parent collection ID. type: string - format: uri - example: 'https://hearthfurniture.com' + format: uuid nullable: true - publicApiKey: - description: The publishable API key that a host can use to get page and component data for rendering your site. + pageTypeId: + description: The page type this collection is scoped to. type: string format: uuid - defaultLocale: - description: The primary locale of this site. + 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 - example: en-US - examples: - - en - - es - - fr-FR - - ar-EG - - ja-JP + format: date-time + updatedAt: + description: When the collection was last updated. + type: string + format: date-time required: - - object - id - name - - hostOrigin - - publicApiKey - - defaultLocale + - parentId + - pageTypeId + - isPageTypeRoot + - createdAt + - updatedAt CreatePageV1RequestBodyDto: type: object properties: @@ -2540,6 +3269,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 +3294,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 +3339,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2740,6 +3489,7 @@ components: isOnline: description: The flag that indicates whether the page is online. type: boolean + additionalProperties: false UpdatePageV6ResponseBodyDto: type: object properties: @@ -2861,6 +3611,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 +3629,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 +3674,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2932,6 +3698,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 +3743,8 @@ components: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -2990,10 +3768,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 @@ -3235,6 +4023,162 @@ components: - isOnline - excludedFromSearchEngines - localizations + 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 + slug: + description: Machine-readable identifier for the page type. + type: string + nullable: true + 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 + slug: + description: Machine-readable identifier for the page type. + type: string + nullable: true + 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 + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - slug + - rootCollectionId + - createdAt + - updatedAt + UpdatePageTypeBodyDto: + type: object + properties: + name: + description: The name of the page type. + type: string + minLength: 1 + slug: + description: Machine-readable identifier for the page type. + type: string + nullable: true + 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 + slug: + description: Machine-readable identifier for the page type. + type: string + nullable: true + 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 + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - slug + - rootCollectionId + - createdAt + - updatedAt + ConflictResponseDto: + type: object + properties: + object: + type: string + enum: + - error + code: + type: string + enum: + - conflict + message: + type: string + required: + - object + - code + - message + 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 + slug: + description: Machine-readable identifier for the page type. + type: string + nullable: true + 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 + format: date-time + updatedAt: + description: When the page type was last updated. + type: string + format: date-time + required: + - id + - name + - isExternal + - slug + - rootCollectionId + - createdAt + - updatedAt CreateSiteLocaleV1RequestBodyDto: type: object properties: @@ -3334,40 +4278,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: - object: - type: string - enum: - - error - code: - type: string - enum: - - conflict - message: - type: string - required: - - object - - code - - message ListSiteLocaleV2ResponseBodyDto: type: object properties: @@ -3475,6 +4385,7 @@ components: type: string format: uri example: 'https://hearthfurniture.com.mx' + nullable: true UpdateSiteLocaleV1ResponseBodyDto: type: object properties: @@ -3512,6 +4423,8 @@ components: type: string format: uri example: 'https://hearthfurniture.com.mx' + nullable: true + additionalProperties: false UpdateSiteLocaleV2ResponseBodyDto: type: object properties: @@ -3817,6 +4730,7 @@ components: description: The route pathname. type: string example: /furniture + additionalProperties: false UpdateSiteRouteV2ResponseBodyDto: description: The route. type: object @@ -3996,6 +4910,10 @@ tags: description: '' - name: Page description: '' + - name: Page Type + description: '' + - name: Collection + description: '' - name: Webhook Management description: '' security: @@ -4028,6 +4946,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 +4991,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4104,6 +5034,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 +5079,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4180,6 +5122,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 +5167,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4256,6 +5210,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 +5255,8 @@ webhooks: - id - pathname - name + - pageTypeId + - collectionId - seoCanonicalUrl - seoIsIndexingBlocked - seoSitemapPriority @@ -4339,6 +5305,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